Arduino analogRead ( )
On 31 października, 2021 by adminFunkcja analogRead( ) odczytuje wartość z określonego pinu analogowego obecnego na danej płytce Arduino.
Przetwornik ADC (Analog to Digital Converter) na płytce Arduino jest przetwornikiem wielokanałowym. Odwzorowuje on napięcie wejściowe i napięcie robocze pomiędzy wartościami 0 i 1023. Napięcie robocze może wynosić 5V lub 3,3V.
Wartości od 0 do 1023 są wartościami całkowitymi. Można je również zapisać jako 0 do (2^10) -1.
Czas odczytu sygnału wejścia analogowego na płytkach (UNO, Mega, Mini i Nano) wynosi około 100 mikrosekund lub 0.0001 sekundy.
Więc, maksymalna szybkość odczytu wejścia analogowego wynosi około 10000 razy na sekundę.
Przedyskutujmy napięcie robocze i rozdzielczość niektórych płytek Arduino.
- Napięcie robocze Arduino UNO, Mini, Mega, Nano, Leonardo i Micro wynosi 5V, a rozdzielczość 10 bitów.
- Napięcie robocze płytek z rodziny MKR, Arduino Due i Zero wynosi 3 V, a rozdzielczość 12 bitów.
Zmiana napięcia wejściowego i rozdzielczości
- Na danej płytce możemy zmienić napięcie wejściowe za pomocą funkcji analogReference( ).
analogReference( )
Napięcie referencyjne używane dla wejścia analogowego jest konfigurowane przez funkcję analogReference( ).
Składnia jest następująca:
Uwaga: Zewnętrzne napięcie referencyjne na pinie AREF nie powinno być większe niż 5V lub mniejsze niż 0V. Musimy ustawić analog Reference jako External podczas pracy na pinie AREF.
W przeciwnym razie może to spowodować uszkodzenie mikrokontrolera obecnego na płytce Arduino.
- Rozdzielczość możemy zmienić tylko dla płytek MKR Family, Zero, oraz Due za pomocą funkcji analogReadResolution( ).
analogReadResolution( )
Płytki MKR Family, Zero, oraz Due mają rozdzielczość przetwornika ADC równą 12 bitów.
Funkcja analogReadResolution( ) zwróci wartości całkowite z przedziału od 0 do 4095 z funkcji analogRead( ).
Składnia to:
where,
bity: Oznacza bity rozdzielczości zwrócone przez funkcję analogRead( ). Możemy ustawić wartość bitów w zakresie od 1 do 32.
Uwaga: Jeśli podamy bity rozdzielczości większe niż możliwości płytki, Arduino wyścieli dodatkowe bity zerami.
Na przykład analogReadResolution (14)
Powyższa funkcja da 14-bitową przybliżoną liczbę z pierwszymi dwoma 12 bitami (które zawierają odczyt ADC) i ostatnimi dwoma wyściełanymi bitami.
Syntaktyka funkcji analogRead ( )
Składnia jest następująca:
where,
pin: Zawiera nazwę konkretnego pinu analogowego, z którego chcemy odczytać.
Typ danych to int.
Nie podłączony pin analogowy również może zwrócić jakąś wartość. Taka wartość zależy od położenia naszej ręki na płytce i innych pobliskich wejść analogowych.
Przykład kodu
Zrozummy koncepcję analogRead na przykładzie.
Rozważmy poniższy kod:
Powyższy kod odczytuje napięcie z określonego pinu analogowego (AnaPin) i wyświetla je.
Dodaj komentarz