Piny analogowe potrafią mierzyć napięcie.
W Arduino UNO piny wejść analogowych znajdują się w prawym dolnym rogu. Ponumerowane są od 0 do 5. Pozwalają mierzyć napięcie od 0 do 5 V. Rozdzielczość wynosi 10 bitów, co daje 1024 poziomy napięcia i dokładność 0,005 V.
analogRead - mierzenie napięcia
wartosc_wejscia = analogRead(numer_pinu);
analogRead [ang. odczyt z pinu analogowego] - odczytuje napięcie jakie wpływa do jednego z pinów analogowych.
Argumenty
- numer_pinu - numer pinu analogowego
Wartość zwracana
- wartosc_wejscia - podaje wartość napięcia wyrażoną w liczbach od 0 do 1023. 0 = 0 V, 1024 = 5 V.
Przykład użycia
void setup() {
Serial.begin(9600);
}
void loop() {
word value = analogRead(2);
Serial.print(F("Wejscie analogowe 2 ma wartosc: "));
Serial.println(value);
delay(500);
}
Program odczytuje wartość napięcia jakie wpływa do pinu analogowego 2. Zapisuje tą wartość do zmiennej "value". Następnie wysyła ją do komputera, gdzie możesz ją odczytać za pomocą "Monitora portu szeregowego".
W ramach testów możesz do wejścia analogowego podłączać na przemian GND, 5 V i 3,3 V z pinów "POWER". Możesz też mierzyć inne napięcia nie przekraczające 5 V.
analogReference - ustawianie maksymalnego napięcia pomiarowego.
analogReference(zrodlo_napiecia);
analogReference [ang. napięcie odniesienia] - ustawia napięcie odniesienia dla wejść analogowych.
Jeśli do wejść analogowych wpływają napięcia o zakresie dużo mniejszym niż 5 V, wtedy pomiar napięcia nie jest tak dokładny. Ta funkcja może sprawić, że wartość 1023 będzie osiągana przy niższym napięciu, co poprawi dokładność pomiaru.
Argumenty
- zrodlo_napiecia - wybiera źródło napięcia odniesienia:
DEFAULT
[ang. DOMYŚLNE] - napięcie odniesienia to napięcie zasilania 5 V. Z tym ustawieniem wejścia analogowe działają normalnie - 5 V = 1023.INTERNAL
[ang. WEWNĘTRZNE] - napięcie odniesienia to wewnętrzne dokładne źródło napięcia 1,1 V. Z tym ustawieniem wejście analogowe osiąga wartość 1023 przy napięciu 1,1 V.EXTERNAL
[ang. ZEWNĘTRZNE] - napięcie odniesienia pochodzi z pinu AREF. Z tym ustawieniem można podłączyć tam napięcie maksymalne przy którym wejście analogowe ma zwracać wartość 1023. Zewnętrzne napięcie odniesienia nie może przekraczać 5 V.
Przykład użycia
analogReference(INTERNAL);