Sunteți pe pagina 1din 5

Textul si imaginile din acest document sunt licentiate

Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Codul sursa din acest document este licentiat


Public-Domain

Esti liber sa distribui acest document prin orice mijloace consideri (email, publicare pe website / blog, printare, sau orice alt mijloc), atat timp cat nu aduci nici un fel de modificari acestuia. Codul sursa din acest document poate fi utilizat in orice fel de scop, de natura comerciala sau nu, fara nici un fel de limitari.

Cronometru cu Arduino

In acest tutorial vei descoperi cum se poate construi un cronometru simplu care poate masura perioada de timp cuprinsa intre 2 evenimente. Cronometrul nostru va utiliza un senzor de distanta Sharp ca declansator. Daca un obiect trece prin fata senzorului suficient de aproape, atunci cronometrul este declansat. Daca acelasi obiect trece din nou prin fata senzorului, atunci cronometrul este oprit. Timpul cronometrat este afisat in Monitorul Serial. Cu acest cronometru poti masura timpi de ordinul minutelor, secundelor sau chiar milisecundelor. Ca idee, poti folosi cronometrul pentru a masura timpii robotilor urmaritori de linie. ei avea nevoie de urmatoarele componente! " placa #rduino $ http!%%&&&.robofun.ro%arduino 'n senzor de distanta Sharp http!%%&&&.robofun.ro%senzori%infrarosu%senzor(sharp()2*+,2D-2*./**0 'n cablu senzor 1 fire $ http!%%&&&.robofun.ro%cablu(senzor(1(fire(-2(2(cm

Cum se conecteaza senzorul ?


Senzorul de distanta Sharp se conecteaza la placa #rduino urmand tabelul de mai 3os!
Arduino GND Arduino 5V Arduino A0 Senzor Sharp fir Negru Senzor Sharp fir Rosu Senzor Sharp fir Galben

Dupa ce ai conectat senzorul, vei obtine o imaginea ca cea de mai 3os.

http://www.robofun.ro/forum

Codul sursa.
#cum este momentul sa incarci s4etch$ul in placa #rduino. Copiaza codul sursa de mai 3os 5cop6%paste7 si deschide Monitorul Serial. Modul de functionare al cronometrului este simplu. ,laca #rduino citeste in mod constant valoarea senzorului de distanta. Daca valoarea s$a incadrat in pragul presetat din s4etch, atunci cronometrul s$a declansat. Cu alte cuvinte, daca senzorul a detectat 5sa presupunem7 un robot, atunci placa #rduino incepe cronometrarea. Daca acelasi robot trece din nou prin fata senzorului, atunci placa #rduino opreste cronometrarea si o afiseaza pe Monitorul Serial. Iata un exemplu!

http://www.robofun.ro/forum

unsigned long start, finished, elapsed; int IRpin = 0; boolean stareSenzor = false; oid setup!" # Serial$begin!%&00"; Serial$println!'(rono)etru'"; * oid displa+Result!" # float h, ), s, )s; unsigned long o er; elapsed = finished , start; h = int!elapsed - .&00000"; o er = elapsed / .&00000; ) = int!o er - &0000"; o er = o er / &0000; s = int!o er - 0000"; )s = o er / 0000; Serial$print!'1i)p brut2 '"; Serial$println!elapsed"; Serial$print!'1i)p s3urs2 '"; Serial$print!h, 0"; Serial$print!'h '"; Serial$print!), 0";

http://www.robofun.ro/forum

Serial$print!') '"; Serial$print!s, 0"; Serial$print!'s '"; Serial$print!)s, 0"; Serial$println!')s'"; Serial$println!"; * oid loop!" # int pragSenzor = .00; if !analogRead!IRpin" 4 pragSenzor 55 stareSenzor == false" # dela+!500"; stareSenzor = true; start = )illis!"; Serial$println!'Start$$$'"; * if !analogRead!IRpin" 4 pragSenzor 55 stareSenzor == true" # stareSenzor = false; finished = )illis!"; dela+!0000"; displa+Result!"; * *

http://www.robofun.ro/forum

S-ar putea să vă placă și