4. INFO 2
Analog vs Digital
• Putem stoca semnale digitale
• Folosim 1 sau mai mulți
biți/eșantion
• Se stochează o listă de numere
• Parametrii
• Biți/eșantion
• Rată de eșantionare
4
5. INFO 2
Biți / eșantion
5
• 1 bit / eșantion
• Valori LOW (0) and HIGH (1)
• digital
• n biți / eșantion
• Valori 0 .. 2n-1
• Reprezentarea digitală a unui semnal analog
7. INFO 2
Rată de eșantionare
• Cu cât viteza e mai mare, cu atât precizia e mai mare
• Teorema lui Nyquist
• Frecvența de eșantionare >= 2 x frecvența maximă a semnalului
• Frecvența pentru voce: 0.3 – 3.4 KHz
• Frecvența telefonului: 8KHz
7
8. INFO 2
Rată de eșantionare
8
Sursa: http://www.jazzpoparkisto.net/audio/audio32.html
9. INFO 2
Legea lui Ohm
9
I =
U
R
I =
3V
10Ω+ 50Ω+ 60Ω
= 0.025A = 25mA
24. INFO 2
Arduino GPIO
• General Purpose Input Output
• Output – baterie
• Input - voltmetru
• Input
• HIGH > 2.5 V
• LOW < 2.5 V
24
25. INFO 2
Arduino ADC (Analog to digital converter)
• Pini Ax
• Arduino Uno A0 – A5
• Un singur ADC
• Multiplexare
• Citește A0
• Citește A1
• ....
• 10 biți / eșantion
• Valori 0 – 1023
• 0 – 0 V
• 1023 – 5V
25
26. INFO 2
Exerciții
• Ce valoare va returna ADC-ul Arduino pentru următoarele tensiuni
citite?
1V, 1.5V, 3V, 3.25V, 4V, 4.5V
• Dacă ADC-ul Arduino returnează următoarele valori, ce tensiuni sunt
la bornele acestuia?
10, 150, 400, 1000
26
36. INFO 2
Debouncing
• delay()
• O citire la 100ms
• Ușor de implementat
• Blochează execuția
• millis()
• Se calculează diferența între citiri
• Valoarea corectă nu se schimbă
timp de 100ms
• Complex de implementat
• Overflow dupa 49 de zile
• Nu blochează execuția
36