I LED NeoPixel (nella famiglia WS2812) rappresentano un modo semplice per aggiungere illuminazione RGB indirizzabile con un solo GPIO.
Sono onnipresenti sui microcontrollori, ma alcuni chip o computer a scheda singola (SBC) non supportano i NeoPixel a causa della tempistica di precisione richiesta per l’invio dei dati.
Spesso ci si chiede come far funzionare i NeoPixel su alcune schede di tipo Pi di OrangeBananaOnionRockchipAllWinner, dato che disponiamo della nostra libreria Blinka che supporta le librerie CircuitPython, inclusa la libreria NeoPixel. Ma se non esiste un’implementazione neopixel_write scritta per quella piattaforma, semplicemente non funzionerà. E scrivere la funzione neopixel-writer non è banale su molti chip: servono davvero GPIO veloci e tempi perfetti al nanosecondo.
![]()
Una soluzione rapida è questa scheda NeoDriver basata su seesaw: invia i dati NeoPixel che vuoi scrivere tramite I2C e lui eseguirà la sincronizzazione perfetta dei pixel dall’altra parte. Stiamo usando un ATtiny1616, quindi abbiamo abbastanza RAM per bufferizzare una striscia lunga 512 pixel. Ora, per essere onesti, non è super veloce perché dobbiamo scrivere ogni pixel tramite I2C, ma con un clock I2C di 800 KHz o 1 MHz e finché non si scrive l’intera striscia in una volta, non è poi così male!
Aggiungiamo una alimentazione pompata a 5 V, quindi anche su schede a 3 V, si ottiene un segnale a 5 V pulito. I morsetti pre-saldati e i connettori Stemma QT consentono una soluzione senza saldature per aggiungere facilmente NeoPixel a qualsiasi dispositivo con I2C. L’indirizzo I2C predefinito è 0x60, ma è possibile tagliare le tracce di saldatura inferiori per modificarlo in 0x60-0x67 inclusi.
Nota: per alimentare i NeoPixel sono necessari circa 10-30 mA per pixel di alimentazione pulita a 5 V CC, fornita sui morsetti oppure è possibile collegare direttamente i 5 V ai pixel se sono presenti cavi di alimentazione separati, rosso e nero. La porta Stemma QT non può fornire così tanta corrente, quindi non è possibile collegare i pixel senza un alimentatore esterno!
![]()
Considerazioni finali
Adafruit NeoDriver – Scheda driver da I2C a NeoPixel ADA5766 costa circa 10 euro. Un prezzo tutto sommato interessante per un giochino di Natale…
Iscriviti ai nostri gruppi Telegram
Link utili
- Arduino UNO R3
- Elegoo UNO R3
- Arduino Starter Kit per principianti
- Elegoo Advanced Starter Kit
- Arduino Nano
- Raspberry PI 5
- Raspberry PI 400
- Raspberry PI Pico
- Programmiamo il Pico