Annuncio pubblicitario

Il Natale è di nuovo qui e, che si tratti della tua vacanza preferita dell'anno o che ti porti fuori con un sudore freddo, le decorazioni stanno iniziando a salire. Quest'anno, perché non incorporare un po 'di tecnologia fai-da-te nelle tue decorazioni per farle risaltare?

In questo progetto costruiremo una matrice LED 8 x 8 resistente alle intemperie e al movimento attivata da zero... per meno di $ 20. È progettato per adattarsi al centro di una ghirlanda di porte di Natale standard, sebbene possa essere utilizzato ovunque in casa. E poiché è alimentato a batteria, anche lontano da casa!

Elenco delle parti

Per questo progetto avrai bisogno di:

  • Arduino.
    • Ho usato il nano per le sue dimensioni ridotte, ma puoi usarne quasi tutte Microcontrollore compatibile con Arduino Guida all'acquisto di Arduino: quale consiglio dovresti comprare?Ci sono così tanti diversi tipi di schede Arduino là fuori, saresti perdonato per essere confuso. Quale dovresti comprare per il tuo progetto? Aiutiamoci, con questa guida all'acquisto di Arduino! Leggi di più .
  • instagram viewer
  • 64 x LED rossi.
  • 8 resistori da 220 Ohm.
  • Sensore di movimento PIR.
    • Molti Starter kit Arduino Cosa è incluso in uno Starter Kit Arduino? [MakeUseOf Explains]In precedenza ho introdotto l'hardware open source Arduino qui su MakeUseOf, ma avrai bisogno di qualcosa di più del semplice Arduino per costruirne qualcosa e iniziare davvero. Gli "starter kit" di Arduino sono ... Leggi di più vieni con questi. Ho acquistato un pacchetto multiplo da Amazon per $ 10.
  • 1 pezzo di scheda di prototipazione.
    • Quello usato qui era di 9 x 7 cm, sebbene tu possa usare qualsiasi dimensione tu voglia.
  • Batteria 7-12v.
    • Un semplice pacco batteria viene utilizzato qui per motivi di budget, ma a caricabatterie da banca mobile I migliori Pokemon Go Power BanksPokemon Go batte il diavolo dalla batteria di un telefono. Spremere un po 'più di succo di Pokemon dal tuo telefono richiede una banca di potere. Ma qual è la migliore batteria là fuori? Leggi di più potrebbe durare ancora di più.
  • Pezzi di filo corti assortiti.
  • Scatola Tupperware o simile custodia resistente alle intemperie.
    • Assicurati che sia abbastanza grande da contenere tutti i tuoi componenti all'interno!
  • Ghirlanda di natale.
    • Qualunque cosa accada, basta assicurarsi che la scatola del contenitore si inserisca al suo interno.
  • Saldatore e saldatura.

Sebbene non sia strettamente necessario in quanto potresti saldare i componenti direttamente sul Nano, ho anche trovato una piccola breadboard molto utile durante i test. Una pistola per colla a caldo aiuta anche a mettere insieme tutte le parti.

ghirlanda di natale ha portato le parti della matrice

Questo progetto richiede un sacco di saldature e come principiante può sembrare scoraggiante. Personalmente sono ancora un principiante nella saldatura e ho scoperto che non è così impegnativo o richiede tempo come sembra. Se anche tu non conosci la saldatura, eccone alcuni buoni consigli per aiutarti Scopri come saldare, con questi semplici suggerimenti e progettiSei un po 'intimidito dal pensiero di un ferro caldo e di un metallo fuso? Se vuoi iniziare a lavorare con l'elettronica, dovrai imparare a saldare. Aiutiamoci. Leggi di più .

Se non sei davvero appassionato dell'idea di saldare, questo progetto è anche possibile con Strisce LED Progetto per il fine settimana: costruisci un display pixel LED giganteAdoro i pixel LED: luminosi, facili da controllare, economici e così versatili. Oggi li trasformeremo in un grande display a pixel che può essere appeso al muro. Leggi di più o una matrice LED già pronta che potresti avere nel tuo kit di partenza. Alcune modifiche al codice saranno necessarie se decidi di percorrere quella rotta.

Configurare Arduino

Inizieremo con lo schema circuitale di Arduino e i fili che collegheremo al nostro sensore PIR e alla matrice LED.

fritzing ghirlanda

All'interno della matrice

Ora per creare la nostra matrice LED 8 x 8. È una buona idea iniziare con la creazione di una riga e una colonna della matrice, per assicurarsi che sia esattamente dove lo si desidera sulla scheda di prototipazione.

test dove mettere i led

Nella foto sopra, tutti i LED sono posizionati in modo che gli anodi (la gamba più lunga e positiva) siano rivolti verso la parte superiore della tavola protettiva. Questo è importante, poiché creeremo colonne di anodi comuni unendoli insieme e file di catodi comuni (la gamba più corta e negativa). Ottenere questo adesso risparmierà il mal di testa in seguito!

Costruiremo una matrice catodica di riga comune, questo diagramma mostra come è tutto collegato.

dubbio diag

All'inizio può sembrare un po 'scoraggiante, ma è una configurazione abbastanza semplice. In ogni riga, tutti i catodi sono uniti da destra a sinistra, quindi si attaccano a uno dei nostri pin di Arduino. Successivamente, facciamo lo stesso per ogni colonna di anodi. In questo modo, a seconda della colonna a cui applichiamo l'alimentazione e della riga che uniamo a terra, possiamo accendere qualsiasi singolo LED dell'array.

Che la saldatura abbia inizio

Inizia posizionando la tua prima fila di LED. Assicurati che tutti gli anodi siano rivolti verso l'alto e capovolgili. Ho scoperto che l'aggiunta di un altro LED in ogni angolo e l'attacco di un altro pezzo di protoboard in cima usando un cavo elastico hanno contribuito a mantenere tutto in posizione.

protoelastico

Ora, uno alla volta, piegare la gamba catodica (corta) di ciascun LED a sinistra in modo che si sovrappongano l'uno con l'altro. È più facile iniziare dal lato sinistro e lavorare a destra. Se stai usando un pezzo più grande di protoboard, puoi prima saldarli alla scheda e collegarli insieme usando i pad. Fai attenzione a non unire nessuno dei catodi ad altre linee sulla lavagna o ad uno degli anodi!

saldatura a catodo

Ripeti questo processo per tutte e otto le righe e quando hai finito dovresti avere qualcosa che assomigli a questo:

immagine delle file finite

Anodi saltanti!

Le colonne di anodi sono un po 'più complicate. Nel diagramma sopra, gli anodi si curvano ogni volta che attraversano una fila di catodi. Questo perché non possono assolutamente toccare le righe. Dobbiamo piegare gli anodi sopra le file dei catodi e collegarli l'uno all'altro. Potresti scoprire che usare una penna per piegare le gambe aiuta molto.

anodi ben saldati

Fallo per ogni fila di anodi e collega un resistore a ciascun anodo superiore. Probabilmente troverai più facile inserire la resistenza nel foro successivo della scheda protettiva e unire i pad usando la saldatura. Ora dovresti avere qualcosa del genere:

saldatura terminata

Congratulazioni! La matrice LED è completa. Controlla accuratamente la tua saldatura in questa fase per assicurarti che non ci siano interruzioni e che nessuna delle colonne tocchi le file. Non preoccuparti se non sembra carino, ne abbiamo solo bisogno per funzionare! Ora puoi controllare ogni LED singolarmente collegando 5v a una delle estremità della colonna e collegandolo a terra a una delle estremità della fila.

matrice di test

A condizione che tutto vada bene, collegare i cavi di aggancio a ciascuna colonna e ogni riga e collegarli al proprio Arduino come mostrato nel diagramma sopra.

Otteniamo la codifica

Apri l'IDE di Arduino e scegli la scheda e la porta. Se non conosci Arduino, dai un'occhiata a questo guida per iniziare. Introduzione ad Arduino: una guida per principiantiArduino è una piattaforma di prototipazione elettronica open source basata su hardware e software flessibili e di facile utilizzo. È destinato ad artisti, designer, hobbisti e chiunque sia interessato a creare oggetti o ambienti interattivi. Leggi di più

Inserisci questo codice nell'editor. È un codice abbastanza denso se non si ha familiarità con esso, ma è disponibile Qui completamente annotato per aiutare a capire come funziona.

const int row [8] = {2,3,4,5,6,7,8,9}; const int col [8] = {10,11,12,14,15,16,17,18}; int pirPin = 19; int pirState = LOW; int val = 0; bool pirTrigger = false; const int pirLockTime = 12000; int pirCountdown = pirLockTime; int pixel [8] [8]; const int refreshSpeed ​​= 500; int countDown = refreshSpeed; int currentCharIndex = 0; typedef bool CHAR_MAP_NAME [8] [8]; const CHAR_MAP_NAME vuoto = {{0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, }; const CHAR_MAP_NAME threedownthreein = {{0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, }; const int noOfFrames = 5; const CHAR_MAP_NAME * charMap [noOfFrames] = { & blank, & threesownthreein, & blank, & blank, & threesownthreein. }; void setup () {for (int i = 0; i <8; i ++) {pinMode (riga [i], OUTPUT); pinMode (col [i], OUTPUT); // pinMode sensore di movimento (pirPin, INPUT); digitalWrite (col [i], LOW); } } void screenSetup () {const CHAR_MAP_NAME * thisMap = charMap [currentCharIndex]; per (int x = 0; x <8; x ++) {for (int y = 0; y <8; y ++) {bool on = (* thisMap) [x] [y]; if (on) {pixels [x] [y] = HIGH; } else {pixels [x] [y] = LOW; }}} currentCharIndex ++; if (currentCharIndex> = noOfFrames) {currentCharIndex = 0; }} void refreshScreen () {for (int currentRow = 0; currentRow <8; currentRow ++) {digitalWrite (riga [currentRow], LOW); per (int currentCol = 0; currentCol <8; currentCol ++) {int thisPixel = pixels [currentRow] [currentCol]; digitalWrite (col [currentCol], thisPixel); if (thisPixel == HIGH) {digitalWrite (col [currentCol], LOW); }} digitalWrite (riga [currentRow], HIGH); }} void loop () {val = digitalRead (pirPin); if (val == HIGH) {pirTrigger = true; } else if (val == LOW && pirCountdown <= 0) {pirTrigger = false; pirCountdown = pirLockTime; } if (pirTrigger == true && pirCountdown> 0) {refreshScreen (); conto alla rovescia--; pirCountdown--; if (countDown <= 0) {countDown = refreshSpeed; screenSetup (); } } }

Le parti importanti da capire sono:

Il refreshSpeed variabile. Questa variabile determina come aggiornare il tempo tra ciascuna schermata. Un numero maggiore significa un'attesa più lunga.

La const CHAR_MAP_NAMES. Qui è dove metti ogni mappa dei personaggi (o cornice se è più facile pensarli in quel modo) che vuoi visualizzare.

Il noOfFrames variabile. Questo determina quanti fotogrammi vengono visualizzati in una riproduzione completa. Nota che può essere diverso dal numero di mappe dei caratteri. Ad esempio, se si desidera visualizzare "A CAT", è necessario definire solo quattro frame distinti: vuoto, an UN, a C e a T.

Ora, quando il sensore di movimento rileva un movimento, lo schermo a LED dovrebbe far lampeggiare il LED tre in basso e tre in in alto a sinistra. Se non viene visualizzato correttamente, controlla di nuovo il cablaggio per assicurarti che tutto sia nel posto giusto! Quando aggiungi la tua immagine o il tuo messaggio, questi potrebbero essere tagliati in anticipo o essere riprodotti per troppo tempo. Prova a cambiare il pirLockTime variabile fino a quando non viene riprodotto per il tempo desiderato.

Il processo di aggiunta di ciascun fotogramma al display a LED può essere un po 'noioso, quindi abbiamo creato questo foglio di calcolo per rendere un po 'più semplice la creazione di testo e immagini per la tua matrice LED (crea una copia del foglio di Google in modo da poterlo modificare).

Utilizzando il foglio di calcolo, puoi copiare le tue creazioni direttamente nel codice.

Fallo sfidare gli elementi

Ora che abbiamo una matrice LED funzionante, abbiamo bisogno di un modo per sopravvivere al clima invernale. Mentre questo metodo potrebbe non resistere a una tempesta tropicale o essere immerso nella piscina, dovrebbe essere sufficiente per mantenere tutta l'elettronica al sicuro dagli elementi.

Ho usato una scatola rotonda di Tupperware che ha un diametro di 15 cm e una profondità di 6 cm per adattarsi perfettamente ai miei componenti. Taglia una finestra nel coperchio leggermente più grande della tua matrice a LED e attaccala con una pellicola di plastica trasparente, assicurandoti di non lasciare spazio per il liquido. La robusta plastica di alcuni imballaggi avrebbe funzionato meglio, ma questo era tutto ciò che avevo. È inoltre possibile collegare alcuni supporti per la scheda protettiva, sebbene entrambi i lavori possano essere facilmente eseguiti con un nastro resistente all'acqua.

resistente alle intemperie

Quindi, fai un piccolo foro sotto la finestra, quindi allargalo attentamente e lentamente fino a quando il tuo sensore PIR non riesce a passare. Vuoi che si adatti il ​​più comodamente possibile.

fare un buco

Collega il tuo sensore PIR e riempi tutti gli spazi che puoi vedere con nastro adesivo o colla a caldo.

colla pir

Pulisci qualsiasi nastro o colla che potrebbe impedire la corretta chiusura della scatola e aggiungi tutti i componenti alla scatola insieme alla batteria. Qui è stato utilizzato un semplice pacco batterie AA, collegato direttamente al pin VCC del Nano. Alcuni piccoli pezzi di sughero sono stati aggiunti all'esterno del recinto per aiutare a appendere la costruzione al centro della corona.

E siamo fatti

Una volta sigillata la scatola, appendila con la tua ghirlanda di Natale e attendi le reazioni dei tuoi visitatori al tuo benvenuto personale sub $ 20 ad alta tecnologia! Potresti anche fare un ulteriore passo avanti e creare fantastici Decorazioni fai-da-te Decorazioni natalizie stampate in 3D per vacanze geek perfettePerché non risparmiare qualche soldo questo Natale e stampare in 3D alcuni ornamenti festivi per la tua casa? Leggi di più anche altrove in casa!

ghirlanda natalizia a matrice led finita fai da te

In questo progetto abbiamo costruito da zero un sistema a matrice LED autonomo, che è attivato dal movimento e può sopravvivere essendo fuori in tutte le condizioni meteorologiche, tranne che in quelle più avverse. Questa build tornerà utile molto dopo la fine delle festività natalizie in altri progetti e la stessa tecnica potrebbe essere utilizzata per creare involucri resistenti alle intemperie economici anche per altri progetti.

Hai costruito qualcosa per dare al tuo Natale un tocco fai-da-te? Hai in programma regali di Natale a tema fai-da-te quest'anno? Fateci sapere nei commenti qui sotto!

Ian Buckley è un giornalista freelance, musicista, performer e produttore video che vive a Berlino, in Germania. Quando non sta scrivendo o sul palco, armeggia con l'elettronica fai-da-te o il codice nella speranza di diventare uno scienziato pazzo.