Iluminare automatizata pentru acvariu cu Arduino Nano si C++
Ca mulți dintre voi, am și eu un acvariu în cameră cu câțiva pești. Este un acvariu mic în care trăiesc în medie 10 peștișori cărora le dau de mâncare o data pe zi și le lăsam aprinsă lumina de dimineață de la 8 până seara pe la ora 22 sau poate o uitam aprinsă și o stingea unul din părinți mai târziu. Am înțeles că lumina în acvariu trebuie să stea aprinsă 8 ore, în rest acvariul va mai primi ceva lumină naturală de afară în funcție de sezon, deci cele minim 14 ore de lumină artificială depășea mult limita recomandată. Așa că m-am gândit să fac un dispozitiv automat care să aprindă și să stingă automat lumina acvariului fără ca eu sau părinții mei să mai intervenim.
Ce am folosit in proiect:
- 1 x Arduino Nano (microcontroller în care am încărcat codul scris în C++)
- 1 x Modul RTC DS3231 (ține minte cât e ceasul)
- 1 x Releu (căruia îi dăm comandă ca să pornească sau să oprească lumina, ca unui întrerupător)

Suplimentar, am construit la imprimanta 3D o carcasă pentru componentele de mai sus ca să fie ferite de apa, având în vedere că urmează să stea în apropierea acvariului.

Pasul următor a fost să tai firele de alimentare de la modulul de lumină al acvariului și să le conectez la releu. Am făcut o schemă în Fritzing pentru a vă veni mai ușor să înțelegeți exact ce am făcut:

La final, vă pun și codul scris de mine in C++ în Arduino IDE pentru cei care sunt interesați să reproducă dispozitivul creat de mine 🙂 V-am atașat și imaginea cu Arduino IDE în care se vede codul scris de mine și faptul că a fost compilat fără erori:

Iată codul scris de mine ce trebuie încărcat în Arduino Nano prin Arduino IDE (*Free to copy and use for educational purposes):
/** * Auth: Sebastian Chetroni * Light relay ¯\_(ツ)_/¯ * Free to copy and use for educational purposes */ #include #include RTC_DS3231 rtc; void setup() { Serial.begin(9600); Wire.begin(); rtc.begin(); rtc.adjust(DateTime(F(__DATE__),F(__TIME__))); pinMode(2, OUTPUT); } void loop() { DateTime now = rtc.now(); if(now.hour()>10 && now.hour()<18) digitalWrite(2, HIGH); else digitalWrite(2, LOW); delay(60000); }
Author: Sebastian Chetroni
Website: https://zcoder.ro
Articole recente
- Cod Python si C++ care sa genereze o parola formata din litere, cifre si caractere speciale de o lungime introdusa de la tastatura
- Cod Python si C++ pentru a genera al N-lea numar prim. N introdus de la tastatura
- Am fost in tabara educationala de vara Atlantykron. Voi mai merge
- Iluminare automatizata pentru acvariu cu Arduino Nano si C++
- Program Python care testeaza daca un numar este palindrom. Cod sursa
Comentarii recente
- andrei nicolescu la Am fost in tabara educationala de vara Atlantykron. Voi mai merge
- Sebastian Chetroni la Iluminare automatizata pentru acvariu cu Arduino Nano si C++
- Bogdan Mares la Iluminare automatizata pentru acvariu cu Arduino Nano si C++
- Sebastian Chetroni la Carte de programare în Python pentru începători, în limba română
- Rares la Carte de programare în Python pentru începători, în limba română
interesant chiar daca e ceva atat de simplu ca idee. bravo
Da, este un dispozitiv simplu, dar ne va fi de ajutor si probabil pestisorii mei vor fi incantati