Com connectar i programar una Tira led WS2812B amb Arduino

Categorías: ,
Etiquetas: ,

En aquest post anem a aprendre a connectar i programar una tira led WS2812B amb Arduino.

Així aconseguirem diferents efectes de llums i colors a la tira led.

Mitjançant un botó podrem saltar d’efecte en efecte o el que és el mateix, de programa en programa.

Veurem programes per a efectes de llums senzills i altres per efectes més complexos.

tira led inputmakers
Kit Control de la Tira Led d’InputMakers

Per això:

  • Pots repassar com muntar un botó mitjançant el muntatge PULL-UP en aquest post dedicat a això.
  • Estudiarem en detall la tira led WS2812B (neopixel).
  • Veurem el muntatge o esquema de l’circuit.
  • Aprendrem la programació de diferents seqüències de llums.

LA TIRA LED WS2812B:

És una tira formada per una successió de leds (Led5050) que té la característica que podem modificar el color de cada led de manera independent.

Aquest model és de el tipus “individual Addressable” això vol dir que podem accedir a cada led de forma individual gràcies a l’integrat que porta cada led.

Les dades s’envien en sèrie ja que els leds estan connectats en cadena, de tal manera que cada led emmagatzema la dada que porta la seva adreça i fa de transmissor per al led següent. Això permet dividir o sumar més leds i el resultat seguirà funcionant. Aquesta transmissió no serà perceptible a l’ull humà ja que es realitza a altes velocitats (400 Hz).

Cada led té incorporat un petit circuit integrat. Aquest integrat és capaç d’emmagatzemar 3 bytes (8 bits per byte). Cada byte correspon a un color RGB per la qual cosa cada color pot tenir 2 8 = 256 nivells i per tant el led podrà donar un total de 2563 colors.

El model de tira led WS2812B també anomenat NeoPixel i té les següents característiques:

Longitud1 m
Densitat de leds60 leds/m
Ingress Protectión (IP)IP30*
*Protegit contra l’ingrés d’objectes sòlids de més de 2,5 mm de diàmetre i sense protecció contra l’ingrés d’aigua.

Connexionat de la tira led WS2812B:

La tira led es connecta mitjançant tres cables que corresponen a:

NegatiuGND
DinPin digital de la placa (la conectarem al pin 6)
Positiu+5V

Podem alimentar la tira led directament des de la placa compatible amb Arduino?

Vegem, el cas més desfavorable és que tots els leds de la tira estiguin il·luminant en blanc intens. Això requeriria un consum d’uns 60 mA per cada led. (Cada led de la tira està format per tres petits leds que consumeixen 20mA cadascun, és a dir: 20 + 20 + 20 = 60 mA).

En el nostre cas per als 60 led de què consta la nostra tira suposarien:

el que és inassumible per a una placa compatible Arduino perquè recordem que cada pin pot donar un màxim de 40 mA (valor recomanat 20 mA) amb la resticción que com a màxim el conjunt de totes les sortides ha de ser menor de 300 mA (sempre que no superin 150 mA per port).

Per tant, NO PODEM ALIMENTAR LA TIRA LED DIRECTAMENT DES DE LA PLACA.

Llavors hem d’alimentar d’una banda la tira led i per un altre independent la placa.

L’ideal és alimentar-la amb una font d’alimentació de 5 V i 2A per alimentar la tira led. Però ¿és suficient amb la potència que ens subministra aquesta font?

Vegem: la potència màxima que ens pot donar la font serà:

Si sabem que en general, el corrent real per un disseny colorit és aproximadament 1/3 a 1/2 del corrent màxima, això correspon a uns valors de potència de:

Per tant, la font d’alimentació compleix amb la condició de potència.

Respecte a la placa compatible amb Arduino, no podem alimentar-la des de la font d’alimentació de 5V perquè ho hauríem de fer mitjançant el pin de 5V i si per error o desconeixement intentéssim alimentar el projecte per l’usb o el connector DC de la placa (i no mitjançant la font) podríem trencar la placa ja que aquesta intentaria subministrar intensitat pel pin de 5V cap a la tira led i com hem dit, la tira led requereix molt més potència de la que la placa pot donar.

Per tant hem d’utilitzar un connector DC per alimentar la tira mitjançant la font d’alimentació i una pila de 9V per alimentar la placa de manera independent a la tira led.

Cal destacar que la terra (GND) de la placa ha de ser comú a la de la tira led.

També caldrà muntar una resistència de 470 Ohm entre el pin de sortida digital i el Din de la tira led, això evitarà possibles danys en els primers leds.

Finalment, per reduir risc de cremat de la WS2812B es recomana afegir un condensador de 1000uF entre 5V i GND.

MUNTATGE O ESQUEMA DEL CIRCUIT:

Per fer-ho més fàcil anem a veure-ho per parts:

  1. Primer mostrarem l’esquema per al muntatge de botó (PULL-UP).
  2. Segon mostrarem l’esquema per muntar la tira led WS2812B (Neopixel).
  3. Tercer i últim mostrarem els dos anteriors junts, és a dir el muntatge final.

Esquema pel muntatge del botó PULL-UP:

Fem servir dues plaques protoboard mini perquè volem fer accessible el botó des de fora d’una caixeta on guardem tot el muntatge. (Pots veure el nostre Kit Control de tira led).

Si simplement vas a fer el muntatge a mode de pràctica pots muntar-lo sobre una única placa protoboard més gran.

Com s’indica en el post dedicat a com fer servir o connectar un polsador amb Arduino que esmentem al principi d’aquest post, és possible connectar el polsador sense la resistència de 4k7 ohms activant la resistència PULL-UP interna d’Arduino amb la comanda pinMode (pin, INPUT_PULLUP); però en aquest cas hem decidit realitzar el muntatge amb aquesta resistència ja que hi ha espai suficient i també perquè serveixi com a pràctica.

Esquema pel muntatge o connexió de la tira led WS2812B (Neopixel):

Com pots observar muntem sobre una fila tots els negatius (cables de color negre):

  • Del connector d’alimentació.
  • De la tira WS2812B (Neopixel).
  • El negatiu de l’condesador.
  • El negatiu de la placa compatible amb Arduino.

(Recordeu que cal fer el negatiu comú).

I sobre una altra fila tots els positius (cables de color vermell):

  • Del connector d’alimentació.
  • De la tira WS2812B (Neopixel).

Després també cal tenir en compte que hem de connectar una resistència de 470 Ohm entre el pin de sortida digital i el Din de la tira led.

Esquema final de tot el conjunt:

montaje tira led inputmakers
Muntatge real del circuit.

PROGRAMACIÓ TIRA LED WS2812B (Neopixel):

A continuació estudiarem com programar diferents programes de llums per a la tira led WS2812B (neopixel) que seran activats de forma seqüencial amb el botó.

Podràs comprovar que aquest és el projecte més complicat fins a la data que hem realitzat pel que fa a la programació.

Per poc que sàpigues de programació no et serà complicat entendre-ho i et resultarà un repte assumible per així donar un pas més en l’aprenentatge de programació.

Si realment és la primera vegada que intentes programar t’aconsellem que visitis altres entrades al bloc molt més senzilles.

El primer que hem de fer és afegir la llibreria Adafruit_NeoPixel.h per la tira led.

Això ens permetrà fer funcionar la tira led WS2812B correctament.

Com les instal·lem?

anem a: Eines> Gestiona les biblioteques…

Apareix el Gestor de biblioteques. Escrivim en la recerca “Adafruit Neo Pixel”. La busquem i la instal·lem. 

Ara sí, anem amb el programa:

Esperem que us hagi agradat aquest post i que hagis gaudit desxifrant la programació:))

A la nostra pàgina trobareu el projecte “CONTROL DE TIRA LED” al qual trobaràs més programes de llums i amb el qual podràs ampliar els teus coneixements sobre programació.

També pots intentar programar la tira led amb el teu color favorit modificant el codi!

Important! OFERIM GRANS DESCOMPTES PER A CENTRES EDUCATIUS! SI ETS UN CENTRE EDUCATIU DEMANA PRESSUPOST PERSONALITZAT AQUÍ

Control de la tira led

(1 ressenya de client)

¿Te gustaría disfrutar de una iluminación tipo led y controlarla con diferentes opciones de luz?

Con este kit de robótica vas a poder hacerlo entendiendo el funcionamiento y el porqué de cada uno de sus componentes. Además, vas a poder ampliar tus conocimientos de programación comprendiendo paso a paso cada instrucción del programa y sobre todo ¡vas a divertirte haciéndolo!

*Con la compra de este proyecto recibirás en tu correo electrónico un completo manual con la explicación detallada de cada uno de los componentes, el montaje, los esquemas de circuitos y la programación. ¡No te lo pierdas!

Puedes ver una muestra del manual de uno de nuestros proyectos en el siguiente enlace.

Categoria:

Descripció

El Control de la Tira Led es un kit de robótica con el que podrás encender una tira led y controlar mediante diferentes programas su tipo de iluminación.

Al presionar diferentes veces un botón estaremos indicando a la placa compatible con Arduino que vaya pasando secuencialmente por los diferentes programas de luces. Esto ara que la tira led se vaya iluminando de acuerdo a ello.

Con el kit CONTROL DE LA TIRA LED de Inputmakers vas a aprender sobre:
  • La placa compatible con Arduino.
  • Placa protoboard mini
  • Botón o pulsador.
  • Resistencia.
  • Montaje pull-up y pull down.
  • Condensador.
  • Tira Led WS2812B.
  • Alimentación de la placa compatible con Arduino.
  • Entradas y salidas digitales.
  • Montaje de circuitos.
  • Programación en el IDE de Arduino.

1 ressenya per Control de la tira led

  1. Adrián González

    Te explica cómo funciona una tira led, como se monta para que funcione con un Arduino y te da el programa para hacer diferentes luces con la tira. Si lo compras por componentes sueltos te va a costar más caro, lo recomiendo sin duda.

Afegeix una ressenya

Comparteix si t’ha agradat 🙂

Salutacions de l’equip d’InputMakers i ¡Segueix sempre aprenent!

Twitter
Facebook
WhatsApp

Feu un comentari