This is an old revision of the document!
Proiectul consta in ralizarea unui ceas cu alarma 'siletnioasa'. In loc de o alarma clasica care foloseste un difuzor, la declansarea alarmei ceasul va porni diverse jocuri de lumini pentru a trezi pe utilizatorul. Am pornit de la un ceas pe care l-am primit cand eram mica asemanator cu cel din linkul [1], un ceas desteptator cu ecran LCD pe care afisa mai multe informatii si atunci cand se declansa alarma se ilumina carcasa si se pornea cate o melodie, putand sa selectezi melodia preferata si culoarea pentru alarma.
Asa ca am hotarat sa adaptez ideea ceasului pentru o problema a studentilor care locuiesc in camine si anume folositul unei alarme dimineata fara a trezi si alte persoane, de unde a aparut si numele proiectului 'silent alarm'. Proiectul meu implementeaza functionalitatile de baza ale ceasului dat exemplu anterior, cu o posibilitate mai mare de personalizare a jocului de lumini.
Link: FlashingBlinkyLights
Din punct de vedere fizic ceasul va fi un cub din plexiglas care va avea pe partea din fata un ecran LCD pentru a afisa ora actuala si ora la care este setata alarma, precum si temperatura camerei in care se afla printr-un senzor de temperatura. In interiorul cubului vor fi doua nivele: cel de jos va contine arduino-ul si sezorul de temperatura si cel de sus ledurile pentru jocurile de lumini. Jocurile de lumini si alarma se vor putea seta din laptop care va comunica cu arduino-ul prin USART. Din laptop utilizatorul va putea porni ceasul, seta alarma si jocul de lumini.
Schema bloc:
Lista componente hardware:
Schema electrica a circuitului:
Schema:
Link catre schema in Tinkercad:Schema proiect
Montaj fizic:
Partea 1:
Am conectat ecran-ul LCD, senzorul de temperatura si cele 3 LED-uri RGB la Arduino.
Pinii de pe LCD de GND si VCC i-am conectat la breadboard, cei de SCL si SDA direct la Arduino.
Pentru LED-urile RGB am conectat cate o rezistenta de 480Ω la fiecare pin: red, green si blue, dupa care am conectat pinii RGB ai fiecarui led la pinii de output ai 8-bit register shift. Am conectat restul pinilor de pe 8-bit register shift astfel: STROBE la linia de putere de pe breadboard, DATA la pinul A0 de pe arduino, CLOCK la pinul 2 de pe arduino, VSS la ground-ul de pe breadboard, VDD si Output enable la linia de putere. Ultimul pin la celui de-al treilea led (blue) l-am conectat direct la arduino la pinul 3 pentru ca nu am mai avut pini de output pentru registrii pe 8-bit shift register si nu avea rost sa mai folosesc inca unul.
Link pentru repo-ul de GitHub: GitHub
Mediu de dezvoltare: Arduino IDE
Biblioteci utilizate:LiquidCrystal_I2C.h (pentru LCD-ul cu I2C), DHT.h (pentru senzorul de temperatura DHT11)
Software design:
Codul se afla in fisierul proiect.ino si contine implementarea pentru jocurile de lumini, senzorul de temperatura si afisarea datelor pe LCD
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.