Arduino analogRead ( )
On oktober 31, 2021 by adminDe analogRead( ) functie leest de waarde van de opgegeven analoge pin aanwezig op het specifieke Arduino board.
De ADC (Analoog naar Digitaal Converter) op het Arduino board is een meerkanaals converter. Het brengt de ingangsspanning en de bedrijfsspanning tussen de waarden 0 en 1023 in kaart. De bedrijfsspanning kan 5V of 3.3V zijn.
De waarden van 0 tot 1023 zijn de gehele getallen. Het kan ook worden geschreven als 0 tot (2^10) -1.
De tijdsduur om een analoog ingangssignaal te lezen op de borden (UNO, Mega, Mini, en Nano) is ongeveer 100 microseconden of 0,0001 seconden.
Dus, de maximale leessnelheid van de analoge ingang is ongeveer 10000 keer per seconde.
Let’s bespreken bedrijfsspanning en resolutie van sommige Arduino boards.
- De bedrijfsspanning van Arduino UNO, Mini, Mega, Nano, Leonardo, en Micro is 5V, en resolutie is 10 bits.
- De bedrijfsspanning van MKR familie boards, Arduino Due, en Zero is 3 V, en de resolutie is 12 bits.
Het veranderen van de ingangsspanning en resolutie
- Op een bepaald bord, kunnen we de ingangsspanning veranderen met behulp van de analogReference( ) functie.
analogReference( )
De referentiespanning die voor de analoge ingang wordt gebruikt, wordt geconfigureerd door de analogReference( ).
De syntaxis is:
Note: De externe referentiespanning op de AREF-pin mag niet hoger zijn dan 5V of lager dan 0V. We moeten de analoge referentie als extern instellen terwijl we op de AREF-pen werken.
Anders kan dit de microcontroller op het Arduino-bord beschadigen.
- We kunnen de resolutie alleen wijzigen voor de MKR Family, Zero en Due-bord met behulp van de functie analogReadResolution( ).
analogReadResolution( )
De MKR Family, Zero en Due hebben een ADC-resolutie van 12 bits.
De analogReadResolution( ) retourneert de gehele waarden tussen 0 en 4095 van de analogRead( )-functie.
De syntaxis is:
waar,
bits: Dit zijn de resolutiebits die door de functie analogRead( ) worden geretourneerd. We kunnen de waarde van bits tussen 1 en 32.
Note: Als de resolutie bits hoger dan de mogelijkheden van het bord worden opgegeven, zal de Arduino de extra bits opvullen met nullen.
Voorbeeld, analogReadResolution (14)
De bovenstaande functie zal een 14-bits benaderd getal geven met de eerste twee 12 bits (dat omvat ADC-lezen) en de laatste twee opgevulde bits.
Syntax van analogRead ( )
De syntaxis is:
waar,
pin: het bevat de naam van de specifieke analoge pin om van te lezen.
Het gegevenstype is int.
Een niet-aangesloten analoge pin kan ook een waarde teruggeven. Deze waarde is afhankelijk van de positie van onze hand op het bord en andere analoge ingangen in de buurt.
Codevoorbeeld
Laten we het concept van analogRead eens begrijpen met een voorbeeld.
Bekijk de onderstaande code:
De bovenstaande code leest de spanning van de opgegeven analoge pin (AnaPin) en geeft deze weer.
Geef een antwoord