Proiectul constă într-o floare inteligentă care reacționează la lumina ambientală. Pe măsură ce intensitatea luminii scade (ex. seara sau în spații întunecate), floarea se „deschide” automat cu ajutorul unui servomotor, iar un LED din interior se aprinde, transformând-o într-o lampă decorativă. Sistemul include un buton care permite utilizatorului să oprească manual LED-ul, chiar dacă senzorul de lumină ar indica altfel. Un ecran OLED afișează mesaje personalizate, contribuind la interactivitate.
Scopul proiectului este de a imita comportamentul natural al florii de noapte, transformându-l într-o aplicație practică și estetică. Floarea reacționează la lumina din mediu, aprinzând LED-ul și deschizând petalele odată cu lăsarea serii, oferind o soluție elegantă pentru iluminat ambiental automat.
Ideea proiectului mi-a venit inspirându-mă din comportamentul real al florilor nocturne. Inițial, voiam să creez o floare care doar să se deschidă cu ajutorul unui servomotor, dar pentru a adăuga utilitate și interactivitate, am decis să integrez un senzor de lumină, un led și un ecran OLED care oferă feedback vizual. Astfel, proiectul a evoluat într-o combinație între funcționalitate și natură.
Dispozitivul poate fi folosit ca lampă ambientală automată, decor inteligent sau proiect educațional. Este potrivit pentru camere de zi, dormitoare sau spații de relaxare, oferind un efect vizual plăcut și o experiență personalizată. În plus, integrează concepte de bază din electronică și programare, fiind ideal și pentru scopuri didactice.
Aceasta este schema bloc care ilustrează interacțiunea dintre componentele proiectului:
Ecranul OLED utilizează protocolul I2C pentru a comunica cu Arduino-ul. Este conectat la pinii dedicați SDA și SCL ai plăcii.
OLED 0.96” PIN | Arduino PIN |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
Fiecare culoare este controlată printr-un pin PWM. Anodul comun este conectat la 5V. Rezistențele recomandate sunt: R: 220 Ω (pusă) G & B: 100 Ω (puși)
RGB LED PIN | Arduino PIN | Resistor |
---|---|---|
R | D11 | 220Ω |
G | D9 | 100Ω |
B | D10 | 100Ω |
COM (Anode) | 5V | - |
Senzorul de lumină este conectat la un pin analogic al Arduino-ului. Acesta detectează nivelul de iluminare din mediu și oferă o valoare între 0–1023. Se folosește un divizor de tensiune sau modul gata făcut.
LDR Module PIN | Arduino PIN |
---|---|
VCC | 5V |
GND | GND |
OUT | A0 |
Servomotorul este controlat prin semnal PWM de la Arduino. Deoarece consumă curent mare (până la 2A), este alimentat separat dintr-o sursă de 5V.
ServoMotor PIN | Arduino PIN | External Source |
---|---|---|
VCC | - | 5V (+) |
GND | GND | GND (-) |
PWM (signal) | D7 | - |
Butonul este conectat între un pin digital și GND. Se activează folosind INPUT_PULLUP pentru a evita folosirea unui rezistor extern de pull-down.
Button PIN | Arduino PIN |
---|---|
1 (diagonal) | D2 |
2 (diagonal) | GND |
IDE: Arduino IDE 2.x Placă: Arduino UNO R3 (ATmega328P)
Bibliotecă | Rol |
————————————— | —————————————————– |
`Servo.h` | control PWM pentru servomotor (deschiderea petalelor) |
`Wire.h` | comunicare I²C |
`Adafruit_GFX.h` + `Adafruit_SSD1306.h` | afișare text/bitmap pe OLED 0 .96″ |
`(LUX_BRIGHT - lux) / (LUX_BRIGHT - LUX_DARK)`, apoi se folosește `constrain(…)` pentru a o menține în interval.
* Modurile se comută doar când floarea este deschisă. * Culoarea LED-ului în modul *party* se schimbă la fiecare `PARTY_STEP` ms.
Funcție | Rol principal |
——————– | —————————————————————————— |
`setup()` | Inițializează pinii, servo, OLED, LED, buton și mesajul de start |
`loop()` | Logica principală: senzor lumină, poziție servo, LED, OLED, buton |
`show(…)` | Afișează mesaj pe OLED doar dacă este diferit față de precedentul |
`LEDoff()` | Stinge complet LED-ul RGB |
`LEDwhite()` | Aprinde LED-ul cu alb (toate canalele la valoare maximă 255) |
`LEDrgb(r,g,b)` | Aprinde LED-ul cu o culoare specifică RGB |
Pentru cod poti accesa Github - FloareaNoptii
Pentru construcția florii s-a utilizat o imprimantă 3D, care a permis imprimarea separată a fiecărei componente. Ulterior, acestea au fost asamblate pentru a forma mecanismul complet de deschidere al florii.
Am avut nevoie să printez:
1.Floare închisă pe lumină
2.Deschidere graduală în penumbră
3.Floare complet deschisă pe întuneric
4.LED interior cu aprindere lină
5.Mesaj OLED corect
Proiectul simulează o floare care se deschide pe măsură ce se întunecă și se închide la lumină, folosind un senzor LDR și un servomotor controlat lin. LED-ul interior se aprinde treptat în funcție de întuneric, iar OLED-ul afișează mesaje diferite.
Sistemul funcționează stabil, reacționează natural și respectă toate cerințele propuse.