Hľadať kód

Návod ESP32 9/55 - Použitie tlačidla na prepínanie LED, stlačenie ZAP, stlačenie VYP -SunFounder ESP32 IoT kit

Návod ESP32 9/55 - Použitie tlačidla na prepínanie LED, stlačenie ZAP, stlačenie VYP -SunFounder ESP32 IoT kit

V tomto návode sa naučíme, ako pomocou tlačidla prepínať LED diódu zapnutú a vypnutú s mikrokontrolérom ESP32. Projekt ukáže, ako čítať stav tlačidla a podľa toho ovládať LED diódu. Keď je tlačidlo stlačené, LED dióda sa zapne, a keď sa uvoľní, vypne sa. Toto je základný koncept pre mnohé interaktívne projekty s ESP32.

ESP32 je výkonný mikrokontrolér so vstavanými funkciami Wi-Fi a Bluetooth, vďaka čomu je vhodný pre rôzne IoT aplikácie. V tejto lekcii použijeme ESP32 zo SunFounder ESP32 Starter Kitu, ktorý obsahuje základné komponenty ako rezistory a LED diódy, na vytvorenie jednoduchého obvodu. Podrobné vysvetlenie zapojenia a kódu nájdete vo videu (vo videu o 00:00).

Vysvetlenie hardvéru

Kľúčové komponenty pre tento projekt zahŕňajú mikrokontrolér ESP32, tlačidlo, LED diódu a rezistory. ESP32 funguje ako mozog projektu, ovláda LED diódu na základe stavu tlačidla. Tlačidlo umožňuje používateľom interagovať s obvodom, zatiaľ čo LED dióda poskytuje vizuálnu spätnú väzbu, keď je tlačidlo stlačené.

Tlačidlo funguje tak, že pri stlačení uzavrie obvod, čo umožní tok prúdu. Táto akcia vyšle signál HIGH na určený vstupný pin ESP32, ktorý sa potom dá prečítať v kóde. Rezistor pripojený k tlačidlu zabezpečuje, že pin má definovaný stav, keď tlačidlo nie je stlačené, čím sa predchádza nepravidelnému správaniu.

Tlačidlo s rezistorom

Pokyny na zapojenie

Pri zapájaní obvodu začnite pripojením dlhšieho pinu LED diódy (anóda) k 220-ohmovému rezistoru. Druhý koniec rezistora pripojte na GPIO pin 26 na ESP32. Kratší pin LED diódy (katóda) by mal byť pripojený na zem. Potom vezmite tlačidlo a pripojte jednu stranu na 3,3V napájanie na doske. Druhá strana tlačidla sa pripojí na GPIO pin 14.

Tlačidlo bez rezistora
Tlačidlo bez rezistora
Tlačidlo s rezistorom
Tlačidlo s rezistorom

Okrem toho umiestnite 10k-ohmový rezistor z GPIO pinu 14 na zem, aby sa zabezpečilo, že pin číta LOW, keď tlačidlo nie je stlačené. Nakoniec pripojte uzemňovací vodič z ESP32 na spoločnú zem na breadboarde. Toto nastavenie umožní ESP32 čítať stav tlačidla a podľa toho ovládať LED diódu.

Príklady kódu a vysvetlenie

Jadro programu začína definovaním čísel pinov pre tlačidlo a LED diódu pomocou konštánt. To zabezpečuje, že priradenia pinov zostanú nezmenené počas celého vykonávania programu.

// nastavenie čísel pinov
const int buttonPin = 14;  // Pin tlačidla
const int ledPin = 26;     // Pin LED diódy

Vo funkcii setup() inicializujeme sériový monitor a nastavíme pin tlačidla ako vstup, zatiaľ čo pin LED diódy nakonfigurujeme ako výstup. Tým sa ESP32 pripraví na čítanie z tlačidla a ovládanie LED diódy.

void setup() {
  Serial.begin(115200);
  pinMode(buttonPin, INPUT);
  pinMode(ledPin, OUTPUT);
}

Vo vnútri funkcie loop() program nepretržite číta stav tlačidla a vypisuje ho do sériového monitora. Ak je tlačidlo stlačené, LED dióda sa zapne; v opačnom prípade sa vypne. Táto logika je nevyhnutná na prepínanie LED diódy na základe stavu tlačidla.

void loop() {
  buttonState = digitalRead(buttonPin);
  Serial.println(buttonState);
  delay(100);
  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}

Táto základná funkcia umožňuje LED dióde priamo reagovať na tlačidlo. Ďalšie podrobnosti o projekte a kompletný kód nájdete v poskytnutom videu (vo videu o 14:00).

Demonštrácia / Čo očakávať

Po dokončení zapojenia a nahratí kódu by stlačenie tlačidla malo zapnúť LED diódu a jeho uvoľnenie ju vypne. Toto správanie potvrdzuje, že stav tlačidla sa číta správne. Ak LED dióda nereaguje podľa očakávania, skontrolujte zapojenie a uistite sa, že tlačidlo funguje správne.

Počas testovania sledujte sériový monitor pre hodnoty stavu tlačidla. Mali by ste vidieť '1', keď je tlačidlo stlačené, a '0', keď je uvoľnené. Ak hodnoty neočakávane kolíšu, môže to naznačovať problém so zapojením alebo potrebu dodatočnej logiky na odstránenie zákmitov v kóde.

Časové značky videa

  • 00:00 Začiatok
  • 1:48 Predstavenie projektu
  • 3:10 Vysvetlenie prepínača a tlačidla
  • 7:19 Vysvetlenie zapojenia
  • 12:25 Vysvetlenie Arduino kódu pre tlačidlo
  • 15:56 Výber dosky ESP32 a COM portu
  • 17:38 Ukážka projektu
  • 18:33 Projekt-2 Prepínanie a LED
  • 19:09 Arduino kód na prepínanie LED
  • 21:16 Ukážka prepínania LED

Obrázky

Push button with resistor
Push button with resistor
Push button with resistor
Push button with resistor
Push button without resistor
Push button without resistor
Push button without resistor
Push button without resistor
Push button with resistor
Push button with resistor
808-ESP32 Tutorial 9/55 - Arduino code push button
Jazyk: C++
// 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);
  }
}

Zdroje a referencie

Zatiaľ žiadne zdroje.

Súbory📁

Žiadne súbory nie sú k dispozícii.