Kurs ESP8266 #3: Zapoznanie ze środowiskiem oraz pierwszy program

Teraz sprawmy aby nasza dioda mrygała. Tutaj sprawa się lekko komplikuje, bo nie możemy dodać -jak to było w przypadku Arduino- opóźnień czasowych (przynajmniej nie w tak prostej formie). Musimy mądrze napisać funkcję warunkową, która będzie sprawdzać stan pinu. Następnie, jeżeli stan jest wysoki (led zgaszony) to zapal diodę (podaj stan niski na pin), w przeciwnym wypadku (else) zgaś diodę (podaj stan wysoki).
Kolejna ważna sprawa. Programując AVR (nie ważne czy w Arduino czy w zwykłym AVR-GCC) zawsze mieliśmy pętlę główną programu. Tutaj nie mamy czegoś takiego. Tutaj musimy utworzyć klasę, która to będzie wykonywana w określony sposób. Lecz ta klasa nie będzie wykonywać się cały czas, tylko zostanie wykonana raz i program się kończy.
Wcześniej wspominałem, że w Lua nie możemy sterować przy pomocy opóźnień czasowych. Tutaj sterujemy przerwaniami timera. Może brzmi to groźnie, ale jak zaraz się przekonasz jest to proste.

Podsumowując:

  1. Tworzymy klasę dla naszego programu
  2. Tworzymy funkcję warunkową wykonującą mryganie
  3. Dodajemy przerwania Timera, aby nasza funkcja była wykonywana.

Klasę tworzymy przy pomocy function():

Od tego momentu wszystko co zapiszemy pomiędzy function, a end będzie zawarte w tej klasie.

Teraz musimy stworzyć funkcje warunkową:

Jak widzimy nasza funkcja musi sprawdzić jakiś warunek. W naszym przypadku musi sprawdzić stan na pinie. Do sprawdzenia stanu na pinie wykorzystujemy funkcję gpio.read():

Pozostało nam tylko dodać obsługę Timera:

Uff… może wygląda to groźnie na pierwszy rzut, ale jak sam po próbujesz pisać program to szybko załapiesz ;)
Gdy jesteśmy już przygotowani to możemy napisać ten program:

Jeżeli masz bystre oko to pewnie zauważyłeś, że w Lua do komentowania używamy dwóch myślników, a nie jak w innych języka slasha.

W efekcie nasz program powinien działać tak:

led

 

Podsumowanie

Po dzisiejszej obszernej lekcji powinieneś umieć:

  • poruszać się po środowisku ESPlora
  • umieć podłączyć ESP-01 do emulatora portu COM
  • napisać program wysyłający tekst po przez UART, zapalać diodę oraz wykonywać funkcję mrygania diodą

 

Zobacz pozostałe części kursu [ TUTAJ ]

Jeżeli chcesz być informowany na bieżąco o nowych częściach kursu to kliknij „Lubię to!” bądź subskrybuj naszą stronę, aby otrzymywać na adres e-mail nowości ze strony. Jeżeli masz jakieś pytania to śmiało zadawaj je na forum ; )

  • Mscichu

    Czekam na następne części kursu. Wszystko elegancko przedstawione i wytłumaczone. Dzięki za wszystko!

    • Dzięki. Takie miłe słowa tylko nas napędzają do pracy :)