X

Kurs ESP - Analog

Kontrolery ESP obsługują przynajmniej jeden kanał analogowy. Dzięki temu są w stanie odczytać dane z czujników, które nie komunikują się w sposób cyfrowy. 

Mikrokontroler ESP8266 posiada jeden dedykowany kanał analogowy. Rozdzielczość pomiaru wynosi 10-bit, daje to zakres 0-1023, co odpowiada napięciu 0-1V. Większość dedykowanych płytek, takich jak NodeMCU V3,

posiada wbudowany dzielnik napięcia, powoduje to zmianę zakresu pomiaru napięcia na zakres 0-3,3V.

Mikrokontroler ESP32 posiada dwa dedykowane kanały analogowe. Rozdzielczość pomiaru wynosi 12-bit, daje to zakres 0-4095, co odpowiada napięciu 0-3.3V. 

Port Analogowy daje możliwość korzystania z analogowych czujników takich jak termometr, fotorezystor, woltomierz czy potencjometr.

Schemat.

Wymagany rezystor 220Ω.

Schemat ESP Analog Schemat

Kod programu.

Sensor LM35 jest domyślnie skalibrowany do pomiaru w stopniach Celcjusz. Wzrost temperatury o 1 stopień powoduje wzrost napięcia o 10mV. 

#define analogtPin A0
#define led D2

void setup() {
  Serial.begin(9600); 
  pinMode(led, OUTPUT);
}

void loop()     

{
  int analogValue = analogRead(analogtPin); // Odczyt napięcia pinu analogowego
  float millivolts = (analogValue/1024.0) * 3300; // Uzyskanie wartości w mV
  float celsius = millivolts/10; // Wzrost temperatury o 1 stopień powoduje wzrost napięcia o 10mV.
  Serial.print("C =   ");
  Serial.println(celsius);

  if(celsius >= 30)
    digitalWrite(led, HIGH); // Zapalenie diody LED powyżej 30^C
  else
    digitalWrite(led, LOW); // Zgaszenie diody LED poniżej 30^C
    
delay(1000);
}

Monitor portu szeregowego.

Schemat ESP Analog Serial