· WARSZTAT IMZ
Ekspresowe wprowadzenie do Arduino i ESP32
Ekspresowe wprowadzenie do Arduino i ESP32
Ten krótki artykuł stanowi błyskawiczne wprowadzenie do świata mikrokontrolerów — szczególnie dwóch popularnych platform: Arduino (ATmega328) oraz ESP32. Nie jest to szczegółowy opis, lecz szybki przewodnik, który pozwoli Ci rozpocząć pracę. Po bardziej rozbudowane materiały odsyłam do dokumentacji producentów układów oraz strony: randomnerdtutorials.com.
- Czym jest płytka deweloperska?
Płytka deweloperska to zestaw elementów elektronicznych, które umożliwiają wygodne korzystanie z mikrokontrolera — serca każdej płytki. Zawiera wszystko, czego potrzeba, aby układ uruchomić, zasilić, zaprogramować i połączyć z innymi modułami. Najważniejsze elementy płytki deweloperskiej:
Procesor główny – odpowiada za możliwości płytki; wymaga dodatkowej elektroniki (rezystory, kwarc, pamięć, antena w ESP32, kondensatory).
Układ stabilizacji napięcia – umożliwia bezpieczne zasilanie płytki np. ładowarką USB.
Konwerter USB–UART – umożliwia komunikację z komputerem.
Port USB – służy do zasilania i programowania.
Goldpiny – wyprowadzenia GPIO, zasilania oraz linii komunikacyjnych.
Wymiary fizyczne płytek – rozstawy pinów, otwory montażowe.
- Główne platformy: Arduino i ESP32
Kluczową cechą mikrokontrolerów są sprzętowe peryferia — niezależne obwody wykonujące operacje bez udziału CPU (timery, PWM, ADC, itd.). Arduino (ATmega328)
Płytki Arduino UNO i kompatybilne korzystają z procesora ATmega328. Udostępnia on piny GPIO z funkcjami PWM, ADC, I²C, UART i SPI. Cechy charakterystyczne ATmega328:
architektura harwardzka,
zasilanie 5 V,
odporne wejścia/wyjścia,
producent: Microchip (wcześniej Atmel),
sprzętowy watchdog,
23 piny GPIO (14 cyfrowych + 6 analogowych),
6 PWM, 6 ADC (10-bit), 1 UART, 1 I²C, 1 SPI.
ESP32 (Espressif Systems)
ESP32 to SoC z WiFi, Bluetooth i systemem FreeRTOS. Udostępnia 34 GPIO (25–30 na płytkach deweloperskich). Sprzętowe peryferia ESP32:
16 PWM, 18 ADC (12-bit), 2 DAC,
3 UART-y, kontrolery SPI,
I2S, RMT, CAN, Touch, Hall,
sprzętowe szyfrowanie, watchdog, FreeRTOS.
Dzięki konstrukcji IO MUX wiele funkcji (PWM, UART, I2C, SPI) można przypisać do niemal dowolnego GPIO. 3. Wstęp do programowania mikrokontrolerów
Mikrokontroler może ustawić pin w stan wysoki lub niski:
digitalWrite(10, HIGH);
Arduino IDE – pierwsze kroki
Sketchbook – przechowuje programy, Boards Manager – dodawanie płytek, Library Manager – instalacja bibliotek.
Instalacja obsługi ESP32:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Pierwszy program – Hello World (UART)
UART obsługiwany jest przez bibliotekę Serial.
void setup() { Serial.begin(115200); delay(1000); Serial.println("Hello World!"); }
void loop() { Serial.println("Witaj z mikrokontrolera!"); delay(1000); }
Monitor portu szeregowego:
Menu: Narzędzia → Monitor portu szeregowego
Ustaw: 115200
Słownik użytych skrótów
GPIO – General Purpose Input/Output
PWM – Pulse Width Modulation
ADC – Analog to Digital Converter
DAC – Digital to Analog Converter
I²C – Inter-Integrated Circuit
SPI – Serial Peripheral Interface
UART – Universal Asynchronous Receiver/Transmitter
SoC – System on Chip
FreeRTOS – system czasu rzeczywistego
bootloader – program startowy