Mai țineți minte articolele http://www.roroid.ro/matrice-8×8/ și http://www.roroid.ro/matricea-8×8-si-udn2981a/ ? Probabil că nu :-). Ei bine, atunci vă propun realizarea unui afișaj matrice folosind bandă flexibilă cu leduri WS2812 (neopixeli) și un arduino pro mini.

Necesar:

  • WS2812B 5050 RGB LED Strip 5M 150 300 Leds 144 60LED/M Individual Addressable 5V http://r.ebay.com/fiefBa (eu am folosit varianta cu 144 led/m)
  • Arduino Pro Mini http://r.ebay.com/hhA2cI
  • O sursă de 5v care să ducă minim 16A (recomand o sursa de PC)
  • Fire de legatură
  • Letcon/cositor/pasta decapantă
  • Pistol cu lipici cald
  • Bucată plexigalss
  • Imprimanta 3d in cazul în care doriti si carcasa

Pregatire placă plexiglass:

Benzile de leduri le-am montat pe o placă de plexiglass de 2mm dimensionată corespunzator. O să spuneți că 264 de leduri care au fiecare aproximativ 0.3W (80W total) o să topească placa respectivă. Probabil că da, dacă țineți toate ledurile aprinse pe o perioada mai lunga de timp. Eu am preferat plexiglass deoarece am zisi că benzile se vor lipi mai bine pe acest material (in final nu e așa, probabil datorită calității proaste a benzii dublu adezive cu care au venit ledurile). Inițial placa mea de plexiglas a avut 265x115mm. Din pacate a trebuit să mai tai din ea deoarece ledurile nu erau aliniate de la o bandă la alta. A fost si greșala mea pentru că nu am ținut cont de joncțiuni dar nici SMD-urile nu au fost aliniate.

Lungimea display-ului poate fi cât de mare vi-o doriți. Trebuie doar să țineti cont de alinierea ledurilor atât pe verticală cât și pe orizontala. Pentru acest lucru vă sugerez să vă faceți un ghidaj pentru lipirea benzilor. Modelul făcut de mine îl vedeți în pozele de mai sus.

Legarea benzilor WS2812

Vă prezint două din multiplele moduri de conectare a acestor leduri. Am să încep cu varianta 2 deoarece acest tip de conexiuni l-am folosit inițial. Din păcate nu am reușit să fac display-ul să meargă. Singurul lucru pe care l-am reușit a fost să modific culorile pixelilor dar sub nici o formă să afișez un text curgător pe display.

Totuși dacă aveți pe acasă o placă Teensy vă recomand această librărie https://github.com/PaulStoffregen/OctoWS2811 și sunt convins că ve-ți reusi sa il faceti sa mearga.

 

Cautând un pic pe Google m-am decis sa folosesc libraria NeoMatrix de la Adafruit https://github.com/adafruit/Adafruit_NeoMatrix. Se pare că V1 de conectare este mai lenta fata de V2. Eu nu am observat nici o intarziere la V1, dar dacă doriti sa afisati filme pe display intârzierile o să apară.

Programare:

Folosind libraria NeoMatrix programarea display-ului este foarte simplă. Vreau doar să vă explic un pic modul de configurare a acestei librării:

Configurarea afisajului e facută cu linia de cod de mai sus. În ordinea parametrilor avem urmatoarele:

33 sunt numarul de pixeli pe un rand, 8 numarul de randuri,PIN reprezinta pinul pe care e conectată matricea, în cazul nostru 7,

primul pixel e în dreapta sus

iar matricea e setata ca rânduri în mod progresiv.(vezi imaginea de mai jos)

 

În trecut am realizat un display care comunica pe i2c http://www.roroid.ro/arduino-sample-code-bts7960-43a-motor-driver-i2c-7-segment-display/. Am revizuit putin codul a.î. sa pot folosi noul display cu neopixeli.

 

Montarea în carcasă:

Parcă nu arata bine afișajul doar lipit pe placa de plexiglass. De aceea am decis să îi realizez o carcasa pe care ulterior sa o printez la imprimanta 3d. Designul e realizat în Fusion360. Doar ca o parere personală, acest soft de design 3D este cel mai bun pe care l-am întalnit pană acum. În plus îl puteti folosi și gratuit.

Fisier stl ce contine carcasa facuta de mine: carcasa33x8

Provocări:

  • Lipirea firelor pe banda de leduri. A trebuit să folosesc lipici cald pentru fixarea acestor fire pe placă a.î. să nu se mai miste. Indiferent cât de mult aș fi insistat cu letconul pe bandă, firul refuza să stea lipit
  • E bine sa reușiți să vă adaptați din mers în realizarea acestui proiect. Eu am pornit de la o cu totul altă idee de soft și design iar în final am ajuns la ce se vede mai sus, modificând de mai multe ori placa cu leduri.

Idei:

  • Daca folosiți o placa esp8266 puteți realiza un contor fizic a paginii dumneavoastra de web
  • La fel de usor puteți folosi acest display pentru realizarea unui ceas care să arate atât ora cât și prognoza meteo
  • Reclama luminoasă

Display matrice 33×8 cu leduri ws2812 (neopixeli)
Etichetat pe:                            

Un gând despre „Display matrice 33×8 cu leduri ws2812 (neopixeli)

  • 04/01/2017 la 20:06
    Legătură permanentă

    Hello,

    This is MK323F from youtube.
    I really like what u are doing with the arduino.
    Hope u can contact me on my email so i can show u a drawing how i connected the leds and maybe u can show me how i can improve it

    Răspunde

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *