Soek Kode

ESP32 Tutoriaal 18/55 - Kanteling opspoor met ESP32 | SunFounder se ESP32 IoT-leerkit

ESP32 Tutoriaal 18/55 - Kanteling opspoor met ESP32 | SunFounder se ESP32 IoT-leerkit

In hierdie tutoriaal gaan ons die SunFounder ESP32-mikrobeheerder gebruik om 'n eenvoudige projek te skep wat kanteling met 'n kantelskakelaar bespeur. Wanneer die kantelskakelaar geaktiveer word, sal 'n LED afskakel, en wanneer dit in sy regop posisie is, sal die LED aanskakel. Hierdie projek is nie net 'n goeie inleiding tot die werk met kantelsensors nie, maar dien ook as 'n grondslag vir verskeie robotika-toepassings. Vir 'n gedetailleerde visuele gids, maak seker dat jy die video hierbo kyk (in video by 00:00).

kantelskakelaar

Hardeware Verduidelik

Die primêre komponente wat in hierdie projek gebruik word, sluit die ESP32-mikrobeheerder, 'n kantelskakelaar en 'n LED in. Die ESP32 is 'n kragtige mikrobeheerder met ingeboude Wi-Fi en Bluetooth, wat dit ideaal maak vir IoT-toepassings. Die kantelskakelaar is 'n eenvoudige toestel wat 'n metaalbal binne 'n blikkie bevat. Wanneer dit gekantel word, beweeg die bal en breek die stroombaan, wat ons in staat stel om die kanteltoestand te bespeur. Die LED sal visueel die kantelstatus aandui op grond van die skakelaar se toestand. Benewens hierdie komponente, sal ons ook resistors gebruik vir stroombeperking en afwaartse trekdoeleindes. Die 220-ohm-resistor wat aan die LED gekoppel is, verseker dat die LED veilig werk sonder om te veel stroom te trek. Die 10k-ohm-resistor dien as 'n afwaartse trek vir die kantelskakelaar, wat verseker dat die invoerpen 'n bekende toestand lees wanneer die skakelaar nie geaktiveer is nie.

Datablad Besonderhede

Vervaardiger SunFounder
Deelnommer ESP32
Logika/IO-spanning 3.3 V
Toevoerspanning 5 V
Uitvoerstroom (per kanaal) 12 mA
Piekstroom (per kanaal) 40 mA
PWM-frekwensie riglyn 1 kHz
Invoerlogika-drempels 0.8 V (laag), 2.0 V (hoog)
Spanningval / RDS(on) / versadiging 0.2 V
Termiese limiete 85 °C
Pakket ESP32-module
Notas / variante Sluit Wi-Fi- en Bluetooth-vermoëns in

 

  • Verseker behoorlike resistorwaardes om skade aan die LED te voorkom.
  • Hou bedrading netjies om kortsluitings te vermy.
  • Gebruik afwaartse trek-resistors om stabiele lesings van die kantelskakelaar te verseker.
  • Toets verbindings voordat jy die stroombaan van krag voorsien om komponentfaling te vermy.
  • Verifieer die oriëntasie van die kantelskakelaar vir akkurate funksionaliteit.

Bedradingsinstruksies

ESP32-18_tile_wiring

Om die komponente te bedraad, begin met die kantelskakelaar, wat geen polariteit het nie, dus kan dit in enige rigting gekoppel word. Koppel een pen van die kantelskakelaar aan die 3.3V-toevoer en die ander pen aan pen 14 op die ESP32. Om te verseker dat pen 14 'n bekende toestand lees wanneer die skakelaar nie geaktiveer is nie, koppel 'n 10k-ohm-resistor van dieselfde pen na grond. Neem dan die LED en plaas dit in die broodbord met die langer been (anode) gekoppel aan 'n 220-ohm-resistor. Koppel die ander punt van die resistor aan pen 26 op die ESP32. Die korter been (katode) van die LED moet aan grond gekoppel word. Koppel laastens die ESP32 se grondpen aan die grondrail van jou broodbord en die 3.3V-pen aan die kragrail. Maak seker dat jy alle verbindings dubbel nagaan om enige kortsluitings of verkeerde lesings te voorkom. As jy hierdie stappe volg, behoort jy 'n funksionele kantelsensor-opstelling gereed vir programmering te hê.

Kode Voorbeelde & Deurloop

Die kode begin deur die pennommers vir die kantelskakelaar en die LED te definieer. Die kantelskakelaar is aan pen 14 gekoppel, en die LED is aan pen 26 gekoppel. Die toestand van die kantelskakelaar word gestoor in die veranderlike tiltState.


// Stel pennommers
const int tiltPin = 14;  // Kantelskakelaar
const int ledPin = 26;   // LED

// Veranderlike vir die stoor van die kantelstatus
int tiltState = 0;

Hierdie uittreksel toon die pen-toewysings en die verklaring van die veranderlike wat die kanteltoestand sal naspoor. Die tiltPin word as 'n invoer gestel om die skakelaarstatus te lees. In die setup()-funksie word die seriekommunikasie geïnisialiseer, en die penmodusse word vir die kantelskakelaar en die LED gestel. Dit verseker dat die ESP32 invoer van die kantelskakelaar kan lees en die LED dienooreenkomstig kan beheer.


void setup() {
  Serial.begin(115200);
  // Initialiseer die kantelpen as 'n invoer
  pinMode(tiltPin, INPUT);
  // Initialiseer die LED-pen as 'n uitvoer
  pinMode(ledPin, OUTPUT);
}

Hierdie afdeling is deurslaggewend aangesien dit die omgewing opstel, wat die ESP32 in staat stel om effektief te kommunikeer en die uitvoer te beheer op grond van die kantelskakelaarstatus. Die loop()-funksie kontroleer voortdurend die toestand van die kantelskakelaar. As die skakelaar regop is, sal die LED aanskakel; as dit gekantel is, sal die LED afskakel. Die huidige toestand word na die serie-monitor gedruk vir ontfouting.


void loop() {
  // Lees die toestand van die kantelskakelaar
  tiltState = digitalRead(tiltPin);

  Serial.println(tiltState);
  // As die skakelaar regop is
  if (tiltState == HIGH) {
    // Skakel LED aan
    digitalWrite(ledPin, HIGH);
  } else {
    // Skakel LED af
    digitalWrite(ledPin, LOW);
  }
}

Hierdie lus loop voortdurend, wat intydse monitering van die kantelskakelaarstatus en ooreenstemmende LED-beheer moontlik maak. Die uitvoer kan in die serie-monitor waargeneem word, wat dit maklik maak om funksionaliteit te verifieer.

Demonstrasie / Wat om te Verwacht

Sodra alles korrek bedraad is en die kode opgelaai is, behoort jy te sien dat die LED aanskakel wanneer die kantelschakelaar regop is, en dit sal afskakel wanneer dit gekantel word. Hierdie direkte korrelasie tussen die kanteltoestand en die LED-reaksie toon die funksionaliteit van die kantelschakelaar effektief. Algemene slaggate sluit in om seker te maak dat die bedrading korrek is en dat die resistors gepas geplaas is om kortsluitings te vermy (in video by 12:00).

Video Tydstempels

  • 00:00 Begin
  • 1:44 Inleiding Projek
  • 2:49 Dokumentasie
  • 6:43 Arduino-bedrading verduidelik
  • 10:39 Arduino-kode verduidelik
  • 13:40 Kies ESP32-bord en COM-poort op Arduino IDE
  • 15:22 Projek Kantel-demonstrasie

Beelde

ESP32-18_tile_wiring
ESP32-18_tile_wiring
tilt_switch
tilt_switch
ESP32-18_tile_schematic
ESP32-18_tile_schematic
817-ESP32 Tutorial 18/55- Arduino code for tilt sensor
Taal: C++
// 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);
  }
}

Hulpbronne en verwysings

Lêers📁

Geen lêers beskikbaar.