Arduino/Analoge invoer
Analoge invoer
Met een analoge invoer van de Arduino kunnen we een analoge spanning omzetten in een digitale waarde: een getal in het bereik 0..1023. (De Atmega heeft een 10-bits Analoog/Digitaal-omzetter.) Dit kunnen we onder andere gebruiken om
Precisie
A/D omzetting
Spanning
Een analoog/digitaal-omzetter zet een analoge spanning om in een digitale waarde (een getal). De analoge spanning kan elke waarde aannemen in een beperkt bereik, bijvoorbeeld 0 tot 5V; de digitale waarde is meestal een geheel getal in een beperkt bereik, bijvoorbeeld 0 to 1023 (10 bits). Hierbij is dus sprake van discretisatie van de spanning: alle spanningsniveaus in een bepaald bereik worden in een enkel getal omgezet:
- 0..4,88 mV wordt 0; 4,89 mV..9,77 mV wordt 1; enz.
Meestal willen we een lineaire conversie hebben: we verdelen het hele interval van de spanning in gelijke delen. Maar we kunnen ook een andere benadering kiezen, bijvoorbeeld door de intervallen rond 0 kleiner te kiezen dan de intervallen rond het maximum, bijvoorbeeld volgens een logaritmische schaal. Bij een lineaire conversie hebben we een vaste absolute fout. Bij een logaritmische schaal hebben we een vaste relatieve fout. De meeste A/D-omzetters zijn tegenwoordig lineair.
Tijd (signaal)
Vaak zijn we niet in een enkele spanning geïnteresseerd, maar in een signaal: een spanning die in de loop van de tijd verandert - denk bijvoorbeeld aan het uitgangssignaal van een microfoon. We moeten het signaal dan bemonsteren: op regelmatige momenten moeten we een "monster" van het signaal nemen, en deze spanning omzetten in een getal. Een analoog signaal zetten we op die manier om in een reeks getallen.
Bemonsteringsfrequentie
A/D-omzetting kost tijd, en sommige A/D-omzetters zijn veel sneller dan andere. (In het algemeen geldt dat een snellere A/D-omzetter ook meer vermogen nodig heeft.)