Koyarwar ESP32 18/55 - Gano Karkata ta amfani da ESP32 | Kayan Koyon IoT na ESP32 na SunFounder
A cikin wannan koyaswar, za mu yi amfani da microcontroller na SunFounder ESP32 don ƙirƙirar aiki mai sauƙi wanda ke gano karkata ta amfani da maɓallin karkata. Lokacin da maɓallin karkata ya kunna, LED zai kashe, kuma lokacin da yake a tsaye, LED zai kunna. Wannan aikin ba kawai gabatarwa mai kyau ba ne ga yin aiki da na'urorin karkata, amma kuma yana zama tushe don aikace-aikacen robotics daban-daban. Don cikakken jagorar gani, tabbatar da duba bidiyon da ke sama (a cikin bidiyo a 00:00).

Bayanin Kayan Aiki
Abubuwan farko da aka yi amfani da su a cikin wannan aikin sun haɗa da microcontroller na ESP32, maɓallin karkata, da LED. ESP32 microcontroller ne mai ƙarfi wanda ke da Wi-Fi da Bluetooth a ciki, yana sa ya dace da aikace-aikacen IoT. Maɓallin karkata na'ura ce mai sauƙi wadda ke ƙunshe da ƙwallon ƙarfe a cikin gwangwani. Lokacin da aka karkata, ƙwallon yana motsawa kuma yana karya kewaye, yana ba mu damar gano yanayin karkata. LED zai nuna yanayin karkata a gani bisa ga yanayin maɓallin. Baya ga waɗannan abubuwan, za mu kuma yi amfani da resistors don iyakance halin yanzu da dalilai na ja-ƙasa. Resistor na 220-ohm da aka haɗa da LED yana tabbatar da cewa LED yana aiki lafiya ba tare da ɗaukar halin yanzu da yawa ba. Resistor na 10k-ohm yana aiki azaman ja-ƙasa don maɓallin karkata, yana tabbatar da cewa filin shigarwa yana karanta sanannen yanayi lokacin da ba a kunna maɓallin ba.
Cikakkun Bayanan Datasheet
| Mai ƙirƙira | SunFounder |
|---|---|
| Lambar sashi | ESP32 |
| Wutar Logic/IO | 3.3 V |
| Wutar samarwa | 5 V |
| Halin yanzu na fitarwa (kowane tashar) | 12 mA |
| Halin yanzu mafi girma (kowane tashar) | 40 mA |
| Jagorar mitar PWM | 1 kHz |
| Matakan shigarwar logic | 0.8 V (ƙasa), 2.0 V (babba) |
| Ragewar wutar / RDS(on) / cikawa | 0.2 V |
| Iyakokin zafi | 85 °C |
| Kunshin | Modul na ESP32 |
| Bayanan kula / bambance-bambance | Ya haɗa da damar Wi-Fi da Bluetooth |
- Tabbatar da ƙimar resistor da suka dace don hana lalacewar LED.
- Kiyaye wayoyi a tsabta don guje wa gajerun kewayawa.
- Yi amfani da resistors na ja-ƙasa don tabbatar da ingantattun karatu daga maɓallin karkata.
- Gwada haɗin kai kafin kunna wutar kewaye don guje wa gazawar sashi.
- Tabbatar da yanayin maɓallin karkata don ingantaccen aiki.
Umarnin Haɗin Waya

Don haɗa abubuwan, fara da maɓallin karkata, wanda ba shi da polarity, don haka ana iya haɗa shi ta kowace hanya. Haɗa ƙafa ɗaya na maɓallin karkata zuwa samarwar 3.3V da ɗayan ƙafa zuwa filin 14 akan ESP32. Don tabbatar da cewa filin 14 yana karanta sanannen yanayi lokacin da ba a kunna maɓallin ba, haɗa resistor na 10k-ohm daga wannan filin zuwa ƙasa. Na gaba, ɗauki LED kuma saka shi a cikin breadboard tare da ƙafar doguwa (anode) da aka haɗa da resistor na 220-ohm. Haɗa ɗayan ƙarshen resistor zuwa filin 26 akan ESP32. Ƙafar gajeru (cathode) na LED ya kamata a haɗa shi da ƙasa. A ƙarshe, haɗa filin ƙasa na ESP32 zuwa layin ƙasa na breadboard ɗinka da filin 3.3V zuwa layin wutar. Tabbatar da sake duba duk haɗin kai don hana kowane gajeren kewayawa ko karatu mara kyau. Idan ka bi waɗannan matakan, ya kamata ka sami saitin firikwensin karkata mai aiki da ke shirye don shirye-shirye.
Misalan Lamba & Jagora
Lambar ta fara da ayyana lambobin filin don maɓallin karkata da LED. Maɓallin karkata an haɗa shi da filin 14, kuma LED an haɗa shi da filin 26. Yanayin maɓallin karkata ana adana shi a cikin maɓallin tiltState.
// Saita lambobin filin
const int tiltPin = 14; // Maɓallin Karkata
const int ledPin = 26; // LED
// Maɓalli don adana yanayin karkata
int tiltState = 0;
Wannan ɓangaren yana nuna ayyukan filin da bayyana maɓallin da zai bi diddigin yanayin karkata. tiltPin an saita shi azaman shigarwa don karanta yanayin maɓallin. A cikin aikin setup(), an fara sadarwar serial, kuma an saita yanayin filin don maɓallin karkata da LED. Wannan yana tabbatar da cewa ESP32 na iya karanta shigarwa daga maɓallin karkata kuma ya sarrafa LED daidai.
void setup() {
Serial.begin(115200);
// Fara filin karkata azaman shigarwa
pinMode(tiltPin, INPUT);
// Fara filin LED azaman fitarwa
pinMode(ledPin, OUTPUT);
}
Wannan ɓangaren yana da mahimmanci saboda yana saita yanayin, yana ba da damar ESP32 ya sadarwa yadda ya kamata kuma ya sarrafa fitarwa bisa ga yanayin maɓallin karkata. Aikin loop() yana ci gaba da duba yanayin maɓallin karkata. Idan maɓallin yana tsaye, LED zai kunna; idan an karkata, LED zai kashe. Ana buga yanayin na yanzu zuwa serial monitor don gyara kuskure.
void loop() {
// Karanta yanayin maɓallin karkata
tiltState = digitalRead(tiltPin);
Serial.println(tiltState);
// Idan maɓallin yana tsaye
if (tiltState == HIGH) {
// Kunna LED
digitalWrite(ledPin, HIGH);
} else {
// Kashe LED
digitalWrite(ledPin, LOW);
}
}
Wannan kewayon yana gudana a ci gaba, yana ba da damar sa ido na ainihi akan yanayin maɓallin karkata da sarrafa LED daidai. Ana iya ganin fitarwa a cikin serial monitor, yana sauƙaƙa tabbatar da aiki.
Nuni / Abin da za a Yi Tsammani
Da zarar an haɗa komai daidai kuma an ɗora lambar, ya kamata ka ga LED ɗin yana kunne lokacin da maɓallin karkata yake tsaye, kuma zai kashe idan an karkatar da shi. Wannan alaƙar kai tsaye tsakanin yanayin karkata da amsawar LED tana nuna aikin maɓallin karkata yadda ya kamata. Matsalolin gama-gari sun haɗa da tabbatar da cewa wayoyi sun haɗu daidai da kuma tabbatar da cewa an sanya resistors ɗin yadda ya dace don guje wa gajeren kewayawa (a cikin bidiyo a 12:00).
Lokutan Bidiyo
- 00:00 Fara
- 1:44 Gabatarwar Aikin
- 2:49 Takardu
- 6:43 Bayanin wayar Arduino
- 10:39 Bayanin lambar Arduino
- 13:40 Zaɓin allo na ESP32 da tashar COM a kan Arduino IDE
- 15:22 Nunin karkatar da aikin
// 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
Albarkatun da kuma shafukan da za a duba
-
TakarduESP32 Tutorial 18/55 - SunFounder Tile sensor documentationdocs.sunfounder.com
Fayiloli📁
Babu fayiloli da ake da su.