Pimoroni Plasma 2350 Ecco alcuni esempi di codice

Pimoroni Plasma 2350

Utilizziamo la scheda Pimoroni Plasma 2350, basata sul nuovo processore Raspberry RP2350, per gestire LED RGB in microPython e circuitPython.

La scorsa settimana abbiamo presentato la scheda Pimoroni Plasma 2350, un sistema avanzato a basso consumo progettato per la gestione di LED indirizzabili del tipo WS2812.

Come promesso, oggi vedremo in che modo utilizzare la scheda dal punto di vista pratico, attraverso circuit-Python e microPython.

Acquisire il firmware

Per pprima cosa occorrerà scaricare il modulo firmware necessario per utilizzafe la scheda con Python. Pimoroni offre la possibilità di lavorare tanto con circuitPython quanto con microPython. Le differenze sono minime, ma le librerie scritte con un modulo non sempre funzionerammo con l’altro (e viceversa). E’ quindi utile avere a disposizione tutte le possibilità.

Al seguente link potremo scaricare il modulo UF2 per circuitPython. E’ interessante notare come siano disponibili moduli di tipo UF2 nazionalizzati per praticamente tutte le lingue. Le dichiarazioni di Pimoroni: “Ogni volta che inseriamo nuovo codice in CircuitPython, creiamo automaticamente i binari per ogni scheda e linguaggio. I binari sono archiviati su Amazon S3, organizzati per scheda e poi per linguaggio. Queste release sono le più recenti. Provale se vuoi l’ultima novità in assoluto per vedere se un problema è stato risolto.”

E per microPython? Niente paura, il github di Pimoroni offre tutte le informazioni necessarie. La pagina home ad esempio mette subito  in guardia su possibili issues già note o conflitti tra hardware e firmware sulle schede gestite.

Cliccando sulla cartella micropython avrai la possibilità di scegliere il firmware per diverse board (Pimoroni Pico Plus2, la nostra Pimoroni Plasma 2350, Pimoroni Tiny2350, RPI Pico2 plain valilla, RPI Pico2B).

Anche la cartella degli examples è suddivisa per tipo di scheda. Nel casp del nostro Plasma 2350, abbiamo una libreria per la gestione di trackball e ben quattro esempi di codice sorgente per sfruttare appieno le capacità della board.

Un programma di esempio: Arcobaleno

Come vedete, l’uso della scheda e del modulo plasma incluso nel firmware è piuttosto semplice:

  1. Si importano i moduli plasma nella configurazione plasma2040, e time (per il metodo sleep() )
  2. Si definisce il numero di LED indirizzabili ai quali si desidera accedere
  3. Si definisce il tipo di accesso (APA o WS2812). Nel nostro caso useremo una classica stringa di LED 2812
    • Nota: viene usata una mappatura preimoistata nel modulo plasma, definita come plasma2040.DAT
  4. L’oggetto WS2812 viene associato alla variabile led_strip, che viene attivato con il metodo .start()
  5. La variabile offset fornisce il tipo di posizionamento dinamico dei colori nella striscia LED
  6. Inizia il ciclo infinito
  7. offset varia con step continuo di 5 millesimi
  8. Per ciascun indice nel range costituito dalla costante NUM_LEDS definita sopra
    1. viene definito un valore di tinta basato sull’indice e variabile sul numero di led disponibile (più led = maggiore variazione)
    2. viene configurata (set) la tinta (hue) della striscia led sul led di posizione i in modalità lineare
  9. Viene quindi imposta un’attesa pari ad un sessantesimo di secondo
  10. Il ciclo si ripete all’infinito

Gli altri programmi di esempio vertono dalla gesftione dei pulsanti sulla scheda al pilotaggio dei LED RGB onboard, o la creazione di una striscia monocolore utilizzando la funzione RGB anziché la HUE.

Per maggiori informazioni sulla gestione dei LED indirizzabbili WS2812, potete consultare la serie di articoli  che abbiamo pubblicato qualche tempo fa.

 

 

Iscriviti ai nostri gruppi Telegram

Link utili

Seguici per non perdere le prossime novità!

 

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.