This is an old revision of the document!


Ceas cu afisaj LCD si 'silent alarm'

Introducere

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

Descriere generală

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:

Hardware Design

Lista componente hardware:

  • Arduino Uno
  • Led-uri RGB
  • Cabluri
  • Ecran LCD cu I2C
  • Senzor de temperatura
  • 8-bit shift register x3
  • Breadboard
  • Rezistoare
  • Cablu UART
  • Plexiglas

  • Pentru a aprinde LED-uri vor fi folosite timere și întreruperi.
  • Pentru a afișa ora actuala, ora alarmei si temperatura camerei pe LCD se va folosi protocolul I2C.
  • Alimentarea se va realiza de la laptop
  • LED-urile se vor fixa pe PCB sau vor fi lipite direct in carcasa (TBD)
  • Laptop-ul va comunica cu Arduino-ul prin cablu folosind UART

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.

Software Design

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

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

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.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2024/mdinica/mihaela.stefan1411.1716467761.txt.gz · Last modified: 2024/05/23 15:36 by mihaela.stefan1411
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