» elettronica » Arduino »Led Matrix su WS2812

Matrice led su WS2812

Matrice led su WS2812

Buon pomeriggio, voglio condividerne un altro homebrew ramoscello. Questa volta ho deciso di scrivere le istruzioni per la fabbricazione della matrice Led. Le dimensioni sono piccoli diodi 10x10. Ma secondo questa istruzione, è possibile realizzare matrici e grandi dimensioni. Per la bellezza aggiunta retroilluminazione. La base è stata presa dai LED indirizzabili WS2812 montati su un nastro a 60 diodi per metro. Li gestiremo attraverso Arduino Pro Mini. Ci sono molte opzioni per usare la matrice. Ad esempio, ho aggiunto un sensore di temperatura e ho scritto il firmware dell'orologio senza RTC.

Avremo bisogno di:
- Nastro WS2812 con 120 LED, 60 pezzi al metro
-
- Alimentatore per 5V 1A
- sensore di temperatura ds18b20
- Resistenza 4.7 Kom 0.25 W.
- truciolare spessore 10 mm
- Plastica opaca o "latte"
- Cartone spesso
- nastro elettrico
- fili di collegamento
- circuito stampato
- Pulsanti
- Viti autofilettanti 19 mm
- saldatore
- Saldatura, colofonia
- Nastro biadesivo
- USB-TTL
- Trapano o cacciavite
- Sega elettrica
- Trapani per legno

Passaggio 1 Preparazione dei diodi
Prendiamo un cartone denso e lo "allineamo", cioè disegniamo linee orizzontali con una distanza tra loro di 16 mm. Contiamo 100 diodi dal nostro nastro. Questi 100 diodi si trasformano in segmenti di 10 diodi. I restanti 20 vengono tagliati un diodo. Questo deve essere fatto con cura e rigorosamente lungo le linee di taglio. Mi spiego: per la matrice sono necessari 10 segmenti di 10 diodi in totale 100, i restanti 20 sono retroilluminati. Sezioni di 10 diodi sono incollate sul cartone lungo le linee. Prestare attenzione alla direzione del segnale di controllo per i diodi! Il segnale di controllo deve essere fornito nella direzione corretta, a questo scopo la freccia viene mostrata sulla direzione del nastro. Incollare la prima striscia da sinistra a destra, ovvero IN (input) sul nastro dovrebbe essere a sinistra e OUT (a destra). Quindi, IN (input) della prima striscia dovrebbe essere nell'angolo in alto a sinistra! Incolla la striscia successiva al contrario, da destra a sinistra. Il terzo ancora da sinistra a destra. Quindi oltre. Seguendo la direzione del segnale di controllo, dovremmo ottenere una linea a zigzag, a partire dall'angolo in alto a sinistra. La cosa principale è non confondere nulla.

Tra la prima e la seconda striscia, più vicino all'inizio, crea un foro per i fili. Saldare i fili sulla prima striscia, preferibilmente multicolore, in modo da non confondere. Li passiamo attraverso il foro praticato. Quindi, saldare le nostre strisce con fili corti. + 5 dalla prima cavità a +5 la seconda. Da GND a GND. Da OUT della prima striscia a IN della seconda striscia, da OUT della seconda striscia a IN della terza e così via. Il risultato dovrebbe essere il seguente:


Passaggio 2 Presentare il caso.
Il caso è composto da tre parti. Innanzitutto, è necessario tagliare il telaio da truciolare di spessore 10 mm. È meglio tagliare con un puzzle, ma in assenza può essere preso manualmente. Il lato del quadrato esterno è di 190 mm.Interno - 170 mm. Per la bellezza, è meglio arrotondare gli angoli. Pertanto, si dovrebbe ottenere un telaio con una dimensione di 190 x 190 mm e uno spessore della parete di 10 mm. Dopo il taglio, puliamo con carta vetrata fine.


Procediamo alla produzione della seconda parte. Fissiamo la nostra cornice al foglio di truciolare e disegniamo una matita attorno al bordo esterno. Rimuoviamo il telaio. Ritiriamo 30 mm su ciascun lato all'interno del quadrato e disegniamo un quadrato interno. Dovresti ottenere un altro telaio che misura 190 x 190, ma con uno spessore laterale di 30 mm. A una distanza di 5 mm dal bordo esterno di questo telaio e ad una distanza uguale l'uno dall'altro, realizziamo fori con un diametro di 3 mm. 2 fori su ciascun lato. Sono necessari per le viti. Devi anche decidere dove sarà la parte superiore e, nell'angolo in alto a sinistra del quadrato interno, creare una fessura per i fili.


Sul retro del secondo telaio, lungo il perimetro del lato interno, è necessario avvitare segmenti dello stesso truciolare di 10 mm di spessore. Il risultato dovrebbe apparire così:


Vai all'assemblea. Mettiamo il secondo fotogramma sul tavolo. In alto, diodi in su, metti una scatola di cartone con diodi. E copriamo tutto con il primo fotogramma. Posizionare il cartone tra i telai in modo che i diodi corrano paralleli ai lati del telaio e ad una distanza uguale dai bordi. Lo capovolgiamo, con molta attenzione, in modo da non abbattere i diodi e torcere tutto insieme. Successivamente, tagliamo il cartone in eccesso.


Vai alla retroilluminazione. Sul lato dei diodi, tra la penultima e l'ultima striscia, più vicino al bordo sinistro, è necessario praticare un foro per i fili. Saldare i fili alla fine dell'ultima striscia e infilare questi fili attraverso il foro. I restanti e tagliati uno alla volta 20 diodi devono essere incollati sul lato posteriore, a uguale distanza l'uno dall'altro. 5 pezzi per lato. La direzione del segnale di controllo è la lancetta delle ore che parte dall'angolo in basso a destra. Li abbiamo saldati così come la matrice. I fili derivati ​​dall'estremità della matrice sono saldati al primo diodo. + 5 dal primo diodo a +5 del secondo. Da GND a GND. Da OUT del primo diodo a IN del secondo, da OUT del secondo a IN del terzo e così via.

Posizioniamo il nostro Arduino Pro Mini all'interno del telaio posteriore, dietro la matrice. Per l'alimentazione utilizzare un alimentatore stabilizzato da 5 volt. Con una potenza attuale di almeno 1 Ampere. I diodi sono piuttosto voraci e se si prevede di accenderli tutti in una volta e per molto tempo, l'alimentazione è necessaria più potente, consiglio 1,5 - 2 ampere. Colleghiamo tutto insieme da +5 alimentatore a +5 Arduino e +5 WS2812. -5 alimentatore con GND Arduino e GND WS2812. Il cavo di controllo di IN WS2812 è collegato al "pin 6" Arduino.


I diodi sono molto luminosi e non sembrano molto esteticamente gradevoli. Pertanto, è necessario fabbricare e installare un diffusore. La plastica opaca è la più adatta per questo, o come si chiama "latte". È necessario collegare la matrice alla plastica e cerchio con una matita. Quindi tagliare e fissare al nastro biadesivo sul telaio anteriore. Non è sempre possibile trovare rapidamente tale plastica, ma voglio davvero iniziare il prodotto. In questo caso, è possibile utilizzare cartone bianco o carta per paesaggi anziché plastica.


Con lo stesso principio, è possibile realizzare una matrice di grandi dimensioni. È necessario solo raccontare le dimensioni del caso.

Passaggio 3 Collegare il sensore di temperatura.
È solo che questo orologio non è interessante, quindi aggiungi un sensore di temperatura. Per misurare la temperatura utilizzeremo il sensore integrato DS18B20. Ha un'elevata precisione di misurazione, l'errore non è superiore a 0,5 ° C. Già dalla fabbrica, il sensore è calibrato e non sono necessarie ulteriori impostazioni. Ampio intervallo di misurazione della temperatura -55 ... + 125 ° C. Può essere utilizzato in qualsiasi stanza. Se sei in strada, devi prenderti cura della protezione dall'umidità. Esistono due modalità di funzionamento: con una fonte di alimentazione esterna e "alimentazione spuria". Consiglio di utilizzare con alimentazione esterna.


Diversi sensori possono essere inclusi su una linea di comunicazione. Ma per noi, uno è abbastanza. +5 prendiamo dall'alimentazione. GND a -5. Cavo dal pin "DQ" ds18b20 al "pin 9" Arduino.Ricorda di mettere una resistenza di pull-up tra “DQ” e +5 a 4,7 kOhm. A mio avviso, è più conveniente farlo sul sensore stesso. Lo visualizziamo nell'angolo in alto a destra:


Passaggio 4 Preparazione di una lavagna con pulsanti.
In questo caso, usiamo la matrice come un orologio. È possibile impostare l'ora tramite la porta seriale collegando Arduino al computer. Questo non è sempre conveniente. Pertanto, realizzeremo una scheda con tre pulsanti per impostare l'ora. Inoltre, la matrice può essere utilizzata per altri scopi, basta scrivere un altro schizzo. Quindi i pulsanti possono essere utilizzati per altri scopi.


Li colleghiamo come segue: collega il filo comune a tutti e tre i pulsanti all'Arduino "GND". Il primo pulsante, serve per accedere alla modalità di impostazione dell'ora e cambiare ora e data, connettersi a "Pin 2". Il secondo, il pulsante per aumentare il valore, è "Pin 3", e il terzo, il pulsante per ridurre il valore, è "Pin 4". Attacciamo i pulsanti al nastro biadesivo dietro la matrice:


Passaggio 5 Firmware.
Come ho detto, la matrice può essere utilizzata per scopi diversi. Al momento ho scritto uno schizzo per soli orologi. Nel layout successivo e altri schizzi. Per scrivere e compilare utilizzo Arduino IDE 1.8.5. Puoi controllare la matrice in diversi modi. Controlla ciascun diodo singolarmente o come singola matrice. Nel mio schizzo utilizzo la prima opzione. Per fare questo, hai bisogno di una libreria di Adafruit chiamata NeoPixel-master:
adafruit_neopixel-master.rar [27.83 Kb] (download: 71)


Per lavorare con diodi come con la matrice matrice Adafruit_NeoMatrix-master e Adafruit-GFX-Library-master:
matrix_libraries.rar [282.01 Kb] (download: 80)


Un sensore di temperatura necessita della libreria OneWire.
onewire.rar [16.75 Kb] (download: 64)


Per modificare e riempire lo schizzo, è necessario prima installare l'IDE Arduino dal sito Web ufficiale di Arduino.cc, quindi tutte queste librerie. È necessario decomprimere questi archivi e posizionare i file decompressi nella cartella "librerie" situata nella cartella con l'IDE Arduino installato. È anche possibile installare le librerie direttamente nell'IDE di Arduino. Senza decomprimere gli archivi scaricati, nell'IDE di Arduino, selezionare il menu Sketch - Connect Library. Nella parte superiore dell'elenco a discesa, selezionare "Aggiungi libreria zip". Nella finestra di dialogo che appare, seleziona la libreria che desideri aggiungere. Dopo tutte le manipolazioni, è necessario riavviare l'IDE di Arduino.

Il sensore di temperatura ha un indirizzo univoco per ciascun dispositivo: un codice a 64 bit. Trovare questo codice è un compito impegnativo. Pertanto, è necessario innanzitutto collegare il sensore ad Arduino, compilare lo schizzo situato nel menu File - Esempi - Temperatura di Dallas - OneWireSearch. Quindi, esegui Strumenti - Port Monitor. Arduino dovrebbe trovare il tuo sensore e scrivere il suo indirizzo. Copiamo o semplicemente annotiamo l'indirizzo del tuo sensore. Apri lo schizzo Ard_Tic_Tak_WS2812_Matrix_10x10_Serial_Knopki_Term, cerca la riga:

byte addr [8] = {0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97}; // indirizzo del mio sensore 


Annotiamo l'indirizzo del tuo sensore tra parentesi graffe, sostituendo l'indirizzo del mio sensore.

Questo orologio non utilizza il modulo RTC. Pertanto, se sono di fretta o in ritardo, è necessario modificare il valore nella riga:

if (micros () - prevmicros & gt; 494000) {// passare a un altro per la rettifica era 500.000


È necessario determinare questo numero empiricamente. Se il tuo orologio ha fretta, dovresti aumentare questo numero; se sono indietro, diminuiscilo.

Riempi lo schizzo.


Mi scuso, ma non sono riuscito a scattare una foto con i diodi accesi. Ho provato con e senza luci. Ma ti assicuro che vivono molto meglio.




0
0
0

Aggiungi un commento

    • sorrideresorrisiXaxabeneDONTKNOWyahoonea
      capozeroimbrogliaresìSì-sìaggressivosegreto
      scusaballaredance2dance3perdonoaiutobevande
      arrestoamicibuonogoodgoodfischiodeliquiolinguetta
      fumobattimanicraydeclarederisoriodon-t_mentionscaricare
      caloreadiratolaugh1mdaincontromoskingnegativo
      not_ipopcornpunireleggerespaventarespaventacerca
      schernirethank_youquestoto_clueumnikacutoconcordare
      cattivobeeeblack_eyeblum3arrossirevanterianoia
      censuratospiritosagginesecret2minacciarevittoriayusun_bespectacled
      ShokRespektlolPrevedbenvenutoKrutoyya_za
      ya_dobryiaiutantene_huliganne_othodiFludbandovicino

Ti consigliamo di leggere:

Passalo per lo smartphone ...