18/01/2022, 15:57
(Questo messaggio è stato modificato l'ultima volta il: 18/01/2022, 16:00 da K_Project.)
Buonasera a tutti!
Mi appoggio a questo forum pieno di idee per trovare supporto per un nuovo progetto che riguarda un Raspberry Pico e 15 spezzoni di strisce led con chip WS2812B che saranno inserite dentro a degli scalini di una scala murata.
Praticamente vorrei creare un effetto "cascata" facendo accendere i led partendo dal primo scalino fino all'ultimo led dell'ultimo scalino grazie alla possibilità del controllo singolo del chip WS2812B.
Ad ora la parte "hardware" del progetto sulla linea teorica è quella presentata nell'allegato nominato "attuale".
Il problema di questa configurazione è l'eccessiva lunghezza del segnale "DATA" in quanto sopra ai 7/10 metri la trasmissione non è più affidabile.
Necessito quindi di segmentare la trasmissione su più output fermo restando che il PI PICO me lo lasci fare.
L'idea di cablaggio sarebbe quindi quella dell'allegato "ipotetico".
Per la parte software userei CircuitPyhton con la libreria NeoPixel dove in situazione di singola linea dati il codice sarebbe:
E' possibile invece trasformare il codice creando più istanze assegnate a pin PWM diversificati del PICO così:
Grazie mille per l'aiuto!
Mi appoggio a questo forum pieno di idee per trovare supporto per un nuovo progetto che riguarda un Raspberry Pico e 15 spezzoni di strisce led con chip WS2812B che saranno inserite dentro a degli scalini di una scala murata.
Praticamente vorrei creare un effetto "cascata" facendo accendere i led partendo dal primo scalino fino all'ultimo led dell'ultimo scalino grazie alla possibilità del controllo singolo del chip WS2812B.
Ad ora la parte "hardware" del progetto sulla linea teorica è quella presentata nell'allegato nominato "attuale".
Il problema di questa configurazione è l'eccessiva lunghezza del segnale "DATA" in quanto sopra ai 7/10 metri la trasmissione non è più affidabile.
Necessito quindi di segmentare la trasmissione su più output fermo restando che il PI PICO me lo lasci fare.
L'idea di cablaggio sarebbe quindi quella dell'allegato "ipotetico".
Per la parte software userei CircuitPyhton con la libreria NeoPixel dove in situazione di singola linea dati il codice sarebbe:
Codice:
import time
import board
import neopixel
# Choose an open pin connected to the Data In of the NeoPixel strip, i.e. board.D18
# NeoPixels must be connected to D10, D12, D18 or D21 to work.
pixel_pin = board.D18
# The number of NeoPixels
num_pixels = 30
ORDER = neopixel.RGBW
pixels = neopixel.NeoPixel(pixel_pin, num_pixels, brightness=0.2, auto_write=False, pixel_order=ORDER)
E' possibile invece trasformare il codice creando più istanze assegnate a pin PWM diversificati del PICO così:
Codice:
# Simple test for NeoPixels on Raspberry Pi
import time
import board
import neopixel
# Choose an open pin connected to the Data In of the NeoPixel strip, i.e. board.D18
# NeoPixels must be connected to D10, D12, D18 or D21 to work.
pixel_pin = board.D10
pixel_pin2 = board.D12
pixel_pin3 = board.D18
pixel_pin4 = board.D21
# The number of NeoPixels
num_pixels = 30
ORDER = neopixel.RGBW
pixels = neopixel.NeoPixel(pixel_pin, num_pixels, brightness=0.2, auto_write=False, pixel_order=ORDER)
pixels2 = neopixel.NeoPixel(pixel_pin2, num_pixels, brightness=0.2, auto_write=False, pixel_order=ORDER)
pixels3 = neopixel.NeoPixel(pixel_pin3, num_pixels, brightness=0.2, auto_write=False, pixel_order=ORDER)
pixels4 = neopixel.NeoPixel(pixel_pin4, num_pixels, brightness=0.2, auto_write=False, pixel_order=ORDER)
Grazie mille per l'aiuto!