Kurs ESP8266 #5: Obsługa ADC

Cześć,
w dzisiejszej części kursu o ESP8266 przedstawimy w jaki sposób obsługiwać wbudowany przetwornik analogowo-cyfrowy. Zapraszamy !

Spis treści:

  1. Specyfikacja ADC dla ESP8266
  2. Podstawowe funkcje
  3. Przykładowy program #1: Odczyt wartości ADC
  4. Przykładowy program #2: Praktyczne wykorzystanie przetwornika ADC
  5. Podsumowanie

Co będziemy potrzebować do tej części kursu:

  • ESP8266 (posiadające wyprowadzony pin ADC)
  • Potencjometr 10k ohm
  • fotorezystor
  • rezystor 100 k ohm
  • przewody połączeniowe
Przed rozpoczęciem kursu upewnij się, że w firmwarze ESP8266 masz odblokowany moduł ADC

 

1. Specyfikacja ADC dla ESP8266

  • Typ przetwornika: SARADC
  • Rozdzielczość: 10 bit
  • Poziomy kwantyzacji: 1024
  • Pełna skala pomiaru: 0 – 3,3V
  • Rozdzielczość napięciowa: ~ 3,2 mV (bo 3,3V / 1024)
  • Ilość wyprowadzeń: 1

Miejsce wyprowadzenia pinu ADC:

adc_pinZe wszystkich podanych parametrów naszym zdaniem najważniejszym jest pełna skala pomiaru, której górna granica wynosi 3,3V. Po znacznym przekroczeniu tej granicy (więcej niż 3,5V) możemy uszkodzić ten przetwornik. Liczy się to głównie, gdy zapomnimy się po przejściu z Arduino, gdzie będziemy chcieli zbadać napięcie z zakresu 0-5V. W tym przypadku może to być śmiertelne dla naszego ADC, a w najgorszym przypadku dla całego modułu. Jeżeli chcesz zbadać napięcie większe niż 3,3V to musisz zbudować odpowiedni dzielnik napięcia, który obniży maksymalną wartość mierzonego napięcia do bezpiecznego 3,3V.

2. Podstawowe funkcje

Zazwyczaj w tym miejscu spotykacie długą listę funkcji, ale tym razem będzie inaczej :) przy odczycie ADC wystarczy nam jedna funkcja, adc.read():

I to już naprawdę wszystko co potrzebujemy :)

Z dodatkowych funkcji jest jeszcze jedna:

Funkcja ta zwraca nam w mV, jakim napięciem zasilany jest ESP8266. Jak już wiemy jak obsługiwać ADC to możemy przejść do napisania programu.

3. Przykładowy program #1: Odczyt wartości ADC

Ten program ma za zadanie wskazywać wartość ADC powstałą na potencjometrze, a następnie ją przeliczać na napięcie.

Schemat:

5_1

Program:

Na samym początku tworzymy dwie zmienne, w których będziemy przechowywać naszą wartość ADC oraz obliczoną wartość napięcia. Następnie tworzymy pętlę główną programu o nazwie pomiarADC, gdzie będziemy wykonywać nasze pomiary i obliczenia. Na samym początku przypisujemy zmiennej wartoscADC odczyt z przetwornika. Następnie otrzymaną wartość wysyłamy na monitor portu szeregowego. Po wykonaniu tej operacji, przechodzimy do obliczenia napięcia, korespondującego z otrzymaną wcześniej wartością ADC.

Przy wykonywaniu obliczeń, pamiętaj, że liczby „z przecinkiem” zapisujemy w programie kropką, a nie przecinkiem

Następnie otrzymaną wartość napięcia wysyłamy na monitor portu szeregowego. To jest koniec głównej pętli naszego programu. Pozostało nam tylko ustawienie timera, aby wykonywał nasz program co 700 milisekund.

Po wgraniu programu powinniśmy otrzymać taki rezultat:

  • Stanisław Gromowski

    Bardzo fajnie i przystępnie wytłumaczone, mam nadzieję że to nie koniec :)

    • W niedalekiej przyszłości będzie dalsza część tego kursu ;)

      • Stanisław Gromowski

        To czekam niecierpliwie :)