Zase kurník

Dadasys
Příspěvky: 18
Registrován: 17 dub 2020, 14:52
Reputation: 0

Zase kurník

Příspěvek od Dadasys » 17 dub 2020, 16:46

Zdravím vespolek,
nenašel by se někdo trpělivý, kdo by mi pomohl se sestavením ovládání automatických dvířek kurníku? Mám na stole arduino uno, 12V dc motorek, L298, fotoresistor, dva hallovy snímače jako koncáky, adaptér 12V a bateriový box 9V.
Pro jistotu popíšu, o co mi jde. Představa je jednoduchá, po východu slunce motor vytáhne dvířka k hornímu dorazu a nějakou dobu po setmění je spustí zase dolů..
Pro někoho znalého to asi bude brnkačka, ale pro mě, tímto oborem absolutně nepolíbeného, je to nadlidský úkol..
Díky za náměty David

Odesláno z mého Lenovo P2a42 pomocí Tapatalk


Dadasys
Příspěvky: 18
Registrován: 17 dub 2020, 14:52
Reputation: 0

Re: Zase kurník

Příspěvek od Dadasys » 17 dub 2020, 19:16

to Pettr.. nejde odpovědět an SZ.. díky, tohle řešení mám taky v merku. zkouším to z toho co mám koupené, pokud to bude zlobit, udělám změnu. D

Dadasys
Příspěvky: 18
Registrován: 17 dub 2020, 14:52
Reputation: 0

Re: Zase kurník

Příspěvek od Dadasys » 18 dub 2020, 22:29

to Pettr : Tak jsem přeci jen doobjednal ty hodiny.. Dáme to tedy nějak dokupy?

Dadasys
Příspěvky: 18
Registrován: 17 dub 2020, 14:52
Reputation: 0

Re: Zase kurník

Příspěvek od Dadasys » 19 dub 2020, 13:15

..zkusim ještě jeden konkrétnější dotaz. Objevil jsem podobné řešení, jen bych potřeboval poradit, jak zapojit místo dveřních magnetů hall snímače a pomoct upravit kód.
Kdyby na to někdo někdo mrknul, budu mu velmi vděčný.. D

Kód: Vybrat vše

// Chicken Coop Code 22/08/2017

// darkthreshold 20 This has nothing to do with controlling the darkness setting
//daythreshold = 400
// Define pins & variables

const int EnMotorPin = 9;          // enable motor  - pin 9  PWM
const int CloseDoorPin = 8;  // direction close motor - pin 8
const int OpenDoorPin = 7;   // direction open motor  - pin 7

const int photocellPin = A0;                 // photocell connected to analog 0
int photocellVal;             // analog reading of the photocel
bool daylight = true; // daylight status
int darkthreshold = 20;
int daythreshold = 400;  // sets hysteresis limits to stop door jittering

int systemState = 0;
int SPEED = 220;

// Reed switches top and bottom of coop door

int bottomSwitchPin = 2;
int topSwitchPin = 4;
bool topSwitchState; // true if door is up
bool bottomSwitchState; // true if door is down
void setup() {

  Serial.begin(9600);
  pinMode(bottomSwitchPin, INPUT);
  pinMode(topSwitchPin, INPUT);
  pinMode(EnMotorPin, OUTPUT);
  pinMode(CloseDoorPin, OUTPUT);
  pinMode(OpenDoorPin, OUTPUT);
}

void loop() {
  systemState = 0;
  photocellVal = analogRead(photocellPin); // read inputs
  if (photocellVal > daythreshold)
  {
    daylight = true;
  }
  if (photocellVal < darkthreshold)
  {
    daylight = false;
  }
  topSwitchState = digitalRead(topSwitchPin);
  bottomSwitchState = digitalRead(bottomSwitchPin);
  //  read system status
  if (daylight == true && topSwitchState == true)
  {
    systemState = 0;   // motor stop
  }
  if (daylight == true && topSwitchState == false)
  {
    systemState = 1;  // drive door up
  }
  if (daylight == false && bottomSwitchState == true)
  {
    systemState = 0;    // motor stop
  }
  if (daylight == false && bottomSwitchState == false)
  {
    systemState = 2;  // drive door down
  }
  DispVals();
  switch (systemState) {
    case 0: // motor stop
      digitalWrite(CloseDoorPin, LOW);
      digitalWrite(OpenDoorPin, LOW);
      analogWrite(EnMotorPin, 0);
      break;
    case 1:  //drive door up
      digitalWrite(CloseDoorPin, LOW);
      digitalWrite(OpenDoorPin, HIGH);
      analogWrite(EnMotorPin, SPEED);
      break;
    case 2:  // drive door down
      digitalWrite(CloseDoorPin, HIGH);
      digitalWrite(OpenDoorPin, LOW);
      analogWrite(EnMotorPin, SPEED);
      break;
    default:
      digitalWrite(CloseDoorPin, LOW);
      digitalWrite(OpenDoorPin, LOW);
      analogWrite(EnMotorPin, 0);
      break;
  }
}

void DispVals()
{
  Serial.print("topSW ");
  Serial.print(topSwitchState);
  Serial.print("\t");
  Serial.print("botSW ");
  Serial.print(bottomSwitchState);
  Serial.print("\t");
  Serial.print("PhotoVal ");
  Serial.print(photocellVal);
  Serial.print("\t");
  Serial.print("daylight ");
  Serial.print(daylight);
  Serial.print("\t");
  Serial.print("systemState ");
  Serial.print(systemState);
  Serial.print("\t");
  if (systemState == 0)
  {
    Serial.println("\t door stopped");
  }
  if (systemState == 1)
  {
    Serial.println("\t door driving up");
  }
  if (systemState == 2)
  {
    Serial.println("\t door driving down");
  }
}
CCsketch.JPG

ArduXPP
Příspěvky: 361
Registrován: 14 pro 2017, 19:31
Reputation: 0
Kontaktovat uživatele:

Re: Zase kurník

Příspěvek od ArduXPP » 19 dub 2020, 15:09

Ty sensory na dveře mají magnet + hall snímač, a dle toho se vyhodnotí, jestli jsou dveře otevřené nebo zavřené.

Dadasys
Příspěvky: 18
Registrován: 17 dub 2020, 14:52
Reputation: 0

Re: Zase kurník

Příspěvek od Dadasys » 19 dub 2020, 15:15

Vedou z nich dva drátky, hall senzor má tři fousu, takze nevim, kam s nimi..

Odesláno z mého Lenovo P2a42 pomocí Tapatalk


Uživatelský avatar
kiRRow
Příspěvky: 1152
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Zase kurník

Příspěvek od kiRRow » 19 dub 2020, 15:23

jeden je napájení, jeden zem a jeden výstup ... který je který se dá dohledat podle typu toho senzoru

Dadasys
Příspěvky: 18
Registrován: 17 dub 2020, 14:52
Reputation: 0

Re: Zase kurník

Příspěvek od Dadasys » 19 dub 2020, 15:28

To není problém dohledat, ale co s tím dál, je nad mé schopnosti

Odesláno z mého Lenovo P2a42 pomocí Tapatalk


Dadasys
Příspěvky: 18
Registrován: 17 dub 2020, 14:52
Reputation: 0

Re: Zase kurník

Příspěvek od Dadasys » 20 dub 2020, 19:56

Tak jsem to po bohaté diskusi rozchodil..

Odesláno z mého Lenovo P2a42 pomocí Tapatalk


Uživatelský avatar
kiRRow
Příspěvky: 1152
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Zase kurník

Příspěvek od kiRRow » 20 dub 2020, 20:47

Vsadím se že jak si dohledal co je co, tak tě trklo jak na to dál ... a nebo alespoň co hledat dál. :) ..... no a nemá pak člověk větší radost ? :D

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 17 hostů