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
- Olimpiada Nationala de Informatica 2023. Rezolvare problema „Cadouri” in C++, clasa a V-a
- Olimpiada Nationala de Informatica 2023. Rezolvare problema „Patinaj” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2018. Rezolvare problema „Forus” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2018. Rezolvare problema „Patrate” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2019. Rezolvare problema „Cartele” in C++, clasa a V-a
Comentarii recente
- irina c la Olimpiada Judeteana de Informatica 2021. Rezolvare problema „Concurs” in C++, clasa a V-a
- M la Olimpiada Judeteana de Informatica 2022. Rezolvare problema „Sume si secvente” in C++, clasa a V-a
- Sebastian Chetroni la Olimpiada Judeteana de Informatica 2023. Rezolvare problema „Aeriana” in C++, clasa a V-a
- andrei toma la Olimpiada Judeteana de Informatica 2023. Rezolvare problema „Aeriana” in C++, clasa a V-a
- andrei nicolescu la Am fost in tabara educationala de vara Atlantykron. Voi mai merge
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