Uvod u ESP32
ESP32 je moderna mikrokontrolerska platforma kompanije Espressif Systems koja objedinjuje programiranje, elektroniku i bežičnu komunikaciju. Zahvaljujući ugrađenim Wi-Fi i Bluetooth modulima, ESP32 omogućava razvoj pametnih uređaja koji mogu da komuniciraju sa računarima, mobilnim telefonima, senzorima i internet servisima.
Poslednjih godina ESP32 je postao jedan od najpopularnijih mikrokontrolera među studentima, hobistima, nastavnicima i profesionalnim programerima. Koristi se za izradu IoT (Internet of Things) sistema, automatizaciju doma, meteorološke stanice, sisteme za nadzor, pametne bašte, robote i mnoge druge projekte.
Za razliku od klasičnih mikrokontrolerskih ploča koje služe prvenstveno za upravljanje elektronskim komponentama, ESP32 omogućava i povezivanje sa internetom bez dodatnog hardvera. To ga čini idealnim izborom za savremene projekte u kojima je potrebno slati podatke, pratiti senzore na daljinu ili upravljati uređajima putem mobilnog telefona.
ESP32 DevKit
Najčešće korišćena razvojna ploča za učenje i realizaciju projekata.
IoT Projekti
Povezivanje senzora, uređaja i internet servisa u jedinstven sistem.
Bluetooth i Wi-Fi
Bežična komunikacija sa telefonima, računarima i drugim uređajima.
U svojoj osnovi ESP32 se sastoji od dve glavne komponente:
- Hardver — razvojna ploča sa ESP32 mikrokontrolerom
- Softver — razvojno okruženje kao što su Arduino IDE, PlatformIO ili ESP-IDF
ESP32 predstavlja korak dalje u odnosu na klasične Arduino ploče. Pored upravljanja LED diodama, motorima i senzorima, omogućava povezivanje sa internetom, kreiranje web servera, slanje podataka u cloud i razvoj kompletnog IoT sistema.
Kako izgleda ESP32 i koje su njegove glavne karakteristike?
ESP32 poseduje znatno veće mogućnosti od većine početničkih mikrokontrolerskih ploča. Iako je cenovno veoma pristupačan, nudi performanse dovoljne za realizaciju ozbiljnih projekata i sistema za automatizaciju.
- ✅ 32-bitni dual-core procesor brzine od 160 do 240 MHz
- ✅ Ugrađen Wi-Fi modul za povezivanje na internet
- ✅ Ugrađen Bluetooth i Bluetooth Low Energy (BLE)
- ✅ Veliki broj GPIO pinova
- ✅ Podrška za PWM, ADC, DAC, UART, SPI i I2C komunikaciju
- ✅ Više RAM i Flash memorije nego Arduino UNO
- ✅ Mogućnost rada u režimima male potrošnje energije
- ✅ Pogodan za IoT i embedded sisteme
Najčešće razvojne ploče zasnovane na ovom mikrokontroleru su ESP32 DevKit, NodeMCU-32S i ESP32-S3 razvojne ploče. Iako postoje manje razlike između modela, osnovni principi programiranja i povezivanja ostaju veoma slični.
ESP32 ploča
Razvojna ploča sa mikrokontrolerom, USB interfejsom i GPIO pinovima.
Raspored pinova
GPIO, ADC, PWM i komunikacioni pinovi za povezivanje različitih uređaja.
ESP32 vs Arduino UNO
Kada se prvi put susretnemo sa mikrokontrolerima, najčešće se postavlja pitanje da li koristiti Arduino UNO ili ESP32. Obe platforme imaju svoje prednosti, ali su namenjene različitim vrstama projekata.
Arduino UNO je jednostavan za učenje i idealan za prve korake u elektronici, dok ESP32 nudi znatno veću procesorsku snagu, više memorije i ugrađene mogućnosti bežične komunikacije. Zbog toga je ESP32 danas veoma popularan u IoT sistemima, pametnim uređajima i projektima koji komuniciraju preko interneta.
| Karakteristika | ESP32 | Arduino UNO |
|---|---|---|
| Procesor | 32-bitni Dual-Core do 240 MHz | 8-bitni AVR 16 MHz |
| Wi-Fi | ✔ Ugrađen | ✖ Potreban dodatni modul |
| Bluetooth | ✔ Ugrađen | ✖ Nije podržan |
| RAM memorija | Stotine KB | 2 KB SRAM |
| Flash memorija | Više MB | 32 KB |
| GPIO pinovi | 30+ pinova | 14 digitalnih + 6 analognih |
| Najčešća primena | IoT, web serveri, automatizacija | Osnovna elektronika i edukacija |
ESP32 poseduje ugrađene Wi-Fi i Bluetooth module, pa može direktno da komunicira sa internetom ili mobilnim telefonom bez dodatnog hardvera.
Iako je Arduino UNO i dalje odličan izbor za prve korake u elektronici, ESP32 pruža mnogo veće mogućnosti za razvoj savremenih povezanih uređaja. Upravo zbog toga se danas često koristi kao osnova za IoT projekte, pametne kućne sisteme, robote i uređaje za daljinski nadzor.
Gde se koristi ESP32?
Jedan od glavnih razloga velike popularnosti ESP32 mikrokontrolera jeste njegova svestranost. Zahvaljujući snažnom procesoru, velikom broju ulazno-izlaznih pinova i ugrađenim Wi-Fi i Bluetooth modulima, ESP32 se može koristiti u veoma različitim oblastima — od školskih i hobi projekata do profesionalnih IoT sistema.
Za razliku od klasičnih mikrokontrolera koji rade kao samostalni uređaji, ESP32 može da komunicira sa drugim uređajima, mobilnim telefonima, web serverima i cloud platformama. Upravo zbog toga predstavlja odličan izbor za razvoj savremenih pametnih sistema.
Robotika
Upravljanje motorima, senzorima i autonomnim uređajima.
Pametna kuća
Automatizacija rasvete, grejanja i drugih uređaja u domu.
Razvoj projekata
Arduino IDE, PlatformIO i ESP-IDF za praktičan rad sa ESP32.
Internet of Things (IoT)
ESP32 je jedna od najpopularnijih platformi za razvoj IoT sistema (Internet of Things). U ovakvim projektima uređaji prikupljaju podatke pomoću senzora i šalju ih preko interneta drugim uređajima ili serverima.
Na primer, ESP32 može očitavati temperaturu, vlažnost vazduha ili osvetljenje prostorije i prikazivati podatke na web stranici ili mobilnoj aplikaciji. Na osnovu tih podataka moguće je automatski uključiti ventilaciju, grejanje ili navodnjavanje biljaka.
Robotika i automatizacija
Zahvaljujući podršci za PWM signale, komunikacione protokole i veliki broj GPIO pinova, ESP32 se veoma često koristi u robotici. Može upravljati servo motorima, DC motorima, senzorima udaljenosti i različitim izvršnim elementima.
Jedan od zanimljivih projekata jeste robot kojim se upravlja preko mobilnog telefona putem Bluetooth veze ili preko web interfejsa korišćenjem Wi-Fi mreže.
Pametna kuća (Smart Home)
Savremeni sistemi za automatizaciju doma često koriste ESP32 kao centralni upravljački uređaj. Na njega se mogu povezati senzori temperature, vlage, pokreta, dima i osvetljenja.
Na osnovu očitanih vrednosti moguće je automatski uključivati svetla, otvarati roletne, pokretati ventilatore ili slati obaveštenja korisniku na mobilni telefon.
Bluetooth komunikacija
Pored Wi-Fi komunikacije, ESP32 poseduje ugrađen Bluetooth modul. To omogućava povezivanje sa mobilnim telefonima, tabletima i drugim uređajima bez potrebe za internet vezom.
Bluetooth komunikacija je posebno korisna za razvoj aplikacija za daljinsko upravljanje robotima, rasvetom, motorima ili drugim elektronskim uređajima.
Audio i multimedijalni projekti
Zahvaljujući velikoj brzini rada i podršci za digitalne audio interfejse, ESP32 se koristi i u multimedijalnim projektima. Moguće je napraviti internet radio, Bluetooth zvučnik, sistem za reprodukciju muzike ili uređaj za glasovne komande.
Industrijska primena
ESP32 se koristi i u industrijskim sistemima za nadzor i automatizaciju. Može da prikuplja podatke sa senzora, prati rad mašina i šalje informacije na server radi analize i održavanja opreme.
ESP32 nije namenjen samo učenju programiranja. Zahvaljujući ugrađenim komunikacionim mogućnostima i velikoj procesorskoj snazi, koristi se u pametnim kućama, robotici, industriji, IoT sistemima i mnogim drugim oblastima savremene elektronike.
Napajanje i povezivanje servo motora
Jedan od najčešćih primera za upoznavanje sa PWM signalima jeste upravljanje servo motorom. Iako ESP32 koristi logičke nivoe od 3.3 V, većina servo motora zahteva napajanje od 5 V.
- Nemojte napajati servo motor sa 3.3 V pina ESP32 ploče.
- Koristite eksterno 5 V napajanje kada servo zahteva veću struju.
- Obavezno povežite zajedničku masu (GND) servoa i ESP32 ploče.
- Poželjno je dodati kondenzator od 100–470 μF između 5 V i GND.
Ako se ESP32 resetuje kada servo počne da se okreće, uzrok je najčešće nedovoljno napajanje servo motora.
Osnovna šema povezivanja servoa
- Signal → GPIO18
- VCC → +5 V napajanje
- GND → zajednička masa sa ESP32
Primer: Servo Sweep sa ESP32
Sledeći primer pomera servo motor od 0° do 180° i zatim nazad do početnog položaja. Za njegovo pokretanje potrebno je instalirati biblioteku ESP32Servo.
// ESP32 Servo Sweep
#include <ESP32Servo.h>
Servo myServo;
const int servoPin = 18;
void setup()
{
myServo.attach(servoPin);
}
void loop()
{
for(int pos = 0; pos <= 180; pos++)
{
myServo.write(pos);
delay(15);
}
for(int pos = 180; pos >= 0; pos--)
{
myServo.write(pos);
delay(15);
}
}
Program neprekidno pomera servo motor ulevo i udesno, što predstavlja jedan od najpoznatijih primera za upoznavanje sa PWM upravljanjem.
Dodatni saveti
- Za više servoa koristite zasebno napajanje.
- Vodite računa o maksimalnoj struji koju servo može da povuče.
- Koristite kvalitetne kablove i stabilno napajanje.
- Pre uključivanja proverite sve veze na breadboard-u.
Nakon ovog primera pokušajte da upravljate servo motorom pomoću potenciometra, Bluetooth aplikacije ili web stranice koju hostuje ESP32.
Više o radu servo motora možete pročitati na sledećoj strani:
Prednosti i ograničenja ESP32 platforme
Kao i svaka razvojna platforma, ESP32 ima svoje prednosti i ograničenja. Upravo zbog dobre ravnoteže između cene, mogućnosti i jednostavnosti korišćenja postao je jedan od najpopularnijih mikrokontrolera za učenje i razvoj IoT sistema.
✅ Prednosti
- Ugrađeni WiFi i Bluetooth moduli
- Veliki broj GPIO pinova
- Brz 32-bitni procesor
- Podrška za brojne senzore i module
- Pogodan za IoT projekte
- Velika zajednica i mnogo primera
⚠ Ograničenja
- Radi na 3.3V logičkim nivoima
- Nisu svi GPIO pinovi jednako pogodni za sve namene
- Složeniji je za početnike od Arduino Uno ploče
- Pojedini projekti zahtevaju dodatno napajanje
Uprkos navedenim ograničenjima, ESP32 predstavlja odličan izbor za učenike koji žele da pređu sa osnovnih elektronskih kola na savremene sisteme koji komuniciraju sa drugim uređajima i internetom.
Ako prvi put radite sa mikrokontrolerima, preporučuje se da najpre savladate osnove programiranja i rada sa LED diodama, tasterima i senzorima, a zatim postepeno pređete na WiFi, Bluetooth i IoT projekte.
Priprema Arduino IDE okruženja za ESP32 projekte
Ovaj modul nastavlja lekciju Uvod u ESP32 i daje praktično, korak-po-korak uputstvo za pripremu Arduino IDE okruženja, kako biste mogli odmah da počnete sa ESP32 projektima (uključujući i ranije prikazani primer upravljanja servo motorom). Tekst je kratka i pregledna web-lekcija sa jasnim koracima, preporukama i kontrolnom listom za početnike.
1. Instalacija ESP32 Arduino Core dodatka (Board Manager)
Arduino Core for ESP32 omogućava IDE-u da kompajlira i otprema skice na ESP32 razvojne ploče. Ovo nije firmware uređaja — već alat i biblioteke koje IDE koristi.
- Otvorite File → Preferences u Arduino IDE.
- U polje Additional Boards Manager URLs dodajte:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json - Otvorite Tools → Board → Boards Manager…, potražite ESP32, pronađite esp32 by Espressif Systems i instalirajte. Preporučena verzija je 3.3.1.
2. Izbor ploče i porta
- Idite na Tools → Board i izaberite odgovarajući model (npr. ESP32 Dev Module ili vašu tačnu verziju).
- Povežite ploču preko USB-a i u Tools → Port izaberite pravi COM port.
- Ako upload ne uspeva, probajte drugi USB kabl ili postavite upload brzinu na
115200u Tools meniju.
3. Instalacija preporučenih biblioteka (Library Manager)
Neke biblioteke nisu deo ESP32 core paketa i morate ih instalirati preko Library Manager-a (Sketch → Include Library → Manage Libraries…):
- ESP32Servo — upravljanje servo motorima na ESP32.
#include <ESP32Servo.h> - ArduinoJson — parsiranje JSON podataka za REST / IoT projekte.
#include <ArduinoJson.h> - Adafruit Unified Sensor + DHT sensor library — rad sa temperaturnim/vlažnosnim senzorima.
#include <DHT.h> - Adafruit GFX + Adafruit SSD1306 — OLED displeji.
#include <Adafruit_SSD1306.h> - EEPROM — čuvanje malih vrednosti kroz restart.
#include <EEPROM.h> - AsyncTCP i ESPAsyncWebServer — za brze web servere (često se instaliraju ručno sa GitHub-a).
4. Korisni ugrađeni header fajlovi
ESP32 core već sadrži sledeće API-je — samo ih uključite u vašu skicu:
#include <WiFi.h>
#include <HTTPClient.h>
#include <Wire.h> // I2C
#include <SPI.h> // SPI
#include <Preferences.h> // trajno skladištenje podataka (bolja alternativa EEPROM-u)
5. Preporuke za napajanje i povezivanje
- ESP32 koristi 3.3V logiku. Većina servo kontrolnih signala radi i na 3.3V, ali napajanje serva je 5V.
- Koristite eksterni 5V izvor za servoe koji vuku više struje. Servo GND mora ići na isti GND kao ESP32.
- Postavite elektrolitski kondenzator (100–470 μF) preko 5V i GND na napajanju serva kao filtraciju pri pokretanju.
- Ako servo "drhti", prvo proverite napajanje i masu pre menjanja koda.
6. Brza kontrolna lista za novi ESP32 projekat
- Instalisati ESP32 core (preporučeno 3.3.1).
- Izabrati tačnu ploču i port.
- Instalirati biblioteke: ESP32Servo, ArduinoJson, Adafruit Unified Sensor, DHT sensor, Adafruit GFX, Adafruit SSD1306.
- Povezati hardver sa ispravnim napajanjem i zajedničkom masom.
- Otvoriti primer (File → Examples) i proveriti upload i Serial Monitor.
7. Starter skica (tipični header-i)
Ovo su tipični include fajlovi koje ćete koristiti u većini ESP32 projekata — pod uslovom da su biblioteke instalirane:
#include <ESP32Servo.h> // instalirati preko Library Manager-a
#include <WiFi.h> // ugrađeno
#include <HTTPClient.h> // ugrađeno
#include <ArduinoJson.h> // instalirati preko Library Manager-a
// ostatak vaše skice ...
8. Saveti i rešavanje problema
- Koristite Examples svakog library-ja za brže učenje.
- Ako biblioteka nije u Library Manageru, potražite je na GitHub-u (npr. ESPAsyncWebServer često se ručno instalira).
- Kada koristite kod za Arduino UNO, obratite pažnju na razlike u pinovima i naponima.
- Za trajno skladištenje podataka radije koristite Preferences nego EEPROM.
9. Preporučeni paket biblioteka za početnike
Instalirajte odmah ove biblioteke kako biste izbegli kasnije prekide u radu:
- ESP32Servo
- ArduinoJson
- Adafruit Unified Sensor
- DHT sensor library
- Adafruit GFX + Adafruit SSD1306
- Preferences / EEPROM (ugrađeno)
Uz ovaj modul i uvodnu lekciju, čitaoci dobijaju kompaktno i praktično uputstvo za pripremu okruženja i izbegavanje najčešćih problema pri radu sa ESP32 u Arduino IDE-u.
10. USB drajveri i rešavanje problema (Windows)
Dešava se da Windows ne instalira automatski USB-to-Serial drajver. Tipični simptomi: nema COM porta u Tools → Port, u Device Manager-u se pojavljuju uređaji pod Other devices kao CP2102 USB to UART…, ili se pojavljuje samo ECP Printer Port.
Koji drajver vam može biti potreban
- CP210x (Silicon Labs) — veoma čest na ESP32 razvojnim pločama.
- CH340 / CH341 (WCH) — prisutan na jeftinijim ili klon pločama.
Instalacija preko EXE fajla
- Ako ZIP sadrži installer (npr.
CP210xVCPInstaller_x64.exe), pokrenite ga kao administrator. - Po završetku instalacije, isključite i ponovo povežite ploču.
Ručno instaliranje drajvera
- Raspakujte ZIP u neki jednostavan folder, npr.
C:\CP210x_Driver\. - Otvorite Device Manager i pronađite uređaj pod Other devices.
- Desni klik → Update driver → Browse my computer.
- Izaberite folder i uključite opciju Include subfolders.
- Ako Windows prijavi upozorenje da drajver nije potpisan, kliknite Install anyway (samo ako je drajver preuzet sa verovatnog izvora).
Provera uspešne instalacije
- Device Manager → Ports (COM & LPT) bi trebalo da prikaže
CP210x USB to UART Bridge (COMx)iliUSB-SERIAL CH340 (COMx). - Arduino IDE → Tools → Port sada treba da prikaže odgovarajući COM port.
Ako i dalje ne radi
- Pokušajte drugi USB kabl — mnogi kablovi su samo za punjenje i ne prenose podatke.
- Povežite ploču direktno u računar (bez USB hub-ova).
- Restartujte Windows nakon instalacije drajvera.
- Ako upload ne uspeva, pritisnite i držite dugme BOOT dok klikćete na Upload.
- Na macOS/Linux proverite uređaje komandama:
ls /dev/tty.*ilils /dev/ttyUSB*.
11. Delovi ESP32-D razvojne ploče (šta čemu služi)
Korisna referenca koja opisuje fizičke komponente tipične ESP32-D ploče — veoma korisno za početnike i za rešavanje problema.
- ESP32 modul (ESP-WROOM-32 / ESP32-D) — sadrži CPU jezgra, Wi-Fi/Bluetooth module i SPI flash. Ovde se izvršava vaš program.
- USB-to-Serial čip (CP2102 / CH340) — omogućava upload programa i Serial Monitor. Ako drajver nedostaje, COM port se neće pojaviti.
- USB konektor (Micro-USB / USB-C) — prenosi napajanje i podatke. Potrebno je koristiti kabl koji prenosi podatke.
- Regulator napona (5V → 3.3V) — obezbeđuje stabilnih 3.3V za ESP32 i periferije.
- SPI Flash memorija — čuva vaš program, fajl sistem i trajne podatke.
- EN / RESET pin — resetuje uređaj.
- BOOT (GPIO0) dugme — služi za ulazak u bootloader mod ako automatski reset zakaže.
- Power LED — pokazuje da je ploča napajana.
- User LED — korisnička LED za testiranje.
- Header pinovi / GPIO — svi dostupni pinovi: digitalni, ADC, DAC, PWM, I2C, SPI, UART itd.
- VIN / 5V pin — ulaz za eksterno 5V napajanje.
- 3V3 pin — izlaz stabilizovanog 3.3V napona.
- GND pinovi — zajednička masa; obavezno ujediniti mase svih uređaja.
- Antena / U.FL konektor — PCB ili spoljašnja antena.
- Strapping otpornici — određuju režim podizanja sistema (boot mode).
Važne naponske napomene
- ESP32 GPIO radi na 3.3V. Nikada ne dovodite 5V direktno na GPIO pinove.
- Servoe uvek napajajte iz eksternog 5V izvora i spojite masu sa ESP32.
- Kod ADC pinova obavezno koristite naponske delioce ako ulaz prelazi 3.3V.
ESP32-D Pinout – Opis i funkcije
ESP32-D (ESP32-WROOM-32 na DevKit V1 ploči) ima dva reda pinova (levi i desni deo modula). Svaki pin može imati više funkcija, kao što su digitalni ulaz/izlaz, PWM, ADC, DAC, touch senzor, I2C, SPI ili UART. Neki pinovi su samo za ulaz, dok su drugi rezervisani i ne bi trebalo da se koriste. Ispod je detaljna tabela pinova.
Pinovi sa leve strane
| Pin # | Oznaka | Tip | Opis |
|---|---|---|---|
| 1 | 3V3 | Napajanje | Izlaz napajanja 3.3V |
| 2 | EN | Ulaz | Pin za reset/enable |
| 3 | VP (GPIO36) | Samo ulaz, ADC1 | Analogni ulaz, nema digitalni izlaz |
| 4 | VN (GPIO39) | Samo ulaz, ADC1 | Analogni ulaz |
| 5 | GPIO34 | Samo ulaz, ADC1 | Analogni ulaz |
| 6 | GPIO35 | Samo ulaz, ADC1 | Analogni ulaz |
| 7 | GPIO32 | I/O, ADC1, Touch | Digitalni ulaz/izlaz, PWM, touch senzor |
| 8 | GPIO33 | I/O, ADC1, Touch | Digitalni ulaz/izlaz, PWM, touch senzor |
| 9 | GPIO25 | I/O, ADC2, DAC1 | Digitalni ulaz/izlaz, PWM, DAC izlaz |
| 10 | GPIO26 | I/O, ADC2, DAC2 | Digitalni ulaz/izlaz, PWM, DAC izlaz |
| 11 | GPIO27 | I/O, ADC2, Touch | Digitalni ulaz/izlaz, PWM, touch senzor |
| 12 | GPIO14 | I/O, ADC2, Touch, HSPI CLK | Često korišćen kao SPI clock |
| 13 | GPIO12 | I/O, ADC2, Touch | Korišćen u boot modu, pažnja potrebna |
| 14 | GPIO13 | I/O, ADC2, Touch | Generalni I/O pin |
| 15 | GND | Napajanje | Uzemljenje |
| 16 | GPIO9 | Rezervisano | Interna flash memorija, ne koristiti |
| 17 | GPIO10 | Rezervisano | Interna flash memorija, ne koristiti |
| 18 | GPIO11 | Rezervisano | Interna flash memorija, ne koristiti |
| 19 | 5V | Napajanje | 5V ulaz (USB ili eksterno) |
Pinovi sa desne strane
| Pin # | Oznaka | Tip | Opis |
|---|---|---|---|
| 1 | GND | Napajanje | Uzemljenje |
| 2 | GPIO23 | I/O, VSPI MOSI | Digitalni ulaz/izlaz, PWM, SPI MOSI |
| 3 | GPIO22 | I/O, I2C SCL | Digitalni ulaz/izlaz, I2C clock |
| 4 | GPIO1 (TX0) | I/O, UART TX | Standardni UART transmit |
| 5 | GPIO3 (RX0) | I/O, UART RX | Standardni UART receive |
| 6 | GPIO21 | I/O, I2C SDA | Digitalni ulaz/izlaz, I2C data |
| 7 | GPIO19 | I/O, VSPI MISO | Digitalni ulaz/izlaz, SPI MISO |
| 8 | GPIO18 | I/O, VSPI SCK | Digitalni ulaz/izlaz, SPI clock |
| 9 | GPIO5 | I/O, VSPI CS | Digitalni ulaz/izlaz, SPI chip select |
| 10 | GPIO17 | I/O, UART2 TX | Digitalni ulaz/izlaz, UART transmit |
| 11 | GPIO16 | I/O, UART2 RX | Digitalni ulaz/izlaz, UART receive |
| 12 | GPIO4 | I/O, ADC2, Touch | Digitalni ulaz/izlaz, PWM, touch senzor |
| 13 | GPIO0 | I/O, ADC2, Touch, BOOT | Pin za izbor boot moda |
| 14 | GPIO2 | I/O, ADC2, Touch | Digitalni ulaz/izlaz, PWM, touch senzor |
| 15 | GPIO15 | I/O, ADC2, Touch | Generalni I/O pin |
| 16 | GPIO8 | Rezervisano | Interna flash memorija, ne koristiti |
| 17 | GPIO7 | Rezervisano | Interna flash memorija, ne koristiti |
| 18 | GPIO6 | Rezervisano | Interna flash memorija, ne koristiti |
| 19 | GND | Napajanje | Uzemljenje |
Dodatne napomene
- Pinovi samo za ulaz: GPIO36, GPIO39, GPIO34, GPIO35
- Boot pinovi: GPIO0, GPIO2, GPIO12 utiču na boot mod – koristiti pažljivo
- Rezervisani pinovi: GPIO6–11 (koriste se za internu flash, ne povezivati)
- Pinovi opšte namene: Većina ostalih GPIO pinova može se koristiti kao PWM, UART, I2C, SPI itd.
Upozorenja i dobre prakse za ESP32
Prilikom korišćenja ESP32 modula, pridržavanje sledećih pravila može pomoći da se izbegnu problemi sa hardverom i stabilno radi sa senzorima, LED-ovima, servo motorima i drugim periferijama:
- Logika 3.3 V: Svi digitalni pinovi rade na 3.3 V. Ne priključivati direktno 5 V logiku bez level shiftera.
- Zajednička masa (GND): Uvek povežite masu svih komponenti sa GND ESP32 modula da biste izbegli nestabilnosti.
- Eksterno napajanje za potrošače struje: Servo motori, LED trake ili motori koji troše više od nekoliko mA ne bi trebalo da se napajaju direktno sa ESP32.
- Kondenzatori za stabilizaciju: Preporučuje se dodavanje kondenzatora (100 µF ili više) kod servoa, LED drivera ili motora da bi se izbegli kratkotrajni padovi napona.
- Odvojeni naponski izvori kad je potrebno: Ako koristite više potrošača struje, najbolje je imati odvojen izvor napajanja sa odgovarajućim GND povezivanjem.
- Upozorenje za specijalne pinove: Pinovi koji su rezervisani ili imaju specijalnu funkciju (GPIO6–11 za internu flash, GPIO0, GPIO2, GPIO12 za boot mod) ne bi smeli biti povezivani sa eksternim komponentama, osim ako niste sigurni šta radite.
Pridržavanje ovih pravila omogućava sigurnije i stabilnije korišćenje ESP32 u projektima i smanjuje rizik od oštećenja modula.
Pregled ESP32 modula i varijanti
ESP32 dolazi u različitim modulima i varijantama, a izbor pravog modula zavisi od projekta, potrebne memorije, funkcionalnosti i periferija. Slede najčešći moduli:
| Modul | RAM / PSRAM | Funkcionalnosti | Veličina / Dimenzije | Namena / Napomene |
|---|---|---|---|---|
| ESP32-WROOM-32 | 520 KB RAM, 4 MB Flash | Wi-Fi, Bluetooth, GPIO, ADC, DAC, PWM, I2C, SPI, UART | 25.5 x 18 mm | Standardni modul za većinu IoT i mikrokontrolerskih projekata |
| ESP32-WROVER | 520 KB RAM + 4 MB PSRAM, 4 MB Flash | Wi-Fi, Bluetooth, dodatna PSRAM, GPIO, ADC, DAC, PWM, I2C, SPI, UART | 27 x 40 mm | Za projekte koji zahtevaju više RAM-a, obrada audio/video signala, slike, složeniji algoritmi |
| ESP32-CAM | 520 KB RAM, 4 MB Flash | Wi-Fi, Bluetooth, kamera, microSD, GPIO, ADC, PWM, I2C, SPI, UART | 27 x 40 mm | Projekti sa kamerom, video strim, AI kamera, detekcija objekata |
| ESP32 DevKitC | 520 KB RAM, 4 MB Flash | Wi-Fi, Bluetooth, GPIO, ADC, DAC, PWM, I2C, SPI, UART, USB-to-serial | 52 x 28 mm (različite verzije) | Razvojna ploča pogodna za prototipove, jednostavno povezivanje sa računarom preko USB |
| ESP32-S2 / S3 | 320 KB RAM, 4 MB Flash (S3 može imati PSRAM) | Wi-Fi, Bluetooth LE (S3), GPIO, ADC, DAC, PWM, I2C, SPI, UART, USB | Varira po modelu | Napredniji projekti sa niskom potrošnjom ili AI funkcijama (S3) |
Ova tabela omogućava korisniku da brzo proceni koji ESP32 modul odgovara njegovom projektu, bilo da je u pitanju IoT, kamera, audio obrada, prototip ili industrijska primena.
Koristan materijal i zvanična dokumentacija
Za brži napredak u radu sa ESP32, preporučuje se korišćenje sledećih resursa i zvanične dokumentacije:
- Zvučna zvanična dokumentacija: Espressif Documents & Datasheets
- ESP32 WROOM-32 Datasheet: PDF Datasheet
- ESP32 Forum i zajednica: ESP32 Forum – diskusije, projekti, pitanja i odgovori
- Praktični tutorijali i primeri: Random Nerd Tutorials – ESP32 Projekti
- ESP32 GitHub resursi: Espressif GitHub – biblioteke, primeri, SDK