Skip to content

Archives

  • styczeń 2022
  • grudzień 2021
  • listopad 2021
  • październik 2021
  • wrzesień 2021

Categories

  • Brak kategorii
Trend RepositoryArticles and guides
Articles

Arduino analogRead ( )

On 31 października, 2021 by admin

Funkcja 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
  • 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.
  • 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 ( )
  • Przykład kodu

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 Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Archiwa

  • styczeń 2022
  • grudzień 2021
  • listopad 2021
  • październik 2021
  • wrzesień 2021

Meta

  • Zaloguj się
  • Kanał wpisów
  • Kanał komentarzy
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress