Opgrader din julekrans med en bevægelsesaktiveret LED-matrix

  • Michael Fisher
  • 0
  • 1701
  • 71
Reklame

Julen er her igen, og uanset om det er din foretrukne ferie i året, eller det bringer dig ud i en kold sved, er dekorationer begyndt at gå op. I år, hvorfor ikke integrere nogle DIY-teknologi i dine dekorationer for at få dem til at skille sig ud?

I dette projekt bygger vi en vejrbestandig, bevægelsesaktiveret 8 x 8 LED-matrix fra bunden ... til under $ 20. Den er designet til at passe midt i en standard juledørkrans, skønt den kunne bruges overalt i huset. Og da det er batteridrevet, også hvor som helst væk fra huset!

Liste over dele

Til dette projekt har du brug for:

  • Arduino.
    • Jeg brugte Nano til dets lille størrelse, men du kunne bruge næsten enhver Arduino-kompatibel mikrokontroller Arduino Købsvejledning: Hvilket bord skal du få? Arduino Købsvejledning: Hvilket bord skal du få? Der er så mange forskellige slags Arduino-tavler derude, du vil blive tilgitt for at blive forvirret. Hvilket skal du købe til dit projekt? Lad os hjælpe med denne Arduino-købsguide! .
  • 64 x røde lysdioder.
  • 8 x 220 Ohm-modstande.
  • PIR bevægelsessensor.
    • Mange Arduino-startsæt Hvad er der inkluderet i et Arduino-startkit? [MakeUseOf Explains] Hvad er der inkluderet i et Arduino Starter Kit? [MakeUseOf forklarer] Jeg har tidligere introduceret Arduino open source-hardware her på MakeUseOf, men du har brug for mere end bare den faktiske Arduino for at bygge noget ud af det og faktisk komme i gang. Arduino "starter sæt" er ... kommer med disse. Jeg købte en multi-pack fra Amazon for $ 10.
  • 1 stykke prototypebord.
    • Den, der blev brugt her, var 9 x 7 cm, selvom du kan bruge den ønskede størrelse.
  • 7-12v batteri.
    • En simpel batteripakke bruges her af budgetmæssige grunde, men en mobil bankoplader The Best Pokemon Go Power Banks Den bedste Pokemon Go Power Banks Pokemon Go slår pokker ud af en telefons batteri. At presse lidt mere Pokemon-fanger juice ud af din telefon kræver en power bank. Men hvad er det bedste batteri derude? kan vare endnu længere.
  • Assorterede korte stykker tråd.
  • Tupperware-kasse eller lignende vejrbestandig kabinet.
    • Sørg for, at den er stor nok til at passe alle dine komponenter indeni!
  • Julekrans.
    • Enhver vil gøre det, bare sørg for, at kabinetboksen passer ind i det.
  • Loddejern og loddejern.

Selvom det ikke var strengt nødvendigt, da du kunne lodde komponenterne direkte til Nano, fandt jeg også en lille brødbræt meget nyttig under test. En varm limpistol hjælper også med at sammensætte alle dele.

Dette projekt kræver en hel del lodning, og som nybegynder kan det virke skræmmende. Jeg er personligt stadig meget begyndende på lodning og fandt, at det ikke var så udfordrende eller tidskrævende, som det ser ud til. Hvis du også er ny med at lodde her er nogle gode tip til at hjælpe Lær hvordan man loddes med disse enkle tip og projekter Lær hvordan man lodder med disse enkle tip og projekter Er du lidt skræmt af tanken om et varmt jern og smeltet metal? Hvis du vil begynde at arbejde med elektronik, bliver du nødt til at lære at lodde. Lad os hjælpe. .

Hvis du virkelig ikke er interesseret i ideen om lodning, er dette projekt også muligt med LED-strimler Weekendprojekt: Byg et kæmpe LED Pixel Display Weekendprojekt: Byg et kæmpe LED Pixel Display Jeg elsker LED-pixels: lys, let at kontrollere, billig og så alsidig. I dag forvandler vi dem til et stort pixeldisplay, der kan hænges på væggen. , eller en færdiglavet LED-matrix, som du muligvis har i dit startsæt. Nogle kodejusteringer er nødvendige, hvis du beslutter at gå den rute.

Opsætning af Arduino

Vi starter med kredsløbsdiagrammet for Arduino og de ledninger, vi vil fastgøre til vores PIR-sensor og LED-matrix.

Inde i matrixen

Nu for at lave vores 8 x 8 LED matrix. Det er en god ide til at begynde med at oprette en række og en søjle i matrixen, for at sikre dig, at det er nøjagtigt, hvor du vil have det på prototypetavlen.

På billedet ovenfor er alle lysdioder placeret, så anoderne (det længere, positive ben) er mod toppen af ​​protobordet. Dette er vigtigt, da vi opretter kolonner med fælles anoder ved at sammenføje dem og rækker med fælles katoder (det kortere, negative ben). At få dette lige nu sparer hovedpine senere!

Vi skal bygge en fælles rækkekatodematrix, dette diagram viser, hvordan det hele er forbundet.

Det ser måske lidt skræmmende ud i starten, men det er en ganske enkel konfiguration. I hver række forbindes alle katoder fra højre til venstre og fastgøres derefter til en af ​​vores Arduino-stifter. Efter dette gør vi det samme for hver kolonne af anoder. På denne måde kan vi, afhængigt af hvilken søjle vi bruger strøm til, og hvilken række vi slutter til jorden, tænde enhver individuel LED i matrixen.

Lad lodningen begynde

Start med at placere din første række LED'er. Sørg for, at alle anoder vender mod toppen, og vip den over. Jeg fandt, at tilføjelse af en ny LED i hvert hjørne og fastgørelse af et andet stykke protoboard ovenpå ved hjælp af en elastisk ledning hjalp med at holde alt på plads.

Nu bøjes en efter en katodens (korte) ben på hver LED til venstre, så de alle overlapper hinanden. Det er nemmest at starte fra venstre side og arbejde til højre. Hvis du bruger et større stykke protoboard, kan du først lodde dem til brættet og forbinde dem ved hjælp af puderne. Vær forsigtig med ikke at forbinde nogen af ​​katoderne til andre linjer på tavlen eller nogen af ​​anoderne!

Gentag denne proces for alle otte rækker, og når du er færdig, skal du have noget der ligner sådan:

Springende anoder!

Kolonnerne med anoder er lidt mere fiddly. I diagrammet ovenfor kurver anoderne hver gang de krydser en række katoder. Dette skyldes, at de slet ikke kan røre ved rækkerne. Vi skal bøje anoderne over katoderækkene og knytte dem til hinanden. Du kan opleve, at hjælp af en pen til at bøje benene hjælper meget.

Gør dette for hver række anoder, og fastgør en modstand til hver øverste anode. Du vil sandsynligvis finde det lettere at placere modstanden i det næste hul i protoboardet og sammenføje puderne ved hjælp af lodning. Du skulle nu have noget som dette:

Tillykke! LED-matrixen er komplet. Kontroller din lodning grundigt på dette tidspunkt for at sikre dig, at der ikke er nogen pauser, og at ingen af ​​søjlerne berører rækkerne. Bare rolig, hvis det ikke ser pænt ud, vi har bare brug for at det fungerer! Du kan kontrollere hver LED individuelt nu ved at fastgøre 5v til en hvilken som helst af søjleenderne og jordes til en af ​​rækkeenderne.

Forudsat at alt er i orden, skal du sætte ledninger i hver søjle og hver række, og sæt dem fast på din Arduino som vist i diagrammet ovenfor.

Lad os få kodning

Åbn Arduino IDE og vælg dit bord og havn. Hvis du er ny med Arduino, så tjek denne vejledning til at komme i gang. Kom godt i gang med Arduino: En begynderguide Kom godt i gang med Arduino: En begynderguide Arduino er en open source-elektronikprototypeplatform, der er baseret på fleksibel, brugervenlig hardware og software. Det er beregnet til kunstnere, designere, hobbyister og enhver der er interesseret i at skabe interaktive objekter eller miljøer.

Indtast denne kode i editoren. Det er ganske tæt kode, hvis du ikke er bekendt med den, men den er tilgængelig her fuldt annoteret for at hjælpe med at forstå, hvordan det fungerer.

const int række [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 = LAV; int val = 0; bool pirTrigger = falsk; const int pirLockTime = 12000; int pirCountdown = pirLockTime; int-pixels [8] [8]; const int refreshSpeed ​​= 500; int countDown = refreshSpeed; int strømCharIndex = 0; typedef bool CHAR_MAP_NAME [8] [8]; const CHAR_MAP_NAME blank = 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, & threedownthreein, & blank, & blank, & threedownthreein; tom opsætning () for (int i = 0; i<8;i++) pinMode(row[i], OUTPUT); pinMode(col[i],OUTPUT); //motion sensor pinMode(pirPin, INPUT); digitalWrite(col[i], LOW);   void screenSetup() const CHAR_MAP_NAME *thisMap = charMap[currentCharIndex]; for (int x = 0; x < 8; x++)  for (int y = 0; y =noOfFrames) currentCharIndex = 0;   void refreshScreen() for (int currentRow = 0; currentRow < 8; currentRow++) digitalWrite(row[currentRow], LOW); for (int currentCol = 0; currentCol < 8; currentCol++) int thisPixel = pixels[currentRow][currentCol]; digitalWrite(col[currentCol], thisPixel); if (thisPixel == HIGH)  digitalWrite(col[currentCol], LOW);   digitalWrite(row[currentRow], HIGH);   void loop() val = digitalRead(pirPin); if (val == HIGH) pirTrigger = true;  else if (val == LOW && pirCountdown  0)  refreshScreen(); countDown--; pirCountdown--; if(countDown <= 0)  countDown = refreshSpeed; screenSetup();    

De vigtige dele at forstå er:

Det refreshSpeed variabel. Denne variabel bestemmer, hvordan tiden mellem hver skærm skal opdateres. Et større antal betyder en længere ventetid.

Konstanten CHAR_MAP_NAMEs. Det er her du lægger hvert tegnkort (eller ramme, hvis det er lettere at tænke på dem på den måde), du vil vise.

Det noOfFrames variabel. Dette bestemmer, hvor mange rammer der skal vises i et fuldt gennemspil. Bemærk, at det kan være forskelligt fra antallet af karakterkort. For eksempel hvis du ville vise “EN KAT” du behøver kun at definere fire forskellige rammer: blank, en EN, -en C og a T.

Når bevægelsesføleren nu registrerer bevægelse, skal LED-skærmen blinke LED'en tre ned og tre ind fra øverste venstre hjørne. Hvis det ikke vises korrekt, skal du kontrollere dine ledninger igen for at sikre dig, at alt er på det rigtige sted! Når du tilføjer dit eget billede eller din meddelelse, kan det blive afbrudt tidligt eller spille for længe. Prøv at ændre pirLockTime variabel, indtil den spiller i den mængde tid, du ønsker.

Processen med at tilføje hver ramme til LED-skærmen kan være lidt kedelig, så vi har oprettet dette regneark for at gøre det lidt lettere at oprette tekst og billeder til din LED-matrix (lav en kopi af Google Sheet, så du kan redigere den ).

Ved hjælp af regnearket kan du kopiere dine kreationer direkte til koden.

Gør det modigt elementerne

Nu hvor vi har en fungerende LED-matrix, har vi brug for en måde, hvorpå den kan overleve vintervejret. Selvom denne metode muligvis ikke kan modstå en tropisk storm eller blive dunket i poolen, skal det være nok til at holde al elektronikken beskyttet mod elementerne.

Jeg brugte en rund Tupperware-kasse, der var 15 cm i diameter og 6 cm dyb, da den passer perfekt til mine komponenter. Klip et vindue i låget, der er lidt større end din LED-matrix, og fastgør en klar plastfilm til det, og sørg for ikke at efterlade plads til væske til at komme ind. Robust plast fra en eller anden emballage ville fungere bedst, men det var alt hvad jeg havde. Du kan også fastgøre nogle monteringer til protoboard, skønt begge job let kunne udføres med stærkt vandtæt tape.

Lav derefter et lille hul under vinduet, udvid det forsigtigt og langsomt, indtil din PIR-sensor kun lige kan komme igennem. Du ønsker, at det skal passe så tæt som muligt.

Tilslut din PIR-sensor, og udfyld eventuelle huller, du kan se med tape eller varm lim.

Rengør ethvert bånd eller lim, der kan forhindre kassen i at lukke ordentligt, og tilføj alle dine komponenter til kassen sammen med dit batteri. Her blev en simpel AA-batteripakke brugt, sat direkte i Vano-stiften på Nano. Et par små stykker kork blev føjet til ydersiden af ​​indkapslingen for at hjælpe med at hænge bygningen i midten af ​​kransen.

Og vi er færdig

Når kassen er forseglet, skal du hænge den med din julekrans og vente på dine besøgende reaktioner på din high tech under $ 20 personlig velkomst! Du kan endda gå et skridt videre og oprette fantastiske DIY-dekorationer 3D-trykte julepynt til perfekte geeky helligdage 3D-trykte julepynt til perfekte geeky helligdage Hvorfor ikke spare dig selv noget kontant denne jul og 3D udskrive nogle festlige pryd til dit hjem? til andre steder omkring huset også!

I dette projekt har vi bygget et selvstændigt LED-matrixsystem fra bunden, der er bevægelsesaktiveret og kan overleve at være udenfor i alt undtagen det mest dårlige vejr. Denne bygning vil komme i brug længe efter feriesæsonen er forbi i andre projekter, og den samme teknik kunne bruges til at skabe billige vejrbestandige indkapsler til andre projekter også.

Har du bygget noget for at give din jul en DIY-vri? Planlægger du nogen DIY-julegaver i år? Fortæl os det i kommentarerne herunder!




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.