Vodič · Arduino i ESP32
Arduino i ESP32 – vodič kroz lekcije
Arduino i ESP32 su platforme za učenje elektronike i programiranja mikrokontrolera. Arduino je jednostavan i idealan za početak, a ESP32 donosi Wi-Fi, Bluetooth, više memorije i veću brzinu.
Programi se pišu u jeziku sličnom C/C++-u, u okruženju Arduino IDE.
- Osnovna i srednja škola
- Elektronika
- Primeri u C/C++-u
1 Početni nivo
Prvi programi: LED, taster, zvuk, displej i jednostavni senzori – prvo na Arduinu, zatim na ESP32.
Arduino
1. Uvod u Arduino
Ploča, Arduino IDE i program Blink.
Otvori lekciju →2. LED dioda, taster i semafor Novo
Otpornik uz LED, taster sa INPUT_PULLUP, semafor i semafor za pešake.
Otvori lekciju →3. Zvučnik i RGB LED dioda Novo
Tonovi, sirena i melodija; mešanje boja i mali alarm.
Otvori lekciju →4. Nivo osvetljenja (LDR senzor)
Analogni ulaz i prikaz vrednosti.
Otvori lekciju →5. Senzor temperature
Merenje i prikaz temperature.
Otvori lekciju →6. OLED displej Novo
Tekst, oblici i termometar na displeju 128×64 preko I2C – za Arduino i ESP32.
Otvori lekciju →7. Merenje nepoznatog otpornika
Naponski delitelj i Omov zakon.
Otvori lekciju →8. Ultrazvučni senzor
Merenje rastojanja senzorom HC-SR04.
Otvori lekciju →9. Servo motor
PWM signal i biblioteka Servo.h.
Otvori lekciju →ESP32
14. Uvod u ESP32
Ploča, pinovi i podešavanje okruženja.
Otvori lekciju →15. LED dioda, taster i PWM Novo
Prvi program na ESP32: treptanje, taster, jačina svetla i potenciometar.
Otvori lekciju →16. Merenje osvetljenja (ESP32)
LDR senzor na ESP32 ploči.
Otvori lekciju →17. Senzor svetlosti i svetleći prsten Novo
Noćno svetlo sa LDR senzorom i prstenom WS2812 (NeoPixel).
Otvori lekciju →18. Temperatura i vlažnost (DHT11) Novo
Merenje u Serial Monitoru i meteo stanica sa veb stranom.
Otvori lekciju →2 Srednji nivo: motori i senzori
DC motor, relej i pumpa, servo motor na ESP32, akcelerometar, žiroskop i magnetometar.
Arduino
10. Upravljanje DC motorom
H-most drajver i smer okretanja motora.
Otvori lekciju →11. Senzor vlažnosti zemljišta
Otpornički i kapacitivni senzor, prikaz u Processing-u.
Otvori lekciju →12. Relej i pumpa za vodu
Kako Arduino preko releja bezbedno uključuje pumpu.
Otvori lekciju →ESP32
19. Ultrazvučni senzor
Merenje rastojanja do prepreke.
Otvori lekciju →20. Servo motor
Upravljanje uglom servo motora.
Otvori lekciju →21. Servo motor SG90 – vežba Novo
Povezivanje, zadati uglovi, potenciometar i upravljanje iz Serial Monitora.
Otvori lekciju →23. Akcelerometar i magnetometar
MPU6050 i QMC5883L preko I2C, poređenje sa micro:bit-om.
Otvori lekciju →24. MPU9250: 9-osni senzor Novo
Akcelerometar, žiroskop i magnetometar u jednom modulu.
Otvori lekciju →25. Pumpa za vodu
Uključivanje pumpe za sistem zalivanja.
Otvori lekciju →3 Projekti i kontrolni test
Više delova u jednom uređaju: zalivanje bašte, rampa i radar, pametna učionica – i provera znanja na kraju.
Arduino
ESP32
22. Rampa i radar Novo
Servo motor i ultrazvučni senzor: automatska rampa i radar u Processing-u.
Otvori lekciju →26. Automatsko zalivanje sa Wi-Fi-jem
Pametna bašta: vlažnost i pumpa na veb strani.
Otvori lekciju →27. Pametna učionica Novo
DHT11, svetleći prsten, servo „prozor“ i veb strana na telefonu.
Otvori lekciju →Provera znanja
1 Arduino
Prvi program, digitalni i analogni pinovi, senzori i motori.
Uvod u Arduino
Ploča, Arduino IDE i program Blink.
Otvori lekciju →LED dioda, taster i semafor Novo
Otpornik uz LED, taster sa INPUT_PULLUP, semafor i semafor za pešake.
Otvori lekciju →Zvučnik i RGB LED dioda Novo
Tonovi, sirena i melodija; mešanje boja i mali alarm.
Otvori lekciju →Nivo osvetljenja (LDR senzor)
Analogni ulaz i prikaz vrednosti.
Otvori lekciju →Senzor temperature
Merenje i prikaz temperature.
Otvori lekciju →OLED displej Novo
Tekst, oblici i termometar na displeju 128×64 preko I2C – za Arduino i ESP32.
Otvori lekciju →Merenje nepoznatog otpornika
Naponski delitelj i Omov zakon.
Otvori lekciju →Ultrazvučni senzor
Merenje rastojanja senzorom HC-SR04.
Otvori lekciju →Servo motor
PWM signal i biblioteka Servo.h.
Otvori lekciju →Upravljanje DC motorom
H-most drajver i smer okretanja motora.
Otvori lekciju →Senzor vlažnosti zemljišta
Otpornički i kapacitivni senzor, prikaz u Processing-u.
Otvori lekciju →Relej i pumpa za vodu
Kako Arduino preko releja bezbedno uključuje pumpu.
Otvori lekciju →Automatsko zalivanje bašte
Senzor vlažnosti + relej + pumpa: zalivanje u porcijama.
Otvori lekciju →2 ESP32
Isti principi kao kod Arduina, uz više mogućnosti.
Uvod u ESP32
Ploča, pinovi i podešavanje okruženja.
Otvori lekciju →LED dioda, taster i PWM Novo
Prvi program na ESP32: treptanje, taster, jačina svetla i potenciometar.
Otvori lekciju →Merenje osvetljenja (ESP32)
LDR senzor na ESP32 ploči.
Otvori lekciju →Senzor svetlosti i svetleći prsten Novo
Noćno svetlo sa LDR senzorom i prstenom WS2812 (NeoPixel).
Otvori lekciju →Temperatura i vlažnost (DHT11) Novo
Merenje u Serial Monitoru i meteo stanica sa veb stranom.
Otvori lekciju →Ultrazvučni senzor
Merenje rastojanja do prepreke.
Otvori lekciju →Servo motor
Upravljanje uglom servo motora.
Otvori lekciju →Servo motor SG90 – vežba Novo
Povezivanje, zadati uglovi, potenciometar i upravljanje iz Serial Monitora.
Otvori lekciju →Rampa i radar Novo
Servo motor i ultrazvučni senzor: automatska rampa i radar u Processing-u.
Otvori lekciju →Akcelerometar i magnetometar
MPU6050 i QMC5883L preko I2C, poređenje sa micro:bit-om.
Otvori lekciju →MPU9250: 9-osni senzor Novo
Akcelerometar, žiroskop i magnetometar u jednom modulu.
Otvori lekciju →Pumpa za vodu
Uključivanje pumpe za sistem zalivanja.
Otvori lekciju →Automatsko zalivanje sa Wi-Fi-jem
Pametna bašta: vlažnost i pumpa na veb strani.
Otvori lekciju →3 Završni projekat i kontrolni test
Spoji naučeno u jedan uređaj i proveri znanje iz celog kursa.
4 Mreža i Internet stvari
ESP32 može da se poveže na Wi-Fi i šalje podatke.
Internet stvari (IoT)
Kako povezani uređaji razmenjuju podatke.
Otvori lekciju →ESP32 i Wi-Fi web server
Prikaz vrednosti senzora na web strani koju pravi ESP32.
I2C i SPI komunikacija
Povezivanje ekrana i senzora preko magistrala.
✎ Kratak primer
Očitavanje analognog senzora na pinu A0 i ispis u Serial Monitor.
int vrednost = 0;
void setup() {
Serial.begin(9600); // pokretanje serijske komunikacije
}
void loop() {
vrednost = analogRead(A0); // vrednost od 0 do 1023
Serial.println(vrednost);
delay(500); // pauza od pola sekunde
}
