A cikin wannan koyawa, za mu koyi yadda ake amfani da maɓallin turaw don kunna da kashe LED tare da microcontroller na ESP32. Aikin zai nuna yadda ake karanta yanayin maɓallin turaw da sarrafa LED daidai. Lokacin da aka danna maɓallin, LED zai kunna, kuma idan aka sake shi, zai kashe. Wannan ra'ayi ne na tushe ga ayyuka masu mu'amala da yawa ta amfani da ESP32.
ESP32 microcontroller ne mai ƙarfi wanda ke da Wi-Fi da Bluetooth da aka haɗa a ciki, yana sa ya dace da aikace-aikacen IoT daban-daban. A cikin wannan darasi, za mu yi amfani da ESP32 daga SunFounder ESP32 Starter Kit, wanda ya ƙunshi abubuwa masu mahimmanci kamar resistors da LEDs, don ƙirƙirar da'ira mai sauƙi. Don cikakken bayani game da wayoyi da lambar, da fatan za a koma ga bidiyon (a cikin bidiyo a 00:00).
Kayan Aikin da Aka Bayyana
Abubuwan da suka fi mahimmanci don wannan aikin sun haɗa da microcontroller na ESP32, maɓallin turaw, LED, da resistors. ESP32 yana aiki a matsayin kwakwalwar aikin, yana sarrafa LED bisa ga yanayin maɓallin turaw. Maɓallin turaw yana ba masu amfani damar yin mu'amala da da'ira, yayin da LED ke ba da amsa ta gani lokacin da aka danna maɓallin.
Maɓallin turaw yana aiki ta hanyar rufe da'ira lokacin da aka danna shi, yana ba da damar wutar lantarki ta gudana. Wannan aikin yana aika siginar HIGH zuwa fil ɗin shigar da aka keɓe na ESP32, wanda za a iya karantawa a cikin lambar. Resistor ɗin da aka haɗa da maɓallin yana tabbatar da cewa fil ɗin yana da yanayin da aka ayyana lokacin da ba a danna maɓallin ba, yana hana halayen rashin tsari.
Maɓallin turaw tare da resistor
Umarnin Wayoyi
Don haɗa da'irar, fara da haɗa dogon fil ɗin LED (anode) zuwa resistor na 220-ohm. Haɗa ɗayan ƙarshen resistor ɗin zuwa fil ɗin GPIO 26 akan ESP32. Gajeren fil ɗin LED (cathode) ya kamata a haɗa shi da ƙasa. Na gaba, ɗauki maɓallin turaw kuma haɗa gefe ɗaya zuwa wutar lantarki ta 3.3V akan allo. ɗayan gefen maɓallin turaw yana haɗawa zuwa fil ɗin GPIO 14.
Maɓallin turaw ba tare da resistor ba
Maɓallin turaw ba tare da resistor ba
Maɓallin turaw tare da resistor
Maɓallin turaw tare da resistor
Bugu da ƙari, sanya resistor na 10k-ohm daga fil ɗin GPIO 14 zuwa ƙasa don tabbatar da cewa fil ɗin yana karanta LOW lokacin da ba a danna maɓallin ba. A ƙarshe, haɗa wayar ƙasa daga ESP32 zuwa ƙasa ta gama gari akan breadboard. Wannan saitin zai ba da damar ESP32 ya karanta yanayin maɓallin kuma ya sarrafa LED daidai.
Misalan Lamba & Bayani
Jigon shirin yana farawa ta hanyar ayyana lambobin fil don maɓallin da LED ta amfani da constants. Wannan yana tabbatar da cewa ayyukan fil ɗin ba su canzawa a duk lokacin aiwatar da shirin.
// saita lambobin fil
const int buttonPin = 14; // Fil ɗin maɓallin
const int ledPin = 26; // Fil ɗin LED
A cikin aikin setup(), muna fara serial monitor kuma saita fil ɗin maɓallin a matsayin shigarwa yayin da muke saita fil ɗin LED a matsayin fitarwa. Wannan yana shirya ESP32 don karanta daga maɓallin da sarrafa LED.
A cikin aikin loop(), shirin yana ci gaba da karanta yanayin maɓallin kuma yana buga shi zuwa serial monitor. Idan an danna maɓallin, LED yana kunna; in ba haka ba, yana kashewa. Wannan dabara tana da mahimmanci don kunna da kashe LED bisa ga yanayin maɓallin.
Wannan aikin na asali yana ba da damar LED ya amsa kai tsaye ga maɓallin turaw. Don ƙarin bayani game da aikin da cikakken lambar, da fatan za a koma ga bidiyon da aka bayar (a cikin bidiyo a 14:00).
Nuni / Abin da Za Ka Yi Tsammani
Da zarar an gama wayoyi kuma an ɗora lambar, danna maɓallin turaw ya kamata ya kunna LED, kuma sake shi zai kashe LED. Wannan hali yana tabbatar da cewa ana karanta yanayin maɓallin daidai. Idan LED bai amsa kamar yadda ake tsammani ba, duba wayoyi kuma tabbatar da cewa maɓallin yana aiki da kyau.
Yayin gwaji, tabbatar da lura da serial monitor don karatun yanayin maɓallin. Ya kamata ku ga '1' lokacin da aka danna maɓallin da '0' lokacin da aka sake shi. Idan karatun ya canza ba zato ba tsammani, yana iya nuna matsalar wayoyi ko buƙatar ƙarin dabaru na debouncing a cikin lambar.
// set pin numbers
const int buttonPin = 14; // Button pin
const int ledPin = 26; // LED pin
// variable for storing the button status
int buttonState = 0;
void setup() {
Serial.begin(115200);
// initialize the button pin as an input
pinMode(buttonPin, INPUT);
// initialize the LED pin as an output
pinMode(ledPin, OUTPUT);
}
void loop() {
// read the state of the button value
buttonState = digitalRead(buttonPin);
Serial.println(buttonState);
delay(100);
// if the button is pressed
if (buttonState == HIGH) {
// turn LED on
digitalWrite(ledPin, HIGH);
} else {
// turn LED off
digitalWrite(ledPin, LOW);
}
}
Bayani: A matsayin mai haɗin gwiwa na Amazon, muna samun kuɗi daga sayayya masu cancanta. Wannan yana nufin cewa muna iya karɓar ƙananan kuɗi idan ka danna mahaɗi ka yi sayayya ba tare da ƙarin farashi a gare ka ba.