Návod na ESP32 18/55 - Detekcia náklonu pomocou ESP32 | SunFounder's ESP32 IoT Learning kit
V tomto návode budeme používať mikrokontrolér SunFounder ESP32 na vytvorenie jednoduchého projektu, ktorý deteguje náklon pomocou náklonového spínača. Keď je náklonový spínač aktivovaný, LED dióda sa vypne, a keď je vo vzpriamenej polohe, LED dióda sa zapne. Tento projekt nie je len skvelým úvodom do práce s náklonovými senzormi, ale slúži aj ako základ pre rôzne robotické aplikácie. Podrobný vizuálny návod nájdete vo videu uvedenom vyššie (vo videu o 00:00).

Vysvetlenie hardvéru
Hlavné komponenty použité v tomto projekte zahŕňajú mikrokontrolér ESP32, náklonový spínač a LED diódu. ESP32 je výkonný mikrokontrolér so zabudovaným Wi-Fi a Bluetooth, čo ho robí ideálnym pre IoT aplikácie. Náklonový spínač je jednoduché zariadenie, ktoré obsahuje kovovú guľôčku vo vnútri puzdra. Pri náklone sa guľôčka pohybuje a preruší obvod, čo nám umožňuje detegovať stav náklonu. LED dióda vizuálne indikuje stav náklonu na základe stavu spínača. Okrem týchto komponentov použijeme aj rezistory na obmedzenie prúdu a na pull-down účely. Rezistor 220 ohmov pripojený k LED dióde zabezpečuje, že LED dióda pracuje bezpečne bez odberu príliš veľkého prúdu. Rezistor 10k ohmov funguje ako pull-down pre náklonový spínač, čo zabezpečuje, že vstupný pin číta známy stav, keď spínač nie je aktivovaný.
Podrobnosti z datasheetu
| Výrobca | SunFounder |
|---|---|
| Označenie dielu | ESP32 |
| Logické/IO napätie | 3,3 V |
| Napájacie napätie | 5 V |
| Výstupný prúd (na kanál) | 12 mA |
| Špičkový prúd (na kanál) | 40 mA |
| Odporúčaná PWM frekvencia | 1 kHz |
| Vstupné logické prahy | 0,8 V (nízka), 2,0 V (vysoká) |
| Pokles napätia / RDS(on) / saturácia | 0,2 V |
| Tepelné limity | 85 °C |
| Puzdro | Modul ESP32 |
| Poznámky / varianty | Zahŕňa Wi-Fi a Bluetooth možnosti |
- Zabezpečte správne hodnoty rezistorov, aby ste predišli poškodeniu LED diódy.
- Udržiavajte zapojenie prehľadné, aby ste predišli skratom.
- Použite pull-down rezistory na zabezpečenie stabilných hodnôt z náklonového spínača.
- Pred napájaním obvodu otestujte pripojenia, aby ste predišli zlyhaniu komponentov.
- Overte orientáciu náklonového spínača pre presnú funkčnosť.
Pokyny na zapojenie

Na zapojenie komponentov začnite s náklonovým spínačom, ktorý nemá polaritu, takže ho možno pripojiť v ľubovoľnom smere. Pripojte jeden pin náklonového spínača na napájanie 3,3 V a druhý pin na pin 14 na ESP32. Aby pin 14 čítal známy stav, keď spínač nie je aktivovaný, pripojte rezistor 10k ohmov z toho istého pinu na zem. Ďalej vezmite LED diódu a vložte ju do breadboardu s dlhšou nožičkou (anódou) pripojenou k rezistoru 220 ohmov. Pripojte druhý koniec rezistora na pin 26 na ESP32. Kratšia nožička (katóda) LED diódy by mala byť pripojená na zem. Nakoniec pripojte uzemňovací pin ESP32 na uzemňovaciu lištu vášho breadboardu a pin 3,3 V na napájaciu lištu. Uistite sa, že ste skontrolovali všetky pripojenia, aby ste predišli skratom alebo nesprávnym hodnotám. Ak budete postupovať podľa týchto krokov, mali by ste mať funkčnú zostavu náklonového senzora pripravenú na programovanie.
Príklady kódu a vysvetlenie
Kód začína definovaním čísel pinov pre náklonový spínač a LED diódu. Náklonový spínač je pripojený na pin 14 a LED dióda na pin 26. Stav náklonového spínača je uložený v premennej tiltState.
// Nastavenie čísel pinov
const int tiltPin = 14; // Náklonový spínač
const int ledPin = 26; // LED dióda
// Premenná na ukladanie stavu náklonu
int tiltState = 0;
Tento výňatok ukazuje priradenia pinov a deklaráciu premennej, ktorá bude sledovať stav náklonu. tiltPin je nastavený ako vstup na čítanie stavu spínača. Vo funkcii setup() je inicializovaná sériová komunikácia a sú nastavené režimy pinov pre náklonový spínač a LED diódu. To zabezpečuje, že ESP32 môže čítať vstup z náklonového spínača a podľa toho ovládať LED diódu.
void setup() {
Serial.begin(115200);
// Inicializácia náklonového pinu ako vstup
pinMode(tiltPin, INPUT);
// Inicializácia pinu LED ako výstup
pinMode(ledPin, OUTPUT);
}
Táto časť je kľúčová, pretože nastavuje prostredie, čo umožňuje ESP32 efektívne komunikovať a ovládať výstup na základe stavu náklonového spínača. Funkcia loop() nepretržite kontroluje stav náklonového spínača. Ak je spínač vo vzpriamenej polohe, LED dióda sa zapne; ak je naklonený, LED dióda sa vypne. Aktuálny stav sa vypisuje do sériového monitora na ladenie.
void loop() {
// Čítanie stavu náklonového spínača
tiltState = digitalRead(tiltPin);
Serial.println(tiltState);
// Ak je spínač vo vzpriamenej polohe
if (tiltState == HIGH) {
// Zapnutie LED diódy
digitalWrite(ledPin, HIGH);
} else {
// Vypnutie LED diódy
digitalWrite(ledPin, LOW);
}
}
Táto slučka beží nepretržite, čo umožňuje monitorovanie stavu náklonového spínača v reálnom čase a zodpovedajúce ovládanie LED diódy. Výstup možno pozorovať v sériovom monitore, čo uľahčuje overenie funkčnosti.
Demonštrácia / Čo očakávať
Keď je všetko správne zapojené a kód je nahraný, mali by ste vidieť, ako sa LED rozsvieti, keď je náklonový spínač vo vzpriamenej polohe, a zhasne, keď je naklonený. Táto priama korelácia medzi stavom náklonu a odozvou LED efektívne demonštruje funkčnosť náklonového spínača. Medzi časté chyby patrí zabezpečenie správneho zapojenia a overenie, či sú rezistory vhodne umiestnené, aby sa predišlo skratom (vo videu o 12:00).
Časové značky videa
- 00:00 Začiatok
- 1:44 Úvod projektu
- 2:49 Dokumentácia
- 6:43 Vysvetlenie zapojenia Arduina
- 10:39 Vysvetlenie kódu Arduina
- 13:40 Výber dosky ESP32 a COM portu v Arduino IDE
- 15:22 Demonštrácia náklonu projektu
// Set pin numbers
const int tiltPin = 14; // Tilt Switch
const int ledPin = 26; // LED
// Variable for storing the tilt status
int tiltState = 0;
void setup() {
Serial.begin(115200);
// Initialize the tilt pin as an input
pinMode(tiltPin, INPUT);
// Initialize the LED pin as an output
pinMode(ledPin, OUTPUT);
}
void loop() {
// Read the state of the tilt switch
tiltState = digitalRead(tiltPin);
Serial.println(tiltState);
// If the switch is upright
if (tiltState == HIGH) {
// Turn LED on
digitalWrite(ledPin, HIGH);
} else {
// Turn LED off
digitalWrite(ledPin, LOW);
}
}
Common Course Links
Common Course Files
Zdroje a referencie
-
DokumentáciaESP32 Tutorial 18/55 - SunFounder Tile sensor documentationdocs.sunfounder.com
Súbory📁
Žiadne súbory nie sú k dispozícii.