Osvětlení v kurníku
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
Osvětlení v kurníku
Dobrý den všem,
prosím o pomoc s časováním v kurníku. Jsem začátečník, tudíž mé programátorské zkušenosti jsou mizerné. V příloze je schéma. Potřeboval bych prosím Vás LEDku (pin 11) rozsvítit ráno (když bude hodnota na vstupu A0) třeba 550. Hodnotu si upravím potom, až budu mít vše zapojené podle světla ve skutečnosti. Jedná se mi o to, že hodnota jde od 6 do nějakých 679. Když je tma je 6, světlo 679. To vše je na simulaci, v reálu to bude nejspíš jiné. Potřebuji, když se bude rozednívat a hodnota bude těch 550, aby se zapnulo časování (LED se rozsvítí dokud hodnota nebude 600 - poté se otevřou dvířka a LED zhasne). Jakmile se setmí třeba na hodnotu 300 LED se rozsvítí a bude svítit do nastavené doby. Chtěl bych docílit toho, aby slepice měly třeba 14 hodin světla. Délka denního světla se ale v průběhu roku mění a já nechci přes léto svítit třeba 4 hodiny zbytečně (LED mám jen na simulaci - bude tam žárovka). Zkoušel jsem delay, s tím jsem samozřejmě nepochodil, tak jsem studoval millis, ale nepodařilo se mi to do programu zakomponovat tak, aby to fungovalo. Prosím Vás o radu, popřípadě o úpravu programu. Snažím se na to přijít už měsíc, ale marně. Moc děkuji za pomoc.
prosím o pomoc s časováním v kurníku. Jsem začátečník, tudíž mé programátorské zkušenosti jsou mizerné. V příloze je schéma. Potřeboval bych prosím Vás LEDku (pin 11) rozsvítit ráno (když bude hodnota na vstupu A0) třeba 550. Hodnotu si upravím potom, až budu mít vše zapojené podle světla ve skutečnosti. Jedná se mi o to, že hodnota jde od 6 do nějakých 679. Když je tma je 6, světlo 679. To vše je na simulaci, v reálu to bude nejspíš jiné. Potřebuji, když se bude rozednívat a hodnota bude těch 550, aby se zapnulo časování (LED se rozsvítí dokud hodnota nebude 600 - poté se otevřou dvířka a LED zhasne). Jakmile se setmí třeba na hodnotu 300 LED se rozsvítí a bude svítit do nastavené doby. Chtěl bych docílit toho, aby slepice měly třeba 14 hodin světla. Délka denního světla se ale v průběhu roku mění a já nechci přes léto svítit třeba 4 hodiny zbytečně (LED mám jen na simulaci - bude tam žárovka). Zkoušel jsem delay, s tím jsem samozřejmě nepochodil, tak jsem studoval millis, ale nepodařilo se mi to do programu zakomponovat tak, aby to fungovalo. Prosím Vás o radu, popřípadě o úpravu programu. Snažím se na to přijít už měsíc, ale marně. Moc děkuji za pomoc.
- Přílohy
-
- program.txt
- (899 bajtů) Staženo 153 x
- pavel1tu
- Příspěvky: 2054
- Registrován: 26 říj 2017, 08:28
- Reputation: 0
- Bydliště: Trutnov
- Kontaktovat uživatele:
Re: Osvětlení v kurníku
Co tam za pár korun přidat modul přesného času a můžeš svítit od-do +
to pak ještě podmínit tím že se venku setmělo.
program jsem zatím nezkoumal
to pak ještě podmínit tím že se venku setmělo.
program jsem zatím nezkoumal
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
- pavel1tu
- Příspěvky: 2054
- Registrován: 26 říj 2017, 08:28
- Reputation: 0
- Bydliště: Trutnov
- Kontaktovat uživatele:
Re: Osvětlení v kurníku
Funkci ještě netestuji ale co takhle "zpřehlednit" kod
Je zbytečné definovat vstupy a výstupy přes proměnnou - zbytečně mrháš pamětí (i když zde je to jedno - malý projekt)
V programu je zbytečné dokola vyčítat hodnotu z odporu
vyčteme jijen jednou a pak používáme z proměnné
asi je i zbytečné aby program běhal takto rychle, ale zatím to ponechám
opět netestuji funkci, ale s dětmi na kroužku ti "češeme" kod
Je zbytečné definovat vstupy a výstupy přes proměnnou - zbytečně mrháš pamětí (i když zde je to jedno - malý projekt)
Kód: Vybrat vše
#define odpor A0 //snimac svetla
#define rele1 13 //rele pro otevreni
#define rele2 12 //rele pro zavreni
#define led 11 //led
int svetlo; //vyctena hodnota z fotorezistoru
void setup(){
pinMode (odpor, INPUT);
Serial.begin(9600);
pinMode (rele1, OUTPUT);
digitalWrite(rele1, LOW);
pinMode (led, OUTPUT);
}
vyčteme jijen jednou a pak používáme z proměnné
asi je i zbytečné aby program běhal takto rychle, ale zatím to ponechám
opět netestuji funkci, ale s dětmi na kroužku ti "češeme" kod
Kód: Vybrat vše
void loop(){
svetlo = analogRead(odpor); //vycteme intenzitu svetla
Serial.println(svetlo);
if(svetlo >= 550 && svetlo <= 600){
digitalWrite(led, HIGH);
}
else digitalWrite(led, LOW);
if (svetlo <= 300) digitalWrite(led, HIGH);
if(svetlo >= 600){
digitalWrite(rele1, HIGH);
//delay(12000);
//digitalWrite(rele1, LOW);
}
else digitalWrite(rele1, LOW);
if(svetlo <= 250){
digitalWrite(rele1, LOW); //servo zavírá pri 250
}
else digitalWrite(rele1, HIGH);
}
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
- pavel1tu
- Příspěvky: 2054
- Registrován: 26 říj 2017, 08:28
- Reputation: 0
- Bydliště: Trutnov
- Kontaktovat uživatele:
Re: Osvětlení v kurníku
Asi tam někde chybí to rele2 pro zavření kurníku,
ale neupravoval jsem funkci - nechápu jak to má fungovat.
Chápu to tak správně ?
- 0-250 - je noc - relé zavře kurník (co když tam ale někdo zasvítí autem, nebo baterkou, kolik dá měsíc při úplňku ?
- více jak 600 - den - otevřít kurník
PS: já bych otvírání opravdu podložil časovým modulem - jednou mu na stole nastavíš čas a roky ti poběží +- pár minut
- 550-600 - štmívá se - začínáme svítit slepicím (aby tam chudinky neměly disko, když půjde mrak, asi bych hodnotu odporu vyčítal třeb ajednou za 5 minut)
- méně jak 300 - svítíme - to bude svítit celou noc ?
PS: pokud se chceš vyhnout tomu časovému modulu (hodnoty nastřeluji - musí ze změřit))
- je nutné přidat proměnné "noc" a "den"
- noc - už je den a hodnota hlesne na 5 minut na méně než 200 - zhasneme, za 15 minut zavřeme kurník (vycházím z násobku 5min, tak bych cykloval běh programu - po 5 minutách)
- den - je noc a hodnota stoupne na 5 minut nad 250, - otevřeme kurník nebo později ? rozvítíme?
- už je den a dostatek světla - hodnota nad 600 - zhasneme světlo
- už je den a nedostatek světla - hodnota klesne na 5 minut pod 600 - rozvítíme světla
uff snad jsem se do toho nezamotal
ale neupravoval jsem funkci - nechápu jak to má fungovat.
Chápu to tak správně ?
- 0-250 - je noc - relé zavře kurník (co když tam ale někdo zasvítí autem, nebo baterkou, kolik dá měsíc při úplňku ?
- více jak 600 - den - otevřít kurník
PS: já bych otvírání opravdu podložil časovým modulem - jednou mu na stole nastavíš čas a roky ti poběží +- pár minut
- 550-600 - štmívá se - začínáme svítit slepicím (aby tam chudinky neměly disko, když půjde mrak, asi bych hodnotu odporu vyčítal třeb ajednou za 5 minut)
- méně jak 300 - svítíme - to bude svítit celou noc ?
PS: pokud se chceš vyhnout tomu časovému modulu (hodnoty nastřeluji - musí ze změřit))
- je nutné přidat proměnné "noc" a "den"
- noc - už je den a hodnota hlesne na 5 minut na méně než 200 - zhasneme, za 15 minut zavřeme kurník (vycházím z násobku 5min, tak bych cykloval běh programu - po 5 minutách)
- den - je noc a hodnota stoupne na 5 minut nad 250, - otevřeme kurník nebo později ? rozvítíme?
- už je den a dostatek světla - hodnota nad 600 - zhasneme světlo
- už je den a nedostatek světla - hodnota klesne na 5 minut pod 600 - rozvítíme světla
uff snad jsem se do toho nezamotal
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Re: Osvětlení v kurníku
Kam vlastně příjde ten optorezistor? Je opravdu dobré se zamyslet nad tím, co všechno ho bude ovlivňovat. Řídit všechno jen na základě světelných podmínek, mno nevím, opravdu se bojím diskotéky. Já bych taky doporučil cestu modulu reálného času. Bacha co tam dáváš za baterku (některé chcou pouze dobíjecí). Pamatuje si čas i při výpadku arduina. A asi bych šel metodou od kdy do kdy svítit ... a čas zapnutí a vypnutí bych korigoval podle datumu ... tím pádem optorezisor vypustil úplně.
Re: Osvětlení v kurníku
Slepice vstávají a chodí spát podle světelných podmínek a ty se během roku dost zásadně mění. Takže bych to řešil právě přes fotorezistor a aby to nebyla diskotéka, snímal bych např. v pravidelných časových intervalech. Možností je více. Ale určitě ne přes RTC.
Re: Osvětlení v kurníku
Omlouvám se za příspěvek trochu mimo, ale jestli budeš automatizovat časem víc (nezůstane u slepic), budeš možná potřebovat nadřazený systém. Já používám (trochu, stále buduji) domoticz. Má hezké možnosti časování. Například si můžeš určit (naklikat), že akce proběhne před svítáním, po svítání, či setmění. Domoticz zná svou polohu a tak ví v kolik zrovna dnes slunce vyjde a zapadne.
- pavel1tu
- Příspěvky: 2054
- Registrován: 26 říj 2017, 08:28
- Reputation: 0
- Bydliště: Trutnov
- Kontaktovat uživatele:
Re: Osvětlení v kurníku
Tak děti na kroužku "slepičky" zaujaly,
pokud na to moc nespěcháš, nějaký základ ti pomůžeme dát dohromady.
Jen si to chce ujasnit jak přesně to má fungovat, posbírat info i od ostatních - každý má na řešení problému jiný pohled což je výhoda.
pokud na to moc nespěcháš, nějaký základ ti pomůžeme dát dohromady.
Jen si to chce ujasnit jak přesně to má fungovat, posbírat info i od ostatních - každý má na řešení problému jiný pohled což je výhoda.
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Re: Osvětlení v kurníku
Moc Vám všem děkuji za pomoc. Rele2 potom použiji na zavírání. Momentálně je to otevírání i zavírání přes jedno relátko (kvůli simulaci). Potom použiji relé modul. Co se týče optorezistoru a světel z aut, v tom by neměl být problém. Bydlíme úplně na samotě a nemyslím si, že by hrozilo nějaké osvícení. I když nápad s těmi pěti minuty je výborný. Samotný program na otevírání a zavírání není pro mě problém udělat, ale přidat do toho to časování je neřešitelné.
Re: Osvětlení v kurníku
Tak me slepice to maji take automatizovane.
Ten fotoodpor tam mam take.
Kdysi jsem to měl podle času a každy měsic musel měnit.
Ovladaní motorku takto.
https://navody.arduino-shop.cz/techniku ... otoru.html
Na každem červenem koncak - přepinací.
Po přepnutí kontrolují, zda jsou zavřene a pokud ne pošle email.
Ted zkoušim APDS-9960 na počitaní slepic, ale vždy to posmoli kočka.
Když jde baba do kurniku, tak jde sní dveřma, ale ven už dviřkama pro holky
Ten fotoodpor tam mam take.
Kdysi jsem to měl podle času a každy měsic musel měnit.
Ovladaní motorku takto.
https://navody.arduino-shop.cz/techniku ... otoru.html
Na každem červenem koncak - přepinací.
Po přepnutí kontrolují, zda jsou zavřene a pokud ne pošle email.
Ted zkoušim APDS-9960 na počitaní slepic, ale vždy to posmoli kočka.
Když jde baba do kurniku, tak jde sní dveřma, ale ven už dviřkama pro holky