Fereastră Inteligentă

Introducere

De multe ori ne aflăm în situația de a lăsa ferestrele deschise pentru a aerisi o cameră și a pleca de acasă fără să le închidem. La un moment dat, începe ploaia și nu știm dacă să ne întoarcem acasă să le închidem, sau vine frigul și când ajungem acasă ne simțim ca într-un igloo.

Fereastra inteligentă rezolvă aceste probleme. Acționată de un servomotor atât manual, la comanda utilizatorului, cât și automat în funcție de temperatura/ploaia citită de senzori, aceasta asigură închiderea/deschiderea după bunul plac. În timpul mișcării (pentru siguranță) va arăta prin led-uri modul de operare (automat/manual).

Descriere generală

Utilizatorul (Actor) interacționează cu butoanele (Mod și Up/Down) pentru a seta modul de funcționare/a mișca fereastra. Butoanele comunică cu microcontroller-ul. În cazul în care modul automat este setat, se citesc valorile senzorilor de temperatură și ploaie. În funcție de aceste valori, fereastra se va mișca la o poziție prestabilită prin servomotor care este acționat de microcontroller și led-urile vor fi setate tot de acesta pentru a indica atât modul de funcționare cât și dacă fereastra se află în mișcare. În modul manual, utilizatorul apasă butoanele Up/Down și microcontroller-ul va transmite poziția ferestrei și va seta led-ul de mișcare și led-ul de mod manual.

Hardware Design

Lista de piese: PLACĂ DE DEZVOLTARE COMPATIBILĂ UNO R3 CH340, MOTOR SERVO MG996 12KG 180GRADE, SENZOR DE TEMPERATURĂ, SENZOR DE PLOAIE, MODUL LED RGB, BUTON, REZISTENȚE, PLACĂ DE PROTOTIPARE.

Schema electrică

Pini:

  1. 5V - VCC de la senzor ploaie, temperatura, servo
  2. GND1 - Cele 3 butoane
  3. GND2 - Modul leduri, Senzor ploaie, temperatura, servo
  4. A0 - Senzor temperatura
  5. D2 - Senzor ploaie (cu intrerupere)
  6. D3 - Buton UP
  7. D4 - Buton MOD
  8. D5 - Green Led
  9. D6 - Blue Led
  10. D7 - Red Led
  11. D8 - Buton DOWN
  12. D9 - Servo (PWM)

Hardware-ul efectiv:

Software Design

Mediu de dezvoltare: Arduino IDE

Librării și surse 3rd-party: EnableInterrupt.h, Servo.h

Algoritmi și structuri: Button Debouncing, Polling prin întrerupere pe senzorul de ploaie odată la un interval, Analog to Celsius pentru senzorul de temperatură.

Rezultate Obţinute

Proiectul reușește să acopere tot ce mi-am propus. Avem la final un prototip de fereastră inteligentă cu două moduri de funcționare (schimbabile prin butonul de mod), cel manual în care schimbăm poziția ferestrei din cele două butoane UP și DOWN și cel automat în care fereastra se rabatează dacă temperatura este una ridicată (23 grade +) și nu plouă, și se închide dacă temperatura este mai mică de 23 de grade sau plouă. Modulul led ilustrează modul de funcționare.

Download

Jurnal

26 aprilie - Comanda pieselor


29 aprilie - Schema electrică (Draft 1)


6 mai - Ridicarea pieselor


9 mai - Lipit modul led și butoane


10 mai - Testare leduri și butoane


12 mai - Schema electrică (Draft 2/Finală)


15, 16, 17 mai - Relipirea modulului led și butoanelor (probleme de scurt) și lipirea senzorilor de ploaie, temperatură și servomotorului


18 mai - Testarea componentelor


19 mai - Acomodarea cu Arduino IDE și biblioteci auxiliare


20, 21 mai - Dezvoltarea software-ului

Bibliografie/Resurse

pm/prj2024/vstoica/tiberiu.ureche.txt · Last modified: 2024/05/27 17:09 by tiberiu.ureche
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0