Tutoriale ESP32 18/55 - Rilevamento dell'inclinazione usando ESP32 | Kit di apprendimento IoT ESP32 di SunFounder

Tutoriale ESP32 18/55 - Rilevamento dell'inclinazione usando ESP32 | Kit di apprendimento IoT ESP32 di SunFounder

In questo tutorial, useremo il microcontrollore SunFounder ESP32 per creare un progetto semplice che rileva l'inclinazione utilizzando un interruttore di inclinazione. Quando l'interruttore di inclinazione è attivato, un LED si spegnerà, e quando si trova nella sua posizione verticale, il LED si accenderà. Questo progetto non è solo una grande introduzione al lavoro con i sensori di inclinazione, ma serve anche come base per varie applicazioni robotiche. Per una guida visiva dettagliata, assicurati di controllare il video collegato sopra (nel video a 00:00).

interruttore di inclinazione

Hardware spiegato

I componenti principali utilizzati in questo progetto includono il microcontrollore ESP32, un interruttore di inclinazione e un LED. L'ESP32 è un potente microcontrollore con Wi-Fi e Bluetooth integrati, rendendolo ideale per applicazioni IoT. L'interruttore di inclinazione è un dispositivo semplice che contiene una sfera metallica all'interno di una lattina. Quando inclinato, la sfera si muove e interrompe il circuito, permettendoci di rilevare lo stato di inclinazione. Il LED indicherà visivamente lo stato di inclinazione in base allo stato dell'interruttore. Oltre a questi componenti, utilizzeremo anche resistori per limitare la corrente e per scopi di pull-down. Il resistore da 220 ohm collegato al LED garantisce che il LED funzioni in modo sicuro senza assorbire troppa corrente. Il resistore da 10k ohm agisce come pull-down per l'interruttore di inclinazione, assicurandosi che il pin di ingresso legga uno stato noto quando l'interruttore non è attivato.

Dettagli della scheda dati

Produttore SunFounder
Numero di parte ESP32
Tensione di logica/IO 3,3 V
Tensione di alimentazione 5 V
Corrente di uscita (per canale) 12 mA
Corrente di picco (per canale) 40 mA
Linee guida sulla frequenza PWM 1 kHz
Soglie logiche di ingresso 0,8 V (basso), 2,0 V (alto)
Caduta di tensione / RDS(on)/ saturazione 0,2 V
Limiti termici 85 °C
Pacchetto Modulo ESP32
Note / varianti Include capacità Wi-Fi e Bluetooth

  • Assicurati di utilizzare valori di resistori adeguati per prevenire danni al LED.
  • Mantieni i cablaggi ordinati per evitare cortocircuiti.
  • Utilizzare resistori di pull-down per garantire letture stabili dall'interruttore di inclinazione.
  • Testare le connessioni prima di alimentare il circuito per evitare guasti ai componenti.
  • Verificare l'orientamento dell'interruttore a inclinazione per una funzionalità accurata.

Istruzioni di cablaggio

ESP32-18_tile_wiring

Per cablare i componenti, inizia con l'interruttore a inclinazione, che non ha polarità, quindi può essere collegato in entrambe le direzioni. Collega un pin dell'interruttore a inclinazione all'alimentazione di 3,3V e l'altro pin al pin 14 dell'ESP32. Per garantire che il pin 14 legga uno stato noto quando l'interruttore non è attivato, collega una resistenza da 10k-ohm dallo stesso pin a terra. Successivamente, prendi il LED e inseriscilo nella breadboard con la gamba più lunga (anodo) collegata a una resistenza da 220-ohm. Collega l'altra estremità della resistenza al pin 26 dell'ESP32. La gamba più corta (catodo) del LED dovrebbe essere collegata a terra. Infine, collega il pin di terra dell'ESP32 al binario di terra della tua breadboard e il pin di 3,3V al binario di alimentazione. Assicurati di ricontrollare tutte le connessioni per prevenire cortocircuiti o letture errate. Se segui questi passaggi, dovresti avere un setup di sensore a inclinazione funzionante pronto per la programmazione.

Esempi di codice e guida passo passo

Il codice inizia definendo i numeri dei pin per l'interruttore di inclinazione e il LED. L'interruttore di inclinazione è collegato al pin 14, e il LED è collegato al pin 26. Lo stato dell'interruttore di inclinazione è memorizzato nella variabiletiltState.


// Set pin numbers
const int tiltPin = 14;  // Tilt Switch
const int ledPin = 26;   // LED

// Variable for storing the tilt status
int tiltState = 0;

Questo estratto mostra le assegnazioni dei pin e la dichiarazione della variabile che traccerà lo stato di inclinazione.tiltPinè impostato come input per leggere lo stato dell'interruttore. Nelsetup()funzione, la comunicazione seriale viene inizializzata e le modalità dei pin sono impostate per l'interruttore di inclinazione e il LED. Questo garantisce che l'ESP32 possa leggere l'input dall'interruttore di inclinazione e controllare il LED di conseguenza.


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);
}

Questa sezione è cruciale poiché imposta l'ambiente, consentendo all'ESP32 di comunicare in modo efficace e controllare l'uscita in base allo stato dell'interruttore di inclinazione.loop()La funzione controlla continuamente lo stato dell'interruttore di inclinazione. Se l'interruttore è in verticale, il LED si accenderà; se inclinato, il LED si spegnerà. Lo stato attuale viene stampato sul monitor seriale per il debug.


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);
  }
}

Questo ciclo viene eseguito continuamente, consentendo il monitoraggio in tempo reale dello stato dell'interruttore di inclinazione e il controllo corrispondente del LED. L'output può essere osservato nel monitor seriale, rendendo facile verificare il funzionamento.

Dimostrazione / Cosa Aspettarsi

Una volta che tutto è cablato correttamente e il codice è caricato, dovresti vedere il LED accendersi quando l'interruttore di inclinazione è in posizione verticale, e si spegnerà quando inclinato. Questa correlazione diretta tra lo stato di inclinazione e la risposta del LED dimostra efficacemente la funzionalità dell'interruttore di inclinazione. Gli errori comuni includono assicurarsi che il cablaggio sia corretto e verificare che i resistori siano posizionati in modo appropriato per evitare cortocircuiti (nel video alle 12:00).

Timestamp video

  • 00:00 Inizio
  • 1:44 Introduzione Progetto
  • 2:49 Documentazione
  • 6:43 Spiegazione del cablaggio di Arduino
  • 10:39 Codice Arduino spiegato
  • 13:40 Selezionare la scheda ESP32 e la porta COM su Arduino IDE
  • 15:22 Dimostrazione del Progetto Tilt

Immagini

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
Lingua: C++
Copia!

Risorse e riferimenti

File📁

Nessun file disponibile.