In articolul Sistem de automatizare incubator oua am pus si varianta asta, pentru cei ce cunosc acel articol. Versiunea actuala are un modul RTC (ceas cu DS3231 sau DS1307) pentru a nu pierde numaratoarea inversa pana la terminarea perioadei de incubare.
M-am gandit sa descriu mai bine ultima versiune, care are urmatoarele facilitati, incluzandu-le si pe cele ale versiunii initiale, ce sunt vazute daca se apasa lung (3-4 secunde) pe butonul de MENIU/NEXT, valorile se schimba prin apasarea tastelor + sau -.
- reglaj temperatura dorita
- reglaj diferenta acceptata de temperatura
- reglaj umiditate dorita
- reglaj diferenta acceptata de umiditate
- timp intre rotire oua
- timp rotire oua
- prag atentionare depasire sau scadere temperatura
- prag atentionare depasire sau scadere umiditate
- total zile de incubare
- dupa a cata zi de la pornire sa se roteassca prima data oualele
- dupa a cata zi de la pornire sa se opreasca rotirea oualelor
- pornire si oprire sistem de incubare
Daca sistemul este oprit, se indica doar temperatura si umiditatea, fara a a avea activate iesirile.
Daca sistemul este pornit, sunt indicate temperatura si umiditatea, timpul ramas pana la terminarea incubarii (ca exemplu aici am pus 21 zile, cum e la oualele de gaina).
Abia dupa trecerea numarului de zile se arata timpul pana la urmatoarea rotire... pentru asta in program am o variabila debug ce e false sau true pentru a putea verifica mai rapid functionarea, deoarece reduce timpul dintre intoarceri oua de la nivel de ore la cel de minute, respectiv zilele la minute pentru a simula trecerea mai rapida a orelor.
iar daca a trecut timpul, sa roteasca intr-un sens oualele (led rosu aprins, led verde stins, cele din dreapta)
iar la urmatoarea data in sens opus (led verde aprins, led rosu stins, cele din dreapta)
Daca temperatura este prea scazuta, se comanda alimentarea unei rezistente de incalzire, care este simultata cu ledul galben. Daca umiditatea este prea ridicata se comanda un electrovalva sa un alt sistem pentru a se deschide o "ferestruica" pentru a reduce umiditatea, aceasta electrovalva este simulata de ledul vede de langa cel galben. Ledul rosu din stanga indica o eroare (depasire pagruri impuse) si la acea iesire se pune un avertizor acustiv activ sau o sonerie simpla ce se poate alimenta de la 5V fara a consuma prea mult.In acelasi timp, pe ecran in fata temperaturii si/sau umiditatii apar stelute, pentru a indica depasirea. daca se apasa oricare din butoanele fara retinere + sau - se opreste avertizarea, dar raman stelutele pe ecran pana eroarea dispare.
Am facut 2 filmulete, cu setarea de simulare (trecere rapida timp):
- cu comentarii in romana
Partea de comanda a rezistentei de incalzire se poate face cu releu sau mai bine cu optocuplor si triac.
respectiv
Comanda electrovalvei de evacuare umiditate poate fi facuta cu un releu.
Comanda motorului de curent continuu se face cu o punte H realizata:
- cu relee (cum am prezentat in articolul Sistem de comanda automata sau manuala sens rotatie motor de c.c.
sau
- cu L298 (cum este prezentat in articolul Scurta prezentare si testare a unui modul de comanda motoare cu L298)
Numarul de zile de incubare se face in functie de tipul speciei:
iar prima zi de intoarcere sa fie a 3-a, iar ultima de rotire cu 3 zile inainte.
Astept comentarii si rezultate ale testelor voastre, pentru eliminarea eventualeor bug-uri (erori). De asemenea, comentariile tendentiose, cu jigniri se vor sterge, avand in vedere ca acest proiect a fost dezvoltat fara a obtine beneficii materiale, iar firme sau persoane din Indonezia deja comercializeaza versiunea initiala, fara a ma anunta macar. Proiectul e open source, dar asta inseamna sa il dezvoltati singuri, nu sa ma stresati pe mine... nici eu nu-s programator, dar invat singur, testez... si mai e si timpul liber limitat, care observ ca nu va intereseaza deloc...
13.04.2020
Pentru cei cu motor de cuptor de microunde, cu o singura iesire, se face o modificare simpla:
pentru a avea iesirea in 1 logic doar pe iesirea MOT_A, cand trebuie rotite oualele.
Pentru a NU reseta cronometrul, daca se umbla in meniu, nu trebuie sa se ajunga la ultima selectie de pornire/oprie incubator. Se modifica parametrii necesari si s lasa sa iasa singur sistemul din programare parametrii (in 60 secunde de la intrarea in meniu, prin apasare lunga buton).
01.05.2020
Deoarece acest proiect pare ca are ceva succes, vreau sa imi trimiteti pe adresa de email poze cu incubatorul (partea de comanda) realizat de dvs, pe care sa le postez (sa imi scrieti si cum vreti sa va prezint). Daca sunt suficiente proiecte reale, o sa continui dezvoltarea softului, relativ repede, daca nu, cand o sa imi mai aduc aminte de el..
05.08.2020
Am primit doar de la Hassan ITNAHC (gamstair) poze cu incubatorul sau:
Am modificat programul pentru a se folosi un senzor LM35 conectat la pinul A3, cum a fost prezentat in articolul Senzorul de temperatura LM35 si Arduino
Programul modificat este eggincubator_2d.ino.
03.03.2024
Anul trecut, prin noiembrie, am primit niste poze niste poze cu un incubator realizat in Cehia, Frantisek Mikulcikovi
Salut Nea Nicu, felicitari pt realizarile dumneavoastra si va mai multumim ca v-ati gandit la noi cei care am facut acest proiect de la inceput si nu la cei de afara care plagiaza :)
RăspundețiȘtergereDaca nu va suparati, as mai avea doua sugestii, ( desi spuneti destul de clar, ca fiecare sa dezvolte acest proiect dupa dorinte, eu doar va sugerez, dumneavoastra decideti ).
-1 La ziua 18( ziua sfarsit de rotit ouale ) sa avem un buzer semnal acustic pt a ne atentiona, sa va spun si de ce. Daca ouale sunt in cofrag, acel cofrag trebuie indepartat si ouale se aseaza pe gratar.
-2 La umiditate scazuta ar fi binevenita o comanda pt o mini pompa de apa care sa introduca o mica cantitate de apa dintr-un rezervor. Asta in cazul in care nu vom fi acasa.
Si ar mai fi o rugaminte personala, pt rotire oua folosesc un motoras care era folosit la platanul cuptorului cu microwawe, este posibil sa lasati in sketch si vechea comanda pt acest motor?
Inca odata, multumim frumos pt imbunatatirea acestui proiect si mai ales pt timpul alocat.
Doamne ajuta!
legat de ultima rotire, o sa incerc sa implementez si acel sunet de avertizare la sfarsitul perioadei de rotire, sa configurez programul sa se poata folosi si vechea comanda, dar cum e acum, se pot pune 2 diode 1N4001 si la iesirea lor se va da comanda la fiecare data.. o sa vad cum pun si comanda pompei de apa
ȘtergereNea Nicu ce va mai spun? stiti vb aia romaneasca, mare boier mare caracter! asta sunteti dumneavoastra care ne bucurati inimile. Pe acest pamant sunt miliarde de oameni insa din pacate ca dumneavoastra 1 la mie.
ȘtergereNu am cuvinte sa va multumesc pt ca ceea ce faceti ne impartasiti si noua.
Dumnezeu sa va ajute!
Sa testat treaba cu cele doua diode 1N4007 si este in regula. Ar mai trebui putin umblat la intrarea iesirea din meniu. Pt cine nu stie, daca se navigheaza prin meniu cand acesta este pus la treaba, nu trebuie ajuns cu meniul la capat pt ca se reseteaza ceasul. Buzzerul este deranjant pt ca piuie continuu, va rog puneti un delay ceva ( sunet intermitent ).
RăspundețiȘtergereConsider foarte utile acele functii descrise la punctul 1 si 2 mai sus pe blog.
Felicitari pt proiect si munca depusa.
momentan notez observatiile... puneti scotch pe buzer, daca va deranjeaza.. spasati plus sau minus si tace...
RăspundețiȘtergerehello
RăspundețiȘtergereigot this error pls help
Arduino: 1.8.12 (Windows 7), Board: "Arduino Uno"
In file included from C:\Users\moth\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.cpp:15:0:
C:\Users\moth\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.h:36:10: fatal error: Adafruit_Sensor.h: No such file or directory
#include
^~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Error compiling for board Arduino Uno.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
in sketch after command is link to download the library
Ștergere#include "DHT.h" // https://github.com/tehniq3/used_library (DHT)
Ștergerethnx i fix it
RăspundețiȘtergereyou are very generous
i will try it and tell you the results
Buna seara,
RăspundețiȘtergereeste posibil sa mariti putin timpul rotire oua din 10sec la un 20-30 sec ? am un motor mai lenes :))
Multumiri.
linia 781 e asa if (taim2 > 10) taim2 = 10; unde 10 reprezinta secundele puteti pune pana la maxim 254
ȘtergereSa traiti si multumesc pt solutia timp motor.
RăspundețiȘtergerePrecizez ca am pus proiectul in probe de acum 10 zile
si totul functioneaza normal.
Multumesc pt proiectul frumos pe care-l oferiti pt noi,
si sunt nerabdator sa-l vad la final avand comanda pt
servo la fereastra pt evacuare exces de umiditate, alimentarea
cu apa cand nivelul umiditate scade si ce mai credeti ca este cazul
de adaugat.
Sanatate va doresc.
Din pacate, acest proiect nu reprezinta o prioritate pentru mine, acum e inca in teste sa vad cum face pana la sfarsit (test cu reglare de 21 zile)... o sa incerc sa impementez toate aceste "facilitati", cand gasesc timp si pentru el. Trebuie sa va ganditi ca un amarat de incubator de oua, care functioneaza foarte bine, in comert este la cca 100lei, incluzand sistemul de termostatare, sistem de rotire oua (manual, ce-i drept)... acesta costa mult mai mult, dar daca nu se implica si altcineva cu programarea, o sa ma "tocati" pe mine la cap cu tot felul de vise... calm, o sa fac cand pot si cand am dispozitie... am pierdut zeci de ore la ultima versiune.. ca era un mic concediu si a trebuit sa stau in casa, cu covid-ul... dar asta nu inseamna ca o sa fac tot asa... notez, ce se doreste si fac apoi o selectie cu ce implementez...
Ștergerei love you man
RăspundețiȘtergereyou helped us alot
thank you so much
i hope you a good life
😊😊😊🌻🌼🌷
how can i change code to see temperature on classic screen like this
RăspundețiȘtergere24.1
24.2
24.3
24.5
...........
I don't understand what you want to do.. temperature is displayed as 24.5...
ȘtergereI want to increase the accuracy of the measurement shown on the screen
RăspundețiȘtergereThe number after the comma
line 65 is now:
Ștergereint resolution = 11 ; // for more precission put 12
On the screen it appears only one and a half degrees and does not appear with the accuracy that we choose in the settings
RăspundețiȘtergereI know I have more than just requests, but I am very happy with this project and very happy to have a decent person like you
put resolution = 11 or 12...
Ștergerethx for your remark...
ȘtergereThank you
RăspundețiȘtergereI wish you the best life
Hi sir , when i try to enter the code to arduino i get this message:
RăspundețiȘtergereno matching function for call to 'LiquidCrystal_I2C::begin()'
i already downloaded all the library , how i can fix this thank you sir.
use libraries with link in dketch... please see the sketch
Ștergerethank you very much , i changed begin() with lcd.init() and worked ,
Ștergerehello, i have this error...please help
RăspundețiȘtergereArduino: 1.8.5 (Windows 10), Board: "Arduino/Genuino Uno"
In file included from C:\Users\E5\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.cpp:15:0:
C:\Users\E5\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.h:36:29: fatal error: Adafruit_Sensor.h: No such file or directory
#include
^
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Uno.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
thank you
library from github link is already installed
Ștergereok, use library from https://github.com/tehniq3/used_library
Ștergerehi sir , i build the project it works very good thank you , but when i connect relay after a while the arduino freeze and lcd too .
RăspundețiȘtergereyou connected the diode in parallel with coil of the relay ? also, you must use another power supply for motor
Ștergerei connected the diode in parallel with relay and powered the motor form another source , also powered the relay with separate supply , everything work great but when i connect 220 v to relay to test the bulb my arduino freeze after couples of relay switch, please give me solution because i invested a lot in this project and build a big incubator all i need is the control to work , thank you very much for your time.
Ștergerei solved the problem , i changed the relay with solid state relay that help me eliminate Electromagnetic radiation (EMR).
Ștergerei connected the diode in parallel with relay and powered the motor form another source, also powered the relay with separate supply, everything work great but when i connect 220 v to relay to test the bulb my arduino freeze after couples of relay switch, please give me solution because i invested a lot in this project and build a big incubator all i need is the control to work, thank you very much for your time.
RăspundețiȘtergerei solved the problem , i changed the relay with solid state relay that help me eliminate Electromagnetic radiation (EMR).
RăspundețiȘtergeregood news
Ștergerethank you sir
ȘtergereSir , i want to ask, is it good to add watchdog timer to the code so the program will reset if the code hang or the Watchdog Timer is not needed in the application , plz give me your advice because i don't want the code to hang and that will led to burn or cold eggs , thank you .
RăspundețiȘtergerehttps://www.google.com/amp/s/circuits4you.com/2018/01/24/tutorial-on-arduino-watchdog-timer-setup/amp/
Ștergerethank you very much sir .
Ștergerehi sir , i build the project it works very good thank you I want to adjust the egg rotation time because it reduces the time between egg retrieval from hours to minutes, respectively from days to minutes to simulate the passage of hours faster.
RăspundețiȘtergereyou can set variable debug = true to reduce time between spins like in video
Ștergerethank you sir
ȘtergereSalute sir,
RăspundețiȘtergereMay this schem work with 16×2 LCD display. I tried it many time..
Error shows.. LCD.begin() is error.
In display box shows
" no matching function for call to ' LiquidCrystal::begin()' please help sir...
Thanks lot.....
in sketch is link to used library, but you can change this line with lcd.init();
Ștergere2,16 yaz içerisine
ȘtergereSalute sir,
RăspundețiȘtergereMay this schem work with 16×2 without i2c board. LCD display. I tried it many time..
Error shows.. LCD.begin() is error.
In display box shows
" no matching function for call to ' LiquidCrystal::begin()' please help sir...
Thanks lot.....
in sketch is link to used library, but you can change this line with lcd.init();
ȘtergereПривет сер проект очень хороший но переворот яиц всегда включен как сделать что бы он включался по времени и еще можно добавить проветривание по времени с уважением Сергей
RăspundețiȘtergereI noted that...
ȘtergereCristi
RăspundețiȘtergereBuna domnule autor, un update ceva ?
salut, momentan nu... cum am noutati, postez... nu am primit macar o poza cu un incubator realizat, deci nu pare un proiect de interes sa-l dezvolt prea curand, eu notez observatiile dib comentarii...
Ștergerehello sir , whats your email i want to send you my incubators pictures
RăspundețiȘtergerenicu.florica@gmail.com
Ștergerei did send you pîctures , check your email , give feedback thank you.
Ștergerei did send you pictures, check your email, give feedback thank you.
RăspundețiȘtergeresoon, I'll put photos from you in article...
Ștergerehi..thanks for sharing this greatest article, and i love to build one, but this is just my little bit experiences about hatching eggs, i always forgot to add water in the tank, and it cause temperature rise up.., can you add more feature of this arduino code about water level sensor??, best regard agrhatea@gmail.com
RăspundețiȘtergereI just note your desire for the momment. I'm very busy.
ȘtergereI wanted the time between rotation in minute basis.
RăspundețiȘtergerePlease kindly help me with code.
RăspundețiȘtergereWhich part should I change ?
RăspundețiȘtergerecomment line no. 133 and activate line no, 134 to have
Ștergereboolean debug = true;
By changing this part
ȘtergereWill the eggs rotate in minute basis ?
this mode is judt fot testing and debugging mode.. not be used for real eggs
ȘtergereThe eggs shall rotate on minute basis.
RăspundețiȘtergereif activate debugging mode is like in vide from.article.. this case is just for testing, not for real eggs
ȘtergereAnd one more doubt
RăspundețiȘtergereCan I use LM35 as the heat sensor ?
you can use LM35 jyst if you change the sketch for read this sensor
ȘtergereAnd how do I do that ?
Ștergeresearch on net a sketch for LM35 and replace part used for DS18B20... I haven't time in this period .. must study yourself... I note your desire and when I have a litle free time I modify the sketch...
ȘtergereI modified myself the sketch for LM35, see https://github.com/tehniq3/egg-incubator/blob/master/eggincubator_2d.ino
Ștergereokay thank you.
RăspundețiȘtergereI have a suggestion for you.
RăspundețiȘtergeresir if you are going to update the programme for the incubator in the future. Make sure you include the feature "periodic cooling".
the heater and humidifier would turn off every day for 30 min every day till the hatching period .
Thank you.
thank you for you proposal.. I note that
Ștergerehello, I've looked all over the internet on this subject, definitely you are the best, thanks for making a project like this available, I'm setting up mine despite little experience, but it would be very interesting if you update this project to replace the buttons by one membrane keyboard, it would be awesome
RăspundețiȘtergerethanks again
membrane keyboard or mechanical switch = same for software (sketch)
ȘtergereSir,No letters found on lcd how to fix?
RăspundețiȘtergereyou must find the adress for display with i2c_scanner, then test sketch
ȘtergereSir adress is 0×27 how to change sketch
RăspundețiȘtergereuse search function (CTRL+F) and put 0x27.. or read sketch..
Ștergerein line no. 26 you must change 0x3F with 0x27
ȘtergereWhy LCD affiche all the Time "THE END",I USE RTC DS1302
RăspundețiȘtergereyiu must enter in menu and set all data....
Ștergereafter how many days from the start to rotate the eggs for the first time
RăspundețiȘtergereit start at the second day in the program. how can i start it in first day itself.
you can change from menu, but not from first day (as real incubator and real hen/chicken)
ȘtergereI need to rotate my eggs in the normal mode.
RăspundețiȘtergereBecause a chicken rotates it's egg 50 times a day.
So to increase the hatchbility, it is essential.
Please help me with the program.
In the normal mode.
Please sir.
Consider this as my request
I too need some help with that
Ștergerejust in movie rotstion of egg is quick.. in normal mode time between rotation is hours, as in meniu adjustment
RăspundețiȘtergereFelicitari ! Faci o treaba minunata si iti multumesc pt ca inveti sa ne inveti.!
RăspundețiȘtergereAm invatat multe de la tine !
Sa ai un an nou plin de bucurii !
...
multumesc... din pacate, nu am foarte mult timp liber sa lucrez acest proiect.. printre picaturi, testez cate ceva si pun pe blog,,,
ȘtergereThank you for this great work. It's possible to find lot of dyy incubators, but this is "another lewel." Going to try to build it. These arduino things are iterresting to me. What do you use as heater? Think, some kanthal wire about 30-40 W, will be good. Greetings from Slovakia.
RăspundețiȘtergereI just wrote the program (sketch) and simulated the device, but 30-40W heater is enough for small egg incubator.
ȘtergereThank you again. Have a one question. The fist egg turning should not be the "turning time"/2? Because the egg tray is in middle position, and will start turning only half way.
ȘtergereWhy are there two motors, motor A, and motor B?
RăspundețiȘtergereThe device use just one motor, but a pin is for a direction (forward) and other oin is for reverse direction... you can see schematics with relay and L298
ȘtergereGreat Job ! I have a question though, I am wondering how I could use a bme280 on this project.
RăspundețiȘtergerefor me is a very old project... you can solve yourself the problem...
ȘtergereFelicitari , Mare om mare caracter !!!!
RăspundețiȘtergereVa salut cu respect,d-le Nicu!Felicitari pt proiect,desi va urmaresc activitatea,abia acum o saptamana in urma am vazut proiectul dvs.Va multumesc frumos pt toate postarile dvs utile si in general pt ajutorul acordat.As vrea sa va intreb daca este neaparat necesar ca acele doua rezistente re 4k7 de pe senzori de temperatura si cel de umiditate trebuiesc puse neaparat,intreb pt ca modulul clasic DHT11 are deja acea rezistenta.Presupun ca pt protectia placii arduino(desi sunt profan in materie de arduino,ma straduiesc sa inteleg si sa invat),este pusa(pt limitarea curentului?) si a doua intrebare este,pt ventilatorul /colerul folosit in majoritatea incubatoarelor care din pinii placii arduino ii asigura comanta(prin releu sau optocuplor)?Sau nu mai este becesar in cazul acestui proiect?Incaodata va multumesc anticipat pt rabdarea de a-mi citi postarea.
RăspundețiȘtergereVa salut ! Daca modulele dvs. au rezistentele de 4k7, ele nu mai trebuie montate. Ventilatorul de uniformizare temperarura in interiorul incintei se alimenteaza permanent.
ȘtergereIncaodata va multumesc frumos pt raspuns!
ȘtergereBuna.Revin cu cateva intrebari,daca nu deranjez.M-am apucat sa reproduc si eu proiectul dvs,am adunat toate componentele,le-am pus pe o placa shield impreuna cu un Arduino NANO si in teste la"rece",lucreaza foarte frumos.As vrea sa va intreb,daca pt modulul de avertizare sonora trebuitfolosit unup activ sau pasiv,pt ca sunt doua modele.Unul are un oscilator de cca 1khz care da acel sunet prin buzzer si buzere simple,adica care nu"suna"decat la o comanda/semnal primit extern.Multumesc,aticipat
RăspundețiȘtergerenu pot verifica acum, dar daca in program e doar digitalWrite(pin, HIGH or LOW) trebuie activ, daca apare ceca cu Tone(pin, frecventa) atunci e pasiv
ȘtergereTocmai am testat acum.Am pus un modul cu sunet activ in pinul 13 al shield-ului cu arduino si lucreaza.Si intradevar prin apasarea uneia din tastele plus sau minus alarma se opreste.Incodata va multumesc pt tot.As vrea sa va intreb daca-mi puteti spune,daca merge modificat sketch-ul pt ca atunci cand meniul nu e setat pe incubare,in fata simbolurilor ce indica temperatura si umiditatea pt ca tot e un spatiu gol in fata lor,daca se poate adauga un mif text,agica de exemplu "Te." si pe randul al doilea al LCD-ului "Hu".Evident fara sa afecteze restul programuli
Ștergereevident ca se poate, dar e un incubator si se inteleg foarte bine informatiile.. eu nu am timp pentru proiectul asta... incercati si dvs ca nu e asa greu...
ȘtergereVoi incerca,daca ati putea sa-mi spunetj care din liniile din program ar trebui sa incerc sa le modific.Imi cer scuze ca va rapesc din timp,dar chiar sunt incepator in arduino si fara un ajutor din partea dvs si a celor care lucrati in programare nu voi invata sa fac asta.Daca postarea mea deranjeaza va rog sa o stergeti,nu vreau sa transform blogul dvs intrun chat,chiar imi este jena.Incaodata imi cer scuze.
Ștergere