ወደ ማዕከል ይወድቁ:
ESP32 Tutorial 1/55 - Introduction to SunFounder's ESP32 IoT Learning kit Software and Arduino IDE ESP32 Tutorial 2/55 - What's ESP32, Camera Extension Board, unboxing SunFounder's ESP32 IoT kit ESP32 Tutorial 3/55 - Resistor, LED, Breadboard Project: Hello LED -ESP32 IoT Learning kit ESP32 ትምህርት 4/55 - የውሂብ አይነቶች ተለዋዋጭ Int፣ bool፣ char ይግለጹ፣ Serial Monitor-ESP32 IoT ኪት ESP32 ቱቶሪያል 5/55 - LED ደብዛዝ፣ የLED ብሩህነትን መቆጣጠር -ESP32 IoT መማሪያ ኪት ESP32 ቱቶሪያል 6/55 - RGB LED መጠቀም ፕሮጀክት 2.3 -SunFounder's ESP32 IoT መማሪያ ኪት ESP32 ትምህርት 7/55 - በESP32 Arduino ፕሮግራሚንግ ውስጥ አሬይን መጠቀም - የSunFounder የESP32 IoT መማሪያ ኪት ESP32 Tutorial 8/55 -Walking Light 74HC595 Shift register -SunFounder's ESP32 IoT Learning kit ESP32 ትምህርት 9/55 - የግፊት ቁልፍን በመጠቀም LED ን ማብራት እና ማጥፋት፣ ግፋ አብራ፣ ግፋ አጥፋ -SunFounder ESP32 IoT ኪት ESP32 ቱቶሪያል 10/55 - ዲጂታል ቆጣሪ በሰቨን ሰግመንት ዲስፕሌይ 74HC595 -ESP32 IoT መማሪያ ኪት ESP32 ትምህርት 11/55 - LCD1602 LCD2004 ከESP32 ጋር መጠቀም -SunFounder የESP32 IoT መማሪያ ኪት የESP32 ትምህርት 12/55 - WS2812 RGB ስትሪፕ 4 ፕሮጀክት ከ SunFounder የESP32 IoT መማሪያ ኪት ጋር ESP32 ትምህርት 13/55 - አርዱኢኖ ቢፕ ከአክቲቭ ቡዘር ጋር | SunFounder የESP32 IoT መማሪያ ኪት ኢኤስፒ32 ቱቶሪያል 14/55 - የሱንፋውንደር ኢኤስፒ32 አይኦቲ መማሪያ ኪት በመጠቀም ብጁ ሙዚቃ ኖት መጫወት ኢኤስፒ32 ትምህርት 15/55 - የዲሲ ሞተር ፍጥነት መቆጣጠሪያ ከኢኤስፒ32 L293D ጋር | የሰንፋውንደር ኢኤስፒ32 አይኦቲ መማሪያ ኪት ኢኤስፒ32 ትምህርት 16/55 - ትንሽ የውሃ ፓምፕ በኢኤስፒ32 እና L293D በመጠቀም | SunFounder የኢኤስፒ32 IoT መማሪያ ኪት ኢኤስፒ32 ትምህርት 17/55 - ኢኤስፒ32 እና ፖቴንሺዮሜትር በመጠቀም ሰርቮ ሞተርን መቆጣጠር - ኢኤስፒ32 አይኦቲ መማሪያ ኪት ኢኤስፒ32 ትምህርት 18/55 - ኢኤስፒ32ን በመጠቀም ዝንባሌን መለየት | የሰንፋውንደር ኢኤስፒ32 አይኦቲ መማሪያ ኪት ESP32 ትምህርት 19/55 - ኢንፍራሬድ ዳሳሽ በመጠቀም እንቅፋትን መለየት | SunFounder የESP32 IoT መማሪያ ኪት ESP32 ቱቶሪያል 20/55 - መስመር መከታተያ ሞጁል | SunFounder የESP32 IoT መማሪያ ኪት ESP32 ትምህርት 21/55 - የሰውን ልጅ በPIR እንቅስቃሴ ዳሳሽ መለየት | SunFounder's ESP32 IoT የመማሪያ ኪት ኢኤስፒ32 ትምህርት 22/55 - ብርሃን መሰማት በኤልኢዲ አርዱኖ በመጠቀም | SunFounder የኢኤስፒ32 አይኦቲ መማሪያ ኪት ESP32 ቱቶሪያል 23/55 - የፖቴንሽዮሜትር ቮልቴጅ በESP32 በመጠቀም ማንበብ | SunFounder የESP32 IoT ኪት ESP32 ትምህርት 24/55 - የአፈር እርጥበት መለካት ለመስኖ | SunFounder የESP32 IoT መማሪያ ኪት ኢኤስፒ32 ትምህርት 25/55 - የሙቀት መጠንን በNTC እና LCD መለካት | SunFounder የኢኤስፒ32 IoT መማሪያ ኪት ESP32 ቱቶሪያል 26/55 - ጆይስቲክን ከአርዱኖ ጋር መጠቀም እርምጃ መውሰድ | SunFounder የESP32 IoT ኪት ESP32 ትምህርት 27/55 - ርቀትን በአልትራሶኒክ ዳሳሽ መለካት | SunFounder የESP32 IoT መማሪያ ኪት ESP32 ቱቶሪያል 28/55 - DHT11 የሙቀት ዳሳሽ ከLCD ጋር | SunFounder የESP32 IoT መማሪያ ኪት ESP32 ቱቶሪያል 29/55 - የIR ሪሞት ቁልፍ መጫንን ከESP32 ጋር ማንበብ| SunFounder የESP32 IoT መማሪያ ኪት ESP32 Tutorial 30/55 - Control Servo Over the web using MQTT using Adafruit IO Service | SunFounder's ESP32 IoT Leaning kit ESP32 ትምህርት 31/55 - ፕሮጀክት LED ስትሪፕ ከእንቅፋት መራቅ ጋር | SunFounder የESP32 IoT መማሪያ ኪት ESP32 ትምህርት 32/55 - የመኪና የኋላ ርቀት ማስጠንቀቂያ ከLCD እና buzzer ጋር | SunFounder የIoT መማሪያ ኪት የESP32 ትምህርት 33/55 - ዲጂታል ዳይስ በSunFounder የESP32 IoT መማሪያ ኪት በመጠቀም ESP32 ቱቶሪያል 34/55 - የቀለም ቅልመት ከRGB LED እና Knob ጋር | SunFounder የESP32 IoT መማሪያ ኪት የESP32 ትምህርት 35/55 - የእፅዋት መቆጣጠሪያ፣ አፈር፣ ሙቀት እና ብርሃን | የSunFounder የESP32 IoT መማሪያ ኪት ESP32 ትምህርት 36/55 - ቁጥር መገመት ጨዋታ | SunFounder የESP32 IoT መማሪያ ኪት ESP32 ትምህርት 37/55 - የብሉቱዝ መተግበሪያን ከESP32 BLE ጋር መጠቀም | SunFounder የESP32 IoT መማሪያ ኪት ኢኤስፒ32 ትምህርት 38/55 - አርጂቢ ኤልኢዲን ከሞባይል ስልክዎ መቆጣጠር | SunFounder የኢኤስፒ32 አይኦቲ መማሪያ ኪት ESP32 ትምህርት 39/55 - ESP32ን እንደ ብሉቱዝ ሙዚቃ ማጫወቻ መጠቀም | SunFounder የESP32 IoT መማሪያ ኪት ኢኤስፒ32 ትምህርት 40/55 - ማይክሮ ኤስዲ ካርድ ማንበብ እና መጻፍ | የሰንፋውንደር ኢኤስፒ32 አይኦቲ የመማሪያ ኪት ESP32 ትምህርት 41/55 - ማይክሮ ኤስዲ ካርድ በመጠቀም MP3 ማጫወቻ | SunFounder የESP32 IoT መማሪያ ኪት የESP32 ትምህርት 42/55 - ካሜራ በመጠቀም ፎቶ መውሰድ እና በማይክሮ ኤስዲ CAM-1 ላይ ማስቀመጥ | SunFounder የESP32 ኪት የESP32 ትምህርት 43/55 - IoT የበይነመረብ የአየር ሁኔታ ጣቢያ | SunFounder የESP32 IoT መማሪያ ኪት ኢኤስፒ32 ትምህርት 44/55 - ኢኤስፒ32 ካሜራ ዌብ ሰርቨር ቪዲዮ ስትሪም በዋይፋይ CAM-2 | SunFounder የኢኤስፒ32 ኪት ESP32 Tutorial 45/55 - Custom Streamign Server with LED control CAM-3 l SunFounder's ESP32 Learning kit የESP32 ትምህርት 46/55 - የርቀት ሙቀት መከታተያ በHiveMQ MQTT በመጠቀም | የSunFounder የESP32 ኪት ኢኤስፒ32 ትምህርት 47/55 - WS2812 CheerLights በMQTT በኢንተርኔት በመጠቀም | SunFounder የESP32 IoT ኪት ESP32 Tutorial 48/55 - Remote Temperature Monitoring and LED control MQTT | SunFounder's ESP32 IoT kit ኢኤስፒ32 ትምህርት 49/55 - የዲሲ ሞተርን በኢንተርኔት በኩል አዳፍሩት IoT በመጠቀም ይቆጣጠሩ | SunFounder የኢኤስፒ32 ኪት ኢኤስፒ32 ትምህርት 50/55 - ከየትኛውም የዓለም ክፍል የRGB LED መቆጣጠር | የSunFounder ኢኤስፒ32 ኪት ESP32 Tutorial 51/55 - Temperature and Humidity over WiFi with DHT | SunFounder's ESP32 IoT Learning Kit ESP32 ትምህርት 52/55 - WS2812 CheerLights MQTT ዓለም አቀፍ ማመሳሰል ከLCD ጋር | SunFounder ESP32 IoT ኪት ESP32 ቱቶሪያል 53/55 - የLCD ኢንተርኔት ሰዓት ይገንቡ | የSunFounder ESP32 IoT መማሪያ ኪት ኢኤስፒ32 ቱቶሪያል 54/55 - የWS2812 LED ስትሪፕ ቀለም በዋይፋይ ላይ ያዘጋጁ | SunFounder የኢኤስፒ32 IoT መማሪያ ኪት የESP32 ትምህርት 55/55 - የ12V፣ 24V ወይም 100V የቀጥታ ጅረት ቮልቴጅ እንዴት እንደሚለካ | የSunFounder የESP32 IoT መማሪያ ኪት
ESP32 ትምህርት 9/55 - የግፊት ቁልፍን በመጠቀም LED ን ማብራት እና ማጥፋት፣ ግፋ አብራ፣ ግፋ አጥፋ -SunFounder ESP32 IoT ኪት
በዚህ ትምህርት፣ ከESP32 ማይክሮኮንትሮለር ጋር ኤልኢዲን ለማብራት እና ለማጥፋት የግፊት ቁልፍን እንዴት መጠቀም እንደምንችል እንማራለን። ፕሮጀክቱ የግፊት ቁልፉን ሁኔታ እንዴት ማንበብ እና ኤልኢዲውን በዚሁ መሰረት እንዴት መቆጣጠር እንደሚቻል ያሳያል። ቁልፉ ሲጫን፣ ኤልኢዲው ይበራል፣ ሲለቀቅ ደግሞ ይጠፋል። ይህ ለብዙ መስተጋብራዊ ፕሮጀክቶች ከESP32 ጋር መሰረታዊ ፅንሰ-ሀሳብ ነው።
ESP32 አብሮ የተሰራ ዋይ-ፋይ እና ብሉቱዝ አቅም ያለው ኃይለኛ ማይክሮኮንትሮለር ነው፣ ይህም ለተለያዩ የIoT አፕሊኬሽኖች ተስማሚ ያደርገዋል። በዚህ ትምህርት፣ እንደ ተከላካይ እና ኤልኢዲ ያሉ አስፈላጊ ክፍሎችን የሚያካትተውን ከSunFounder ESP32 Starter Kit የESP32ን በመጠቀም ቀላል ወረዳ እንፈጥራለን። ስለ ሽቦ አያያዥነት እና ኮድ ዝርዝር ማብራሪያ ለማግኘት፣ እባክዎ ቪዲዮውን ይመልከቱ (በቪዲዮው 00:00 ላይ)።
ሃርድዌር ተብራርቷል
ለዚህ ፕሮጀክት ቁልፍ ክፍሎች ESP32 ማይክሮኮንትሮለር፣ የግፊት ቁልፍ፣ ኤልኢዲ እና ተከላካዮች ያካትታሉ። ESP32 የፕሮጀክቱ አንጎል ሆኖ ይሰራል፣ በግፊት ቁልፉ ሁኔታ ላይ በመመስረት ኤልኢዲውን ይቆጣጠራል። የግፊት ቁልፉ ተጠቃሚዎች ከወረዳው ጋር እንዲገናኙ ያስችላቸዋል፣ ኤልኢዲው ደግሞ ቁልፉ ሲጫን የእይታ ግብረመልስ ይሰጣል።
የግፊት ቁልፉ የሚሰራው ሲጫን ወረዳውን በመዝጋት ነው፣ ይህም ኤሌክትሪክ እንዲፈስ ያስችላል። ይህ እርምጃ ለESP32 በተመደበው የግቤት ፒን ላይ ከፍተኛ ሲግናል ይልካል፣ ይህም በኮዱ ውስጥ ሊነበብ ይችላል። ከቁልፉ ጋር የተገናኘው ተከላካይ ቁልፉ በማይጫንበት ጊዜ ፒኑ የተወሰነ ሁኔታ እንዲኖረው ያረጋግጣል፣ ይህም ያልተረጋጋ ባህሪን ይከላከላል።
የግፊት ቁልፍ ከተከላካይ ጋር
የሽቦ አያያዥነት መመሪያዎች
ወረዳውን ለማገናኘት፣ የኤልኢዲውን ረጅሙን ፒን (አኖድ) ከ220-ኦም ተከላካይ ጋር በማገናኘት ይጀምሩ። የተከላካዩን ሌላኛውን ጫፍ በESP32 ላይ ካለው GPIO ፒን 26 ጋር ያገናኙ። የኤልኢዲው አጭሩ ፒን (ካቶድ) ከመሬት ጋር መገናኘት አለበት። በመቀጠል፣ የግፊት ቁልፉን ይውሰዱ እና አንዱን ጎን በቦርዱ ላይ ካለው የ3.3V የኃይል አቅርቦት ጋር ያገናኙ። የግፊት ቁልፉ ሌላኛው ጎን ከGPIO ፒን 14 ጋር ይገናኛል።
የግፊት ቁልፍ ያለ ተከላካይ
የግፊት ቁልፍ ያለ ተከላካይ
የግፊት ቁልፍ ከተከላካይ ጋር
የግፊት ቁልፍ ከተከላካይ ጋር
በተጨማሪም፣ ቁልፉ በማይጫንበት ጊዜ ፒኑ LOW መሆኑን ለማረጋገጥ ከGPIO ፒን 14 ወደ መሬት የ10k-ኦም ተከላካይ ያስቀምጡ። በመጨረሻም፣ ከESP32 የመሬት ሽቦውን በብሬድቦርዱ ላይ ካለው የጋራ መሬት ጋር ያገናኙ። ይህ ዝግጅት ESP32 የቁልፉን ሁኔታ እንዲያነብ እና ኤልኢዲውን በዚሁ መሰረት እንዲቆጣጠር ያስችለዋል።
የኮድ ምሳሌዎች እና ማብራሪያ
የፕሮግራሙ ዋና ክፍል የሚጀምረው ለቁልፉ እና ለኤልኢዲው የፒን ቁጥሮችን በቋሚዎች በመግለጽ ነው። ይህ የፒን ምደባዎች በፕሮግራሙ አፈፃፀም ውስጥ ሳይለወጡ እንዲቆዩ ያረጋግጣል።
// የፒን ቁጥሮችን ያዘጋጁ
const int buttonPin = 14; // የቁልፍ ፒን
const int ledPin = 26; // የኤልኢዲ ፒን
በsetup() ተግባር ውስጥ፣ ተከታታይ መቆጣጠሪያውን እንጀምራለን እና የቁልፍ ፒኑን እንደ ግቤት እናስቀምጣለን የኤልኢዲ ፒኑን ደግሞ እንደ ውፅዓት እናዋቅራለን። ይህ ESP32 ከቁልፉ ለማንበብ እና ኤልኢዲውን ለመቆጣጠር ያዘጋጃል።
void setup() {
Serial.begin(115200);
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
}
በloop() ተግባር ውስጥ፣ ፕሮግራሙ ያለማቋረጥ የቁልፉን ሁኔታ ያነባል እና ወደ ተከታታይ መቆጣጠሪያው ያትማል። ቁልፉ ከተጫነ፣ ኤልኢዲው ይበራል፤ አለበለዚያ ይጠፋል። ይህ አመክንዮ በቁልፉ ሁኔታ ላይ በመመስረት ኤልኢዲውን ለማብራት እና ለማጥፋት አስፈላጊ ነው።
void loop() {
buttonState = digitalRead(buttonPin);
Serial.println(buttonState);
delay(100);
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}
ይህ መሰረታዊ ተግባር ኤልኢዲው ለግፊት ቁልፉ በቀጥታ ምላሽ እንዲሰጥ ያስችላል። ስለ ፕሮጀክቱ ተጨማሪ ዝርዝሮች እና ሙሉ ኮድ ለማግኘት፣ እባክዎ የቀረበውን ቪዲዮ ይመልከቱ (በቪዲዮው 14:00 ላይ)።
ማሳያ / ምን እንደሚጠበቅ
ሽቦ አያያዥነቱ ከተጠናቀቀ እና ኮዱ ከተጫነ፣ የግፊት ቁልፉን መጫን ኤልኢዲውን ማብራት አለበት፣ መልቀቅ ደግሞ ኤልኢዲውን ያጠፋል። ይህ ባህሪ የቁልፉ ሁኔታ በትክክል እየተነበበ መሆኑን ያረጋግጣል። ኤልኢዲው እንደተጠበቀው ምላሽ ካልሰጠ፣ ሽቦ አያያዥነቱን ይፈትሹ እና ቁልፉ በትክክል እየሰራ መሆኑን ያረጋግጡ።
በሙከራ ወቅት፣ ለቁልፍ ሁኔታ ንባቦች ተከታታይ መቆጣጠሪያውን መመልከቱን ያረጋግጡ። ቁልፉ ሲጫን '1' እና ሲለቀቅ '0' ማየት አለብዎት። ንባቦቹ ባልተጠበቀ ሁኔታ ከተለዋወጡ፣ የሽቦ አያያዥነት ችግር ወይም በኮዱ ውስጥ ተጨማሪ የዲባውንሲንግ አመክንዮ አስፈላጊነት ሊያመለክት ይችላል።
የቪዲዮ ጊዜ ምልክቶች
00:00 መጀመሪያ
1:48 የፕሮጀክት መግቢያ
3:10 ስዊች እና የግፊት አዝራር ተብራርቷል
7:19 የሽቦ አያያዝ ተብራርቷል
12:25 የግፊት አዝራር የአርዱኖ ኮድ ተብራርቷል
15:56 የESP32 ቦርድ እና የCOM ወደብ መምረጥ
17:38 የፕሮጀክቱ ማሳያ
18:33 ፕሮጀክት-2 መቀያየር እና LED
19:09 LED ለማብራት የአርዱኖ ኮድ
21:16 LED የማብራት ማሳያ
ምስሎች
Push button with resistor
Push button with resistor
Push button without resistor
Push button without resistor
Push button with resistor
Push button with resistor
Push button with resistor
Push button without resistor
Push button without resistor
Push button with resistor
ኮድ
808-ESP32 Tutorial 9/55 - Arduino code push button
ቋንቋ: C++
View code
// 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);
}
}
ምንጮች እና ምንጮች አሁን ምንም ምንጮች የለም።