Nota
Ciao, benvenuto nella Community di SunFounder per appassionati di Raspberry Pi, Arduino ed ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.
Perché unirti?
Supporto esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del nostro team.
Impara e Condividi: Scambia consigli e tutorial per migliorare le tue competenze.
Anteprime Esclusive: Ottieni accesso anticipato agli annunci di nuovi prodotti e anteprime speciali.
Sconti Speciali: Godi di sconti esclusivi sui nostri prodotti più recenti.
Promozioni e Omaggi Festivi: Partecipa a omaggi e promozioni festive.
👉 Pronto a esplorare e creare con noi? Clicca su [qui] e unisciti oggi stesso!
6.2 Luce Scorrevole¶
Hai mai desiderato aggiungere un elemento divertente e interattivo al tuo spazio abitativo? Questo progetto prevede la creazione di una luce scorrevole utilizzando una striscia LED WS2812 e un modulo di evitamento ostacoli. La luce scorrevole cambia direzione quando viene rilevato un ostacolo, rendendola un’aggiunta entusiasmante all’arredamento della tua casa o del tuo ufficio.
Componenti Necessari
In questo progetto, abbiamo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un intero kit, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
|---|---|---|
Kit di Partenza ESP32 |
320+ |
Puoi anche acquistarli separatamente dai link sottostanti.
INTRODUZIONE AI COMPONENTI |
LINK DI ACQUISTO |
|---|---|
Schema Elettrico
La striscia LED WS2812 è composta da una serie di LED individuali che possono essere programmati per visualizzare diversi colori e schemi. In questo progetto, la striscia è configurata per visualizzare una luce scorrevole che si muove in una direzione specifica e cambia direzione quando un ostacolo viene rilevato dal modulo di evitamento ostacoli.
Cablaggio
Codice
Nota
Apri il file
6.2_flowing_led.pysituato nel percorsoesp32-starter-kit-main\micropython\codes, oppure copia e incolla il codice in Thonny. Poi, clicca su «Esegui Script Corrente» o premi F5 per eseguirlo.Assicurati di selezionare l’interprete «MicroPython (ESP32).COMxx» nell’angolo in basso a destra.
from machine import Pin
import neopixel
import time
import random
# Imposta il numero di pixel per la luce scorrevole
num_pixels = 8
# Imposta il pin dati per la striscia LED RGB
data_pin = Pin(14, Pin.OUT)
# Inizializza l'oggetto striscia LED RGB
pixels = neopixel.NeoPixel(data_pin, num_pixels)
# Inizializza il sensore di evitamento
avoid = Pin(25, Pin.IN)
# Inizializza la variabile di direzione
direction_forward = True
# Inizializza il flag di direzione inversa
reverse_direction = False
# Ciclo continuo della luce scorrevole
while True:
# Leggi l'input dal sensore a infrarossi
avoid_value = avoid.value()
# Genera un colore casuale per il pixel corrente
color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
# Se non viene rilevato alcun ostacolo
if avoid_value:
for i in range(num_pixels):
# Accendi il pixel corrente con il colore casuale
pixels[i] = color
# Aggiorna il display della striscia LED RGB
pixels.write()
# Spegni il pixel corrente
pixels[i] = (0, 0, 0)
time.sleep_ms(100)
# Se viene rilevato un ostacolo, cambia la direzione della striscia LED
else:
for i in range(num_pixels-1, -1, -1):
pixels[i] = color
pixels.write()
pixels[i] = (0, 0, 0)
time.sleep_ms(100)
I LED sulla striscia RGB si accendono uno per uno quando lo script è in esecuzione. Non appena un oggetto viene posizionato davanti al modulo di evitamento ostacoli, i LED sulla striscia RGB si accendono uno per uno nella direzione opposta.