Во ова упатство, ќе научиме како да користиме копче за да вклучиме и исклучиме LED диода со ESP32 микроконтролер. Проектот ќе демонстрира како да се чита состојбата на копчето и соодветно да се контролира LED диодата. Кога копчето е притиснато, LED диодата ќе светне, а кога ќе се отпушти, ќе се исклучи. Ова е основен концепт за многу интерактивни проекти со ESP32.
ESP32 е моќен микроконтролер со вградени Wi-Fi и Bluetooth можности, што го прави погоден за различни IoT апликации. Во оваа лекција, ќе го користиме ESP32 од SunFounder ESP32 стартер комплетот, кој вклучува основни компоненти како отпорници и LED диоди, за да создадеме едноставно коло. За детално објаснување на жиците и кодот, ве молиме погледнете го видеото (во видеото на 00:00).
Објаснување на хардверот
Клучните компоненти за овој проект вклучуваат ESP32 микроконтролер, копче, LED диода и отпорници. ESP32 делува како мозок на проектот, контролирајќи ја LED диодата врз основа на состојбата на копчето. Копчето им овозможува на корисниците да комуницираат со колото, додека LED диодата обезбедува визуелна повратна информација кога копчето е притиснато.
Копчето работи така што го затвора колото кога е притиснато, овозможувајќи проток на струја. Оваа акција испраќа HIGH сигнал до назначениот влезен пин на ESP32, кој потоа може да се прочита во кодот. Отпорникот поврзан со копчето осигурува дека пинот има дефинирана состојба кога копчето не е притиснато, спречувајќи неправилно однесување.
Копче со отпорник
Инструкции за жици
За да ги поврзете жиците, започнете со поврзување на подолгиот пин на LED диодата (анода) со отпорник од 220 оми. Поврзете го другиот крај на отпорникот со GPIO пин 26 на ESP32. Пократкиот пин на LED диодата (катода) треба да се поврзе со земја. Потоа, земете го копчето и поврзете ја едната страна со напојување од 3.3V на плочата. Другата страна на копчето се поврзува со GPIO пин 14.
Копче без отпорник
Копче без отпорник
Копче со отпорник
Копче со отпорник
Дополнително, поставете отпорник од 10k оми од GPIO пин 14 до земја за да се осигури дека пинот чита LOW кога копчето не е притиснато. Конечно, поврзете ја жицата за земја од ESP32 со заедничката земја на breadboard-от. Оваа поставка ќе му овозможи на ESP32 да ја чита состојбата на копчето и соодветно да ја контролира LED диодата.
Примери на код и објаснување
Јадрото на програмата започнува со дефинирање на броевите на пиновите за копчето и LED диодата користејќи константи. Ова осигурува дека доделувањето на пиновите останува непроменето во текот на извршувањето на програмата.
// постави броеви на пинови
const int buttonPin = 14; // Пин на копчето
const int ledPin = 26; // Пин на LED диодата
Во функцијата setup(), го иницијализираме серискиот монитор и го поставуваме пинот на копчето како влез, додека пинот на LED диодата го конфигурираме како излез. Ова го подготвува ESP32 да чита од копчето и да ја контролира LED диодата.
Внатре во функцијата loop(), програмата континуирано ја чита состојбата на копчето и ја печати на серискиот монитор. Ако копчето е притиснато, LED диодата се вклучува; во спротивно, се исклучува. Оваа логика е суштинска за вклучување/исклучување на LED диодата врз основа на состојбата на копчето.
Оваа основна функционалност овозможува LED диодата директно да одговара на копчето. За повеќе детали за проектот и целосниот код, ве молиме погледнете го даденото видео (во видеото на 14:00).
Демонстрација / Што да очекувате
Откако жиците ќе бидат поврзани и кодот ќе биде поставен, притискањето на копчето треба да ја вклучи LED диодата, а отпуштањето ќе ја исклучи. Ова однесување потврдува дека состојбата на копчето се чита правилно. Ако LED диодата не одговара како што се очекува, проверете ги жиците и осигурете се дека копчето функционира правилно.
За време на тестирањето, внимавајте да го набљудувате серискиот монитор за читањата на состојбата на копчето. Треба да видите '1' кога копчето е притиснато и '0' кога е отпуштено. Ако читањата флуктуираат неочекувано, тоа може да укажува на проблем со жиците или потреба за дополнителна debouncing логика во кодот.
Временски ознаки на видеото
00:00 Почеток
1:48 Вовед во проектот
3:10 Објаснување на прекинувачот и копчето
7:19 Објаснување на жиците
12:25 Објаснување на Arduino кодот за копчето
15:56 Избор на ESP32 плоча и COM порт
17:38 Демонстрација на проектот
18:33 Проект-2 Вклучување/исклучување и LED
19:09 Arduino код за вклучување/исклучување на LED
21:16 Демонстрација на вклучување/исклучување на LED
// 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);
}
}
Disclosure: As an Amazon Associate, we earn from qualifying purchases. This means we may receive a small commission if you click a link and make a purchase at no extra cost to you.