Arduino analogRead ( )
On oktober 31, 2021 by adminFunktionen analogRead( ) læser værdien fra den angivne analoge pin på det pågældende Arduino-kort.
Adc’en (analog til digital konverter) på Arduino-kortet er en multikanals konverter. Den kortlægger indgangsspændingen og driftsspændingen mellem værdierne 0 og 1023. Driftsspændingen kan være 5V eller 3,3V.
Værdierne fra 0 til 1023 er de heltalsværdier. Det kan også skrives som 0 til (2^10) -1.
Tidsvarigheden for at læse et analogt indgangssignal på kortene (UNO, Mega, Mini og Nano) er ca. 100 mikrosekunder eller 0,0001 sekunder.
Dermed er den maksimale aflæsningshastighed for analog indgang ca. 10000 gange i sekundet.
Lad os diskutere driftsspænding og opløsning for nogle Arduino-kort.
- Driftsspændingen for Arduino UNO, Mini, Mega, Nano, Nano, Leonardo og Micro er 5V, og opløsningen er 10 bit.
- Driftsspændingen på boards i MKR-familien, Arduino Due og Zero er 3 V, og opløsningen er 12 bits.
Ændring af indgangsspænding og opløsning
- På et bestemt board kan vi ændre indgangsspændingen ved hjælp af funktionen analogReference( ).
analogReference( )
Referencespændingen, der anvendes til den analoge indgang, konfigureres af analogReference( ).
Syntaksen er:
Bemærk: Den eksterne referencespænding på AREF-stiften bør ikke overstige større end 5V eller mindre end 0V. Vi skal indstille den analoge reference som Ekstern, mens vi arbejder på AREF-pinden.
I modsat fald kan det beskadige den mikrocontroller, der er til stede på Arduino-boardet.
- Vi kan kun ændre opløsningen for MKR Family, Zero og Due boardet ved hjælp af funktionen analogReadResolution( ).
analogReadResolution( )
MKR Family, Zero og Due har en ADC-opløsning på 12 bit.
AnalogReadResolution( ) returnerer de hele talværdier mellem 0 og 4095 fra analogRead( ) funktionen.
Syntaksen er:
hvor,
bits: Den angiver de opløsningsbits, der returneres af funktionen analogRead( ). Vi kan indstille værdien af bits mellem 1 og 32.
Bemærk: Hvis der angives opløsningsbits højere end kortets muligheder, vil Arduino polstre de ekstra bits med nuller.
For eksempel analogReadResolution (14)
Overstående funktion vil give et 14-bit tilnærmet tal med de to første 12 bits (der omfatter ADC-læsning) og de to sidste polstrede bits.
Syntaks for analogRead ( )
Syntaksen er:
hvor,
pin: Den indeholder navnet på den bestemte analoge pin, der skal læses fra.
Datatatypen er int.
En ikke-forbundet analog pin kan også returnere en vis værdi. En sådan værdi afhænger af vores hånds position på boardet og andre analoge indgange i nærheden.
Kodeeksempel
Lad os forstå konceptet analogRead med et eksempel.
Se nedenstående kode:
Overstående kode læser spændingen fra den angivne analoge pin (AnaPin) og viser den.
Skriv et svar