Smart Clock

Student: Sebastian Gherman, 336CC

Mail: sebastian.gherman99@stud.acs.upb.ro

Introducere

Codul Arduino

Demo

Ce face:

Proiectul a inceput ca un ceas obisnuit pe Arduino cu functionalitati de alarma si data, la care am adaugat un senzor cu infrarosu pentru detectarea miscarii, un buzzer si un senzor ultrasonic care va avea functionalitatea de a afisa temperatura si umiditatea din camera.

Care este scopul lui:

Scopul proiectului este acela de a avea un ceas usor de folosit cu functionalitatea de temperatura si umiditate fara atingerea dispozitivului, si senzorul de miscare are scopul de a detecta miscarea dintr-o camera si a afisa un mesaj pe ecranul LCD.

Care a fost ideea de la care am pornit:

Am pornit de la nevoia de un ceas digital care sa fie usor de folosit, dar care sa aiba si alte functionalitati care pot sa ajute o casa smart.

De ce cred că este util pentru alţii şi pentru mine:

Proiectul este destul de mic ca dimensiuni, simplu de inteles si poate deschide calea catre o casa smart ( de la un simplu ceas cu un senzor infrarosu).

Descriere generală

Functionalitate:

Proiectul afiseaza ora in format digital pe o matrice de led-uri 8×32. Acesta are control de setare data si ora si optiune de alarma. In momentul in care senzorul PIR detecteaza miscare, se afiseaza un mesaj pe LCD. Daca se apropie un obiect ( ex. mana) de senzorul ultrasonic, acesta afiseaza temperatura si umiditatea.

Hardware Design

Schema bloc:

Schema electrica:

Listă de piese:

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare : ArduinoIDE(1.8.13)
  • librării şi surse 3rd-party (dht11, pitches, Wire, SPI,LiquidCrystal_I2C, MD_Parola, MD_MAX72xx, ds3231)

RTC

Modulul RTC are rolul de a pastra timpul si in cazul in care se opreste alimentarea microcontrolerului prin utilizarea unei baterii CR2032. Are posibilitatea de a pastra ora, minutul, secunda, ziua, luna si anul si tine evidenta lunilor pare si impare si a anilor bisecti. Interfatarea se face prin I2C si se foloseste biblioteca ds3231.

LCD

Interfatarea cu displayul LCD se face printr-un modul I2C care simplifica problema traseelor electrice. Pe display este afisata data in mod normal, iar la interactiunea cu senzorul ultrasonic, se afiseaza temperatura si umiditatea din incapere.

Ambele module de I2C sunt legate in paralel. Controlul se face pe baza adresei dispozitivului. Pentru a afla adresa dispozitivelor I2C se poate folosi un scanner I2C ( https://playground.arduino.cc/Main/I2cScanner/ ).

Matricea LED

Matricea LED este compusa din 4 dispozitive cu 8×8 LED-uri. Interfatarea este prin SPI, iar controlul in arduino se face cu ajutorul celor 2 biblioteci mentionate mai sus (MD_Parola, MD_MAX72xx).

Senzorul de temperatura/umiditate

Senzorul trimite informatia codificata la Arduino, unde pe baza bibliotecii dht11 se face conversia in temperatura si umiditate.

Butoanele

Sunt folosite 3 butoane (in fata, in spate si buton de meniu). Exista urmatoarele optiuni in meniu:

  1. Setare ora
  2. Setare minut
  3. Setare zi
  4. Setare luna
  5. Setare an

Pentru a finaliza setarile se mai apasa inca o data pe butonul de meniu. De asemenea, in afara meniului, butoanele au urmatoarele functionalitati:

  • Butonul de mers in fata - seteaza Night Light ( se reduce din intensitatea matricei led si se opresc led-urile)
  • Butonul de mers in spate - activeaza/dezactiveaza senzorii

Senzorul de miscare

Senzorul PIR detecteaza miscarea pe baza senzorului cu infrarosu. Are 2 rotite fizice pentru setare. Delayul pana cand sa se reseteze si sensibilitatea ( distanta la care detecteaza ). Senzorul activeaza intreruperea in Arduino care seteaza o variabila de stare.

Senzorul ultrasonic

Senzorul ultrasonic foloseste un transmitator si receptor pentru a determina distanta baza pe timpul de drum impartit la viteza sunetului.

Bibliografie/Resurse

Libraries

pm/prj2021/dbrigalda/502.txt · Last modified: 2021/06/04 13:48 by sebastian.gherman99
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