This is an old revision of the document!
Autor: Nedelcu Stefan Marian
Grupa: 331CB
Proiectul constă într-un dispozitiv care măsoară cât de repede poate o persoană să golească un pahar, făcând petrecerile mai amuzante
Dispozivul este compus dintr-un senzor de greutate pe care va fi pus un pahar.
În momentul în care paharul este ridicat, pornește un cronometru (afișat pe 7 segmente). Când paharul este așezat la loc, cronometrul se oprește indicand astfel cat de repede a fost golit acesta.
Pentru a fi resetat cronometrul se apasă un buton.
Lista piese:
Nume piesa | Numar |
---|---|
Arduino uno | 1 |
Butoane | 1 |
Afisaj 4 digits - 7 segmente | 1 |
Senzor greutate | 1 |
Breadboard | 1 |
Rezistente | |
Fire |
Device-ul se folosește de un afișaj led de 4 caractere pe 7 segmente și anod comun (nu l-am găsit în Tinkercad pt. a fi reprezentat pe schemă). Acesta foloseste 13 pini: 7 pentru cele 7 segmente, 4 pentru a selecta pe care cifra se efectueaza scrierea si unul pentru alimentare.
Acesta este alimentat folosind o baterie de 9V prin pinul Arduino Vin (pentru o mobilitate mai mare-nu trebuie conectat în permanență la un PC).
Pe parcursul dezvoltarii proiectului am folosit Arduino IDE. Am folosit doua biblioteci auxiliare:
Implementarea se foloseste de 2 variabile cheie:
Timerul este implementat cu ajutorul bibliotecii “TimerOne.h”, alegand sa creez o intrerupere care se va apela la fiecare 0.01s - in care, daca timerul ar trebui sa ruleze, il incrementez. In functia setup() se initializeaza toti pinii (cei 12 ai displayului ca output iar cel corespunzator senzorului de greutate ca INPUT_PULLUP). In functia loop() se determina valoarea care trebuie afisata pe timer (fiecare cifra a lui time drept char) si se afiseaza folosind biblioteca “SevenSegmentDisplay.h”. Aceasta se ocupa doar de afisajul unui singur digit (folosind functia timerDisplay.displayCharacter© - din acest motiv fiind nevoie de urmatoarele functii auxiliare:
De asemenea, in loop, in functie de valoarea citita de pe senzor se seteaza variabila isTimerRunning (daca senzorul este apasat timerul sta pe loc, iar daca nu este apasat atunci timerul curge.)
25.04.2021 : Alegere tema, completare introducere si descriere generala.