Co to są ADC w Arduino

Co to są ADC w Arduino

ADC (konwerter analogowy na cyfrowy) to technika, za pomocą której możemy przekonwertować wartości analogowe na wartości cyfrowe. Dlaczego potrzebujemy tej konwersji analogowej na cyfrowy, a także jaka jest różnica między wartościami analogowymi i cyfrowymi? Wartości, które mają tylko dwa możliwe stany jeden lub zero, są znane jako wartości binarne, takie jak wyjście przycisku; albo będzie otwarty (zero) lub zamknięty (1). Wbrew temu niektóre wartości są ciągłe, podobnie jak częstotliwość ludzkich dźwięków, generuje ciągłą falę dźwięku, która ma różne wartości, takie wartości są znane jako wartości analogowe.

Maszyny rozumieją tylko wartości binarne, które są w kombinacji zer i one, podczas gdy wartości cyfrowe są reprezentacjami liczb binarnych. W tym zapisie omówiono wykorzystanie ADC w Arduino, a także wyjaśniono proces konwersji.

Jakie są ADC w Arduino

W Arduino podłączone są różne czujniki i elementy elektryczne, które wprowadzają sygnały analogowe, podczas gdy Arduino może zrozumieć tylko sygnały cyfrowe. Aby to rozwiązać, każda tablica Arduino ma kilka wbudowanych ADC, które konwertują wejście analogowe na wartości cyfrowe, które są czytelne przez Arduino. Omówimy ADCSOf Arduino Uno, ma 6 pinów, aby wziąć wkład oznaczony przez A0, A1, A2, A3, A4 i A5.

Te sześć pin ma 10-bitowe ADC, więc przekonwertują wartości analogowe na wartości cyfrowe w zakresie od 0 do 1023, a wartość ta jest znana jako rozdzielczość, ponieważ reprezentuje wartości dyskretne.

Jak działa ADCS w Arduino

W Arduino wartości analogowe są odwzorowane na wartości cyfrowe według współczynnika 5mV (ta wartość 5 mV jest dostarczana poprzez podzielenie wartości VREF na 1023), co oznacza, że ​​zwiększy wartość cyfrową o jeden na wzrost każdego 5 mV analogowego analogowego wartość.

Rozważ następującą tabelę, aby lepiej zrozumieć:

Wartość analogowa Wartość w bitach Wartość cyfrowa
0 woltów 0000000000 0
5 mV 0000000001 1
10 mV 0000000010 2
5 woltów 1111111111 1023

Jaka jest formuła analogowa do cyfrowej

Istnieje równanie matematyczne, za pomocą którego możemy przekonwertować wartości analogowe na wartości cyfrowe, a wzór to:

((Rozdzielczość ADC)/(napięcie wejściowe)) = ((ADC Reading)/(analogowa wartość zmierzona)))

Aby zrozumieć powyższe równanie, rozważ następujące wartości, aby znaleźć odczyt ADC:

Rozdzielczość ADC = 1024 (ADC w Arduino UNO jest 10-bit)
Napięcie wejściowe = 10 woltów
ADC Reading = x (to ma się znaleźć)
Analog mierzona wartość = 3 wolty (Załóżmy, że czujnik odczytuje wartość 3 woltów)

Zgodnie z powyższym równaniem:

x = (1024/5)*3 = 614

Tak więc wartość cyfrowa odczytana przez Arduino w stosunku do wartości analogowej 3 woltów wyniesie 614.

Aby to zrozumieć, skonfigurujemy obwód za pomocą potencjometru, w którym zmienimy analogowe napięcie wejściowe, a następnie wyświetli wartości analogowe i cyfrowe na monitor szeregowych. Kod Arduino w tym celu będzie:

int Potpin = A3, D_Value = 0;
float a_value = 0.00;
void setup ()
Seryjny.rozpocząć (9600);

void Loop ()
d_value = analogread (potpin);
Seryjny.print („cyfrowa wartość =”);
Seryjny.print (d_value);
a_value = (d_value * 5.00)/1023.00;
Seryjny.print („Analog Voltage =”);
Seryjny.println (a_value);
opóźnienie (1000);


Objaśnienie kodu: Zadeklarowaliśmy dwie zmienne liczbowe potpin z wartością A3 (potencjometr zostanie podłączony na pin A3) i D_Value z wartością 0. Zmienna typu danych zmiennoprzecinkowych, która jest A_Value i przechowuje w nim zero. W pętli odczytujemy wartości potencjometru i zapisujemy jego wartości w zmiennej D_Value. Następnie za pomocą powyższej formuły matematycznej, przekonwertuj D_Value w analog. Wyświetlaliśmy obie wartości na monitorze szeregowym za pośrednictwem komunikacji szeregowej i opóźniliśmy 1 sekundę w każdej iteracji pętli.

Sprzęt i symulacja

Będziemy potrzebować następujących komponentów:

  • Potencjometr 4.7k Ohm
  • Arduino Uno
  • Tablica chleba
  • Łączenie przewodów

Podłącz jedną nogę potencjometru z ziemią, drugą nogę z 5 woltami i środkową nogą z kanałem analogowym A3. Schemat obwodu obwodu potencjometru z Arduino będzie:

W powyższym obwodzie, kiedy zmienimy wartości pin analogowych, możemy wizualizować odpowiednie wartości cyfrowe na monitor szeregowych. Symulacja powyższego obwodu w czasie rzeczywistym będzie:

Konfiguracja sprzętowa będzie taka:


Wyjście monitora szeregowego polubi to po zmienianiu rezystancji potencjometru:

Wniosek

ADC w Arduino są używane do konwersji analogowych wartości wejściowych na wartości cyfrowe, ponieważ wartości analogowych nie mogą być przetwarzane przez Arduino; maszyny i mikrokontrolery, ponieważ rozumieją tylko wartości cyfrowe. W tym artykule ADC są wyjaśnione przez ich pracę w Arduino, a także wykazały przykład działania ADC w Arduino.