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).

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

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
Common Course Links
Common Course Files
Risorse e riferimenti
-
DocumentazioneDocumentazione del sensore Tile SunFounder ESP32 Tutorial 18/55docs.sunfounder.com
File📁
Nessun file disponibile.