Alcune parti di questo sito web non sono ancora disponibili nella tua lingua. Stiamo lavorando per risolvere questo problema e ci scusiamo per eventuali disagi.
Tutorial ESP32 31/55 - Progetto Striscia LED con Evitamento Ostacoli | Kit di Apprendimento IoT ESP32 di SunFounder
In questo tutorial, creeremo un progetto utilizzando un microcontrollore ESP32 e una striscia LED WS2812 che può cambiare direzione in base alla rilevazione di ostacoli. Quando la striscia LED si muove in avanti, mostrerà colori casuali e, quando rileva un ostacolo, passerà a un colore predefinito e invertirà la direzione. Questo progetto dimostra le capacità dell'ESP32 in combinazione con un sensore infrarosso per l'evitamento degli ostacoli.
ESP32-31-luce-fluente-main2
In tutto questo tutorial, tratteremo i necessari componenti hardware, le istruzioni per il cablaggio e il codice necessario per dare vita a questo progetto. Per una spiegazione più visiva, assicurati di controllare il video linkato qui sotto (nel video a :00).
Hardware spiegato
Questo progetto richiede diversi componenti, tra cui il microcontrollore ESP32, una striscia LED WS2812 e un sensore a infrarossi per l'evitamento degli ostacoli. L'ESP32 è un potente microcontrollore che presenta Wi-Fi e Bluetooth integrati, rendendolo perfetto per applicazioni IoT. La striscia LED WS2812 è una striscia LED RGB programmabile che consente il controllo individuale di ciascun LED, permettendoci di creare effetti di illuminazione dinamici.
Il sensore di evitamento degli ostacoli a infrarossi funziona emettendo luce infrarossa e rilevando le riflessioni da oggetti vicini. Quando viene rilevato un ostacolo, il sensore cambia il suo stato di uscita, consentendo all'ESP32 di rispondere di conseguenza modificando il comportamento della striscia LED.
Dettagli della scheda tecnica
Produttore
WS2812B
Numero di parte
WS2812B
Tensione logica/IO
3,3 V (tip.)
Tensione di alimentazione
5 V (tip.)
Corrente di uscita (per canale)
20 mA (max)
Corrente di picco (per canale)
60 mA (max)
Guida sulla frequenza PWM
400 Hz (tip.)
Soglie di logica di ingresso
0,3 Vcc (alto), 0,1 Vcc (basso)
Caduta di tensione / RDS(on)/ saturazione
1,2 V (max)
Limiti termici
85 °C (max)
Pacchetto
Montaggio su superficie
Note / varianti
Disponibile in varie lunghezze e densità
Assicurati che la striscia LED sia alimentata con 5 V per prestazioni ottimali.
Utilizza una resistenza adatta per il pin dei dati per prevenire problemi di integrità del segnale.
Fai attenzione ai limiti di corrente in uscita per evitare surriscaldamenti.
Disaccoppiare correttamente l'alimentazione per prevenire picchi di tensione.
Regola attentamente il sensore infrarosso per ottenere la gamma di rilevamento desiderata.
Istruzioni di cablaggio
ESP32-31-flowing-light-wiring
Per cablare i componenti, inizia con il sensore di evitamento ostacoli a infrarossi. Collega il pin di uscita del sensore al pin25sull'ESP32. Il pin centrale dovrebbe essere collegato a terra, e l'ultimo pin (VCC) dovrebbe essere collegato a una fonte di alimentazione a 3,3 V.
ESP32-31-schema-luce-fluente
Successivamente, per la striscia LED WS2812, collega il pin dati (di solito il filo giallo) al pin14sull'ESP32. Il filo rosso dovrebbe essere collegato a una fonte di alimentazione da 5 V, e il filo nero dovrebbe essere collegato a terra. Assicurati di fissare correttamente tutte le connessioni per prevenire fili allentati.
Esempi di codice e guida passo passo
Ecco una breve panoramica del codice che esegue questo progetto. Prima, definiamo il numero di pixel nella striscia LED e il pin dati utilizzato per la comunicazione:
#define NUM_PIXELS 8
#define DATA_PIN 14
Nellasetup()funzione, inizializziamo la striscia LED e il sensore infrarosso:
In theloop()Funzione, verifichiamo se un ostacolo è rilevato e controlliamo di conseguenza la striscia LED:
if (avoid_value) {
for (int i = 0; i < NUM_PIXELS; i++) {
pixels.setPixelColor(i, color);
pixels.show();
pixels.setPixelColor(i, 0);
delay(100);
}
} else {
for (int i = NUM_PIXELS - 1; i >= 0; i--) {
pixels.setPixelColor(i, color);
pixels.show();
pixels.setPixelColor(i, 0);
delay(100);
}
}
Questo codice consente al nastro LED di visualizzare colori casuali durante il movimento in avanti e di cambiare direzione quando viene rilevato un ostacolo. Il codice completo è disponibile sotto l'articolo, quindi assicurati di controllarlo per tutti i dettagli.
Dimostrazione / Cosa Aspettarsi
Quando la configurazione è completata e il codice è caricato, il nastro LED dovrebbe iniziare a mostrare colori casuali mentre si muove in avanti. Quando viene rilevato un ostacolo, il nastro passerà a un colore predeterminato (come il verde) e invertirà la direzione. Se l'ostacolo viene rimosso, il nastro riprenderà a muoversi in avanti con colori casuali. Tieni presente che la portata del sensore a infrarossi può variare in base all'alimentazione utilizzata (nel video alle 10:30).
Timestamp video
00:00 Inizio
2:14 Introduzione al progetto
4:58 Spiegazione del cablaggio
7:41 Regolazione del sensore di evitamento ostacoli
10:03 Spiegazione del codice Arduino
15:40 Selezionare la scheda ESP32 e la porta COM nell'IDE Arduino