Osvětlení v kurníku

Nedaří se vám s projektem a nenašli jste vhodné místo, kde se zeptat? Napište sem.
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.
mstolar84
Příspěvky: 2
Registrován: 14 říj 2019, 10:13
Reputation: 0

Osvětlení v kurníku

Příspěvek od mstolar84 » 14 říj 2019, 11:49

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.
Přílohy
program.txt
(899 bajtů) Staženo 153 x
schema.JPG

Uživatelský avatar
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

Příspěvek od pavel1tu » 14 říj 2019, 12:23

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
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Uživatelský avatar
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

Příspěvek od pavel1tu » 14 říj 2019, 16:41

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)

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);	
}
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

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"

Uživatelský avatar
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

Příspěvek od pavel1tu » 14 říj 2019, 17:05

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
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

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

Re: Osvětlení v kurníku

Příspěvek od kiRRow » 14 říj 2019, 18:24

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ě.

Axamith
Příspěvky: 530
Registrován: 09 srp 2017, 08:17
Reputation: 0
Kontaktovat uživatele:

Re: Osvětlení v kurníku

Příspěvek od Axamith » 14 říj 2019, 19:04

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.

Hafajs
Příspěvky: 151
Registrován: 10 bře 2019, 10:19
Reputation: 0

Re: Osvětlení v kurníku

Příspěvek od Hafajs » 14 říj 2019, 19:34

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.

Uživatelský avatar
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

Příspěvek od pavel1tu » 15 říj 2019, 07:01

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.
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

mstolar84
Příspěvky: 2
Registrován: 14 říj 2019, 10:13
Reputation: 0

Re: Osvětlení v kurníku

Příspěvek od mstolar84 » 15 říj 2019, 08:10

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é.

Le-Ze
Příspěvky: 201
Registrován: 24 črc 2017, 08:15
Reputation: 0

Re: Osvětlení v kurníku

Příspěvek od Le-Ze » 16 říj 2019, 11:39

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 :(

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: kiRRow, luger a 27 hostů