Table of Contents

Daily

Autor

Gabriela-Camelia Mircia

Grupa: 332CA

Introducere

Descriere generală

Se conecteaza la o placuta de Arduino UNO un modul RTC pentru afisarea datei si orei. Acestea pot fi modificate prin butoanele de pe breadboard. Utilizatorul are posibilitatea de a vizualiza ora fie in format AM, fie PM. Toate informatiile detaliate sunt afisate pe un LCD controlat cu ajutorul unui potentiometru.

La nivelul de temperatura si umiditate este folosit un senzor pentru preluarea datelor, acestea sunt interpretate folosind doua LED-uri: cel rosu se va aprinde daca temperatura depaseste o anumita limita (cea setata este de 24C), cel albastru va porni daca temperatura scade sub limita impusa.

Pentru a face mai interactiv proiectul am adaugat un senzor de sunet care determina pornirea si oprirea ceasului. Acesta recunoaste sunete de frecvente asemanatoare unei batai din palme. Spre exemplu, daca e folosit intr-o camera unde exista un dialog continuu, ceasul se va reporni permanent.

Spre final, pentru a complica putin setarea alarmei, a fost introdus un modul bluetooth care functioneaza impreuna cu o aplicatie simpla pentru mobile. Astfel utilizatorul poate seta alarma chiar din telefon. La acel moment buzzerul va suna si cele doua LED-uri vor lumina intermitent. Pentru adaptabilitate si pentru a nu depinde de un dispozitiv, a fost conectata o baterie de 9V.

Hardware Design

Componente
Piesa Nr Link Datasheet/Utils
Arduino Uno 1 link link
Modul RTC DS3231SN 2 link link
Senzor sunet CZN-15E 3 link link
Ecran LCD 1602A 4 link link
Senzor temperatura AM2302 5 link link
Modul bluetooth ZS-040 6 link link
Potentiometru 7 link link
Buzzer pasiv 8 link link
Rezistente 1KΩ 9 link link
LED-uri monocolore 10 link link
Butoane 11 link link
Breadboard 12 link link
Fire tata-tata 13 link link
Fire mama-tata 14 link link
Baterie 9V 15 link
Conector baterie 9V 16 link
Schema electrica

Schema a fost realizata in Eagle folosind informatiile din laboratoarele de IC. Pentru a nu aglomera firele in schematic am folosit functia Mirror, am repozitionat elementele si am folosit labeluri. Mentionez ca un pas greu aici a fost descarcarea a diferite biblioteci pentru inserarea componentelor potrivite. Voi include in arhiva de download si aceasta schema.

Observatii

Cel mai bine conectarea se observa in schema electrica. Pentru fiecare senzor am consultat datasheetul si diverse tutoriale, fiind un spatiu de lucru nou.

O dificultate hardware o consider asezarea componentelor. Pentru a incapsula intreg proiectul am folosit o cutie de carton alaturi de mici bucati de carton care mentin o stabilitate a pieselor. Am incercat sa folosesc fire de dimensiune potrivita fara a aglomera breadboardul. Am tinut cont de culori in special la VCC si GND.

O alta problema intalnita a fost defectarea unui pin Arduino. Credeam ca este defect senzorul de temperatura, dar s-a dovedit a fi pinul.

Testarea componentelor s-a facut indiviual. Schema initiala nu includea si modulul bluetooth, astfel pentru testarea acestuia am folosit alta placuta de Arduino.

Alegerea celor 2 LED-uri monocolore a venit din cauza faptului ca nu am avut suficienti pini, mai aveam ramasi 2, dar pentru un RGB erau necesari 3. Am realizat ca o rezolvare a acestei probleme ar fi putut fi folosirea unui LCD cu I2C care nu necesita si un potentiometru, deci numarul pinilor ocupati ar fi scazut.

Software Design

Software-ul se imparte in mai multe parti pentru fiecare functie. Majoritatea codului consta in notiuni de baza in C la care se adauga initializari si interpretarea datelor de pe placuta de Arduino. Codul contine comentarii care lamuresc deciziile luate.

Bibliotecile folosite au fost incluse in arhiva. Acestea depind de senzorii utilizati.

Exemple: DHT_sensor_library, DS3231, LiquidCrystal

before
setup()
buttoninfo(..)
loop()
modul Bluetooth
alarma

Rezultate Obţinute

Demo:

https://youtu.be/lLNGMWWIvSg

Cuprins video:
Ce a iesit?

In final, proiectul s-a dovedit a fi usor de folosit, toate functionalitatile dorite au putut fi observate. S-au folosit componente cu functii diversificate pentru un scop comun: sa ofere utilizatorului informatii si optiuni utile zilnic printr-o interactiune cat mai accesibila.

Concluzii

Consider ca am recuperat o mare parte din lipsa interactiunii cu partea de hardware din acesti 3 ani de facultate. Din teama de a nu reusi sa conectez o placuta Arduino, am ajuns sa fac un proiect initiat de o idee proprie care mi-a placut mult.

M-a pasionat si partea de organizare, diversitatea programelor folosite si primul contact cu wiki-ul.

“Daily” m-a ajutat sa inteleg mai bine partea de hardware si sa ma familiarizez cu cateva componente care se folosesc in automatele pe care le-am utilizat fiecare dintre noi. A meritat toata munca. 8-)

Download

Contine bibliotecile folosite, imaginile inserate, codul, schema electrica.

arhiva_cami.zip

Jurnal

Bibliografie/Resurse

PDF