Jugant amb NeoPíxels

Jugant amb NeoPíxels

by Citilab Edutec

Boards
Boards:

Citilab ED1

Component/s
Components:

NeoPixels
Aquesta activitat forma part del Curs del Citilab. Fes-li una ullada!

Jugant amb NeoPíxels

Plaques Per totes les plaques amb connexions digitals.

Connexió de la tira Neopíxel

  • Els NeoPíxels són una tira de LEDs RGB (de colors) que disposen de controlador dins de cadascun. Això permet controlar-los de manera individual o col·lectiva aconseguint diferents efectes visuals.

  • Treballarem amb una tira de 10 LEDs NeoPíxel amb un connector preparat per l'ED1.

Tira de NeoPíxels

  • Com en el cas del LED estàndard que hem fet servir a les pràctiques anteriors, la connectarem un pin digital seguint el mateix codi de color dels cables.

  • Es poden concatenar tires de LEDs, sempre que el consum no sigui excessiu. Sense alimentació externa , amb la ED1 es poden connectar fins a 100 LEDs a les sortides de 3,3V (uns 4mA per LED) o 50 a les de 5V (uns 10mA per LED).

Inicialització

  • Per fer servir qualsevol tira de NeoPíxels (sigui integrada o externa) necessitarem la llibreria NeoPíxels.

Llibreria NeoPíxels

  • Abans de començar a programar amb ella, hem d’indicar el pin on està connectada amb el bloc inicialitza tira de _ NeoPíxels al pin _

  • Per comprovar que funciona, podem fer servir el bloc posa tots els NeoPíxels de color _.

Blocs bàsics llibreria NeoPíxels

Programant els LEDs

  • A més dels anteriors, tenim diferents blocs disponibles per operar amb els LEDs:

    • posa NeoPíxel _ de color _ per encendre un LED especificant el color.
    • rota NeoPíxel en _ per rotar les posicions dels colors de tots els LEDs.
    • color r _ g _ b _ (0-255) per obtenir un color especificant els valors RGB (Vermell-Verd-Blau).
    • color a l’atzar per obtenir un color aleatori.

Més blocs llibreria NeoPíxels

Exemple semàfor Exemple semàfor resultat

Efectes d’il·luminació

  • Amb l’ajuda dels bucles podem fer diferents efectes d’il·luminació.

  • Fent servir el bloc per cada i _ en _ de la categoria Control, podem “recórrer” la tira de LEDs utilitzant la variable i per apuntar al LED que toca il·luminar en cada moment.

NeoPíxels exemple 1

  • Per apagar un LED n’hi ha prou amb assignar-li el color negre.

  • Cal recordar fer servir el bloc espera _ mil·lisegons per poder visualitzar-ho bé!

Repte 1: prova d’invertir l’ordre en el que s’apaguen els LEDs a l’exemple anterior

Challenge 1

Solució al repte 1

Solució repte 1

Control del LED a encendre

  • Podem provar de manipular el LEDs que volem il·luminar amb un potenciòmetre. Per a això caldrà mapejar el valor que obtenim d’aquest per obtenir el número de LED a encendre.

  • En el nostre cas haurem de fer servir un factor de 10, ja que és el número de LEDs que té la nostra tira de NeoPíxels.

Barra de LEDs 1

  • És recomanable crear una variable per guardar el número de LED per entendre millor el programa

Apagar els LEDs

  • Veurem que els LEDs una vegada encesos no s’apaguen, a menys que tornem a executar el programa.

  • Si volem que els LEDs s’apaguin progressivament de la mateixa manera que s’encenen, caldrà apagar els LEDs que estiguin “per sobre” del que controlem amb el potenciòmetre.

  • És a dir, caldrà recórrer la tira de LEDs amb un per cada i _ en _ i comprovar amb un bloc si _ si no si cal encendre’ls o apagar-los.

Barra de LEDs 2

Jugant amb panells

  • A banda de les tires de LEDs, també hi ha anells i panells de LEDs de diverses dimensions.

Panells

  • Per connectar-los a la placa podem fer servir un adaptador. Cal vigilar el consum, ja que els panells tenen molts NeoPíxels (els de 16x16 i 8x32 en tenen 256). És millor fer servir les sortides de 3,3V que les de 5V, no abusar dels colors molts clars i no encendre'n molts simultàniament.

Adaptador

  • En el cas dels panells, són necessaris blocs extra. Això permet treballar amb una estructura de coordenades i fer servir opcions específiques per aquests elements.

  • Per treballar amb panells, cal carregar la llibreria Gràfics i pantalles→NeoPanell.

Llibreria NeoPanell

  • El bloc fonamental és el d'inicialització, ja que defineix on es connecta el panell, les seves mides i l'orientació.

Inicialitzar NeoPanell

  • Per exemple, per a un panell de 32x8, si establim l'amplada a 32, els càlculs es faran perquè el panell funcioni en horitzontal. Si, en canvi, l'amplada és 8, funcionarà en vertical
Inialització 32x8 Inialització 8x32
Orientació horitzontal Orientació vertical
  • Ara ja podem treballar amb un sistema de coordenades X, Y i tenim al nostre abast blocs per dibuixar punts, línies, rectangles, text i fins i tot imatges.
Exemple: Fer 4 seccions dins del panel 32x8 que vagin canviant de color aleatòriament.

Exemple 1

Exemple 1 real

Challenge 2

Repte 2: fes un efecte espectacular amb un panell de NeoPíxels

Només per usuaris avançats

  • MicroBlocks té limitada la intensitat màxima de cada LED per evitar problemes de sobreescalfament per un consum excessiu. Amb precaució i alimentacions externes es poden fer servir més LEDs i el bloc avançat set Neopixel max brigthness de la llibreria Altres→Sistema→miscPrimitives.

set Neopixel max brigthness

Aquesta activitat forma part del Curs del Citilab. Fes-li una ullada!

⬅️ Activitat anterior Activitat següent ➡️

CC-BY-SA

© by Citilab Edutec 2019-2022.
This work is licensed under a CC-BY-SA 4.0 license.