Documente Academic
Documente Profesional
Documente Cultură
Arduino Uno R3
LCD 16X2(Ecran cu cristale lichide)
Potențiometru
Led infraroșu
Fotodiodă infraroșu
Microcontroller : ATmega328p
Voltajul de operare : 5V
Tensiunea de intrare (recomandată) : 7-12V
Tensiunea de intrare (limite) : 6-20V
Pini digitali I/O : 14 (of which 6 provide PWM output)
Pini de intrare anagolică : 6
Curent continuu pentru pin I/O: 40 mA
Curent continuu pentru pinul de 3.3V : 50 mA
Memorie Flash : 32 KB (ATmega328) din care 0.5 KB sunt utilizați de bootloader SRAM 2
KB (ATmega328)
EEPROM : 1 KB (ATmega328)
Viteza ceasului : 16 MHZ
Arduino Uno poate fi alimentat prin conexiunea USB sau cu o sursă externă de alimentare. Sursa
de alimentare este selectată automat. Alimentarea externă (non-USB) poate proveni de la un adaptor
AC-DC sau un acumulator. Adaptorul poate fi conectat cu ajutorul unui conector central de 2,1 mm
în mufa de alimentare a plăcii. Conductoarele din baterie pot fi introduse în pinii Gnd și Vin.
*VIN este pinul care se utilizează atunci cand vrem sa alimentăm placa arduino utilizând o
sursă externă de alimentare (spre deosebire de conexiunea prin USB care oferă tensiunea de 5V).
*5V este o sursa de alimentare reglata, utilizata pentru microcontroler si alte componente ale
plăcii.Alimentarea se poate face prin pin-ul VIN,prin intermediul unui USB sau prin altă alimentare
regulată de 5V.
Fig.3.1 Pinii de intrare si ieșire
Fiecare dintre cei 14 pini pot fi utilizați ca intrare sau ieșire,folosind pinMode(),digital
write(),și digitalRead()functions. Pinii funcționează cu 5V. Fiecare pin in parte poate furniza sau
primi maxim 40mA si are o rezistență internă de 20-50 kOhms.În plus,cațiva pini au funcții
speciale:
RX este utilizat pentru a recepționa iar TX pentru a transmite date. Aceștia sunt cunectați la
Atmega8U2 USB-to-TTL Serial chip prin pinii corespunzatori.
SPI(Serial Peripheral Interface) :10(SS - Slave Select), 11(MOSI Master out slave
in),12(MISO Master in slave out),13(SCK Serial Clock). Acesti pini susțin comunicațiile
SPI utilizând librăria SPI
LED:13.Există un Led incorporat care este conectat la pin-ul 13.Atunci când pin-ul are o
valoare mare,led-u este pornit iar cand pin-ul are o valoare mică led-ul este oprit.
LCD-ul este un modul electronic de afișare care folosește cristale lichide pentru a produce
o imagine vizibilă. Ecranul LCD de 16x2 este un modul foarte răspândit si ușor de utilizat,de obicei
fiind utilizat in circuite.16x2 poate afișa 16 caractere pe fiecare dintre cele două linii disponibile.
Fiecare caracter este afișat intr-o matrice de 5 x 7 pixeli.
M-am gândit că cel mai simplu mod de a detecta pauzele în calea luminii era de a folosi un
led infraroșu și o fotodiodă.
Senzorul emite lumină infraroșie și emite un semnal atunci când detectează lumina reflectată.
Un senzor infraroșu este alcătuit dintr-un emițător, detector și circuite asociate. Circuitul
necesar pentru a face un senzor infraroșu este compus din două părți; circuitul emițătorului și
circuitul receptorului.
Emițătorul este pur și simplu un led infraroșu(diodă emițătoare de lumină) și detectorul este
o fotodiodă infraroșu care este sensibilă la lumina infraroșie. Când lumina cade pe fotodiodă,
rezistența sa și, în consecință, tensiunea de ieșire, se modifică proporțional cu magnitudinea luminii
primite. Acesta este principiul fundamental al funcționării senzorului infraroșu.
Dacă au fost primite 5 sau mai multe impulsuri ca urmare a apariției întreruperii se execută
funcția RPMCount()) care calculează turațiile istantanee si memorează valoarea in una din cele 5
locații ale variabilei ‘’readings’’.Daca toate cele 5 locații ale variabilei readings au fost ocupate se
calculează media celor 5 valori ,se resetează ‘’readIndex’’ și se afișează valoarea medie pe LCD.
Dacă de la citirea precedentă au trecut mai mult de 5 secunde se șterg datele de pe ecran si
se afișează turația maximă care a fost atinsă.
După alte două secunde după ce a fost afișată turația maximă se afiseăza textul ‘’gata de
măsurare’’,tahometrul fiind pregătit să reia din nou măsuratorile.
Pentru a calcula numărul efectiv de rotații pe minut, avem nevoie de timpul necesar pentru
o revoluție. Și (millis() - time) este timpul necesar unei singure revoluții.
În acest caz,t să fie timpul necesar pentru o singură revoluție, astfel încât numărul total de
revoluții pe minut în 15 de sec (15 * 1000 milisecunde) este:
Rotații pe minut = 15 * 1000 / t * actualREV => rpm = 60 * 1000 / (milis () - timp) * REV /
4 sau rotații pe minut = 15 * 1000 / (milis () - timp) * REV;