Reklaam
Jõulud on jälle käes ja kui see on teie aasta lemmikpüha või toob see teid külma higiga esile, siis hakkavad kaunistused tõusma. Sel aastal miks mitte lisada oma dekoratsioonidesse DIY-tehnoloogia, et need eristuksid?
Selles projektis ehitame ilmastikukindla, liikumisega aktiveeritava 8 x 8 LED-maatriksi nullist alla 20 dollari eest. See on konstrueeritud nii, et see sobib tavalise jõulute ukselehe keskele, ehkki seda saaks kasutada kõikjal maja ümbruses. Ja kuna see on akutoitega, siis ka majast eemal!
Osade nimekiri
Selle projekti jaoks vajate:
- Arduino.
- Ma kasutasin Nano sest see on väike, kuid võite kasutada peaaegu kõiki Arduino-ühilduv mikrokontroller Arduino ostujuhend: millise tahvli peaksite saama?Seal on nii palju erinevaid Arduino tahvleid, teile tuleks andeks anda, et olete segaduses. Millist peaksite oma projekti jaoks ostma? Aitame teid selle Arduino ostujuhendiga! Loe rohkem .
- 64 x punased valgusdioodid.
- 8 x 220 oomi takistid.
- PIR-liikumisandur.
- Palju Arduino stardikomplektid Mis on Arduino stardikomplektis? [MakeUseOf selgitab]Olen varem tutvustanud siin MakeUseOfil Arduino avatud lähtekoodiga riistvara, kuid selleks, et midagi sellest välja ehitada ja tegelikult tööle asuda, vajate enamat kui ainult tegelikku Arduinot. Arduino "stardikomplektid" on ... Loe rohkem tule nendega. Ostsin mitmest pakist Amazon 10 dollari eest.
- 1 tükk prototüüpimislaud.
- Siin kasutati 9 x 7 cm, kuigi võite kasutada mis tahes suurust.
- 7-12v aku.
- Eelarve kaalutlustel kasutatakse siin lihtsat akut, kuid a mobiilipanga laadija Parimad Pokemon Go energiapangadPokemon Go peksab telefoni aku tühjaks. Pokemoni püüdmiseks mahla telefonist pisut pigistamiseks on vajalik toitepank. Kuid mis on parim aku seal? Loe rohkem võib kesta veelgi kauem.
- Assortii lühikesed traaditükid.
- Tupperware kast või samalaadne ilmastikukindel kaitseümbris.
- Veenduge, et see oleks piisavalt suur, et sinna mahuksid kõik komponendid!
- Jõulupärg.
- Kõik, mida soovite, lihtsalt veenduge, et karbikarp mahub selle sisse.
- Jootekolb ja joodis.
Ehkki see pole tingimata vajalik, kuna saaksite komponente otse Nanosse jootma, leidsin testimisel ka väga kasuliku väikese leivatahvli. Kuum liimipüstol aitab ka kõiki osi kokku panna.
See projekt nõuab üsna palju jootmist ja algajana võib see tunduda hirmuäratav. Olen isiklikult endiselt jootmise alustaja ja leidsin, et see pole nii keeruline ega aeganõudev, kui tundub. Kui olete ka jootmise alustamisega siin, siis mõned neist häid näpunäiteid Õppige nende lihtsate näpunäidete ja projektide abil jootmistKas teid natuke hirmutab mõte kuumast rauast ja sulametallist? Kui soovite hakata tegelema elektroonikaga, peate õppima jootmist. Las me aitame. Loe rohkem .
Kui te tõesti ei soovi jootmise ideed, on see projekt ka võimalik LED ribad Nädalavahetuse projekt: ehitage hiiglaslik LED-pikslitekraanMulle meeldivad LED-pikslid: eredad, hõlpsasti kontrollitavad, odavad ja nii mitmekülgsed. Täna muudame need suureks piksliekraaniks, mille saab seinale riputada. Loe rohkem või valmis LED-maatriks, mis võib olla teie stardikomplektis. Kui otsustate selle marsruudi minna, on vaja mõnda koodi kohandada.
Arduino seadistamine
Alustame Arduino vooluringiskeemiga ja juhtmetega, mille kinnitame PIR-anduri ja LED-maatriksi külge.
Maatriksi sees
Nüüd teha meie 8 x 8 LED-maatriks. Hea mõte on alustada maatriksi ühe rea ja ühe veeru loomisega, et veenduda prototüüpimislaual täpselt selles kohas, kus soovite.
Ülaloleval fotol on kõik LED-id paigutatud nii, et anoodid (pikem, positiivne jalg) on prototüübi ülaosa suunas. See on oluline, kuna loome veerud ühistest anoodidest, ühendades need omavahel, ja ridadest tavalistest katoodidest (lühem, negatiivne jalg). Selle kohe omandamine säästab peavalu hiljem!
Ehitame ühise rea katoodmaatriksi, see diagramm näitab, kuidas see kõik on ühendatud.
See võib alguses tunduda pisut hirmutav, kuid see on üsna lihtne konfiguratsioon. Igas reas ühendatakse kõik katoodid paremalt vasakule ja kinnitatakse seejärel ühe meie Arduino tihvti külge. Pärast seda teeme sama iga anoodikolonni jaoks. Sel viisil, sõltuvalt sellest, millisesse veergu me toidet rakendame ja millises reas me maaga ühendame, saame massiivis sisse lülitada iga LED-i.
Laske jootmisel alustada
Alustage oma esimese LED-ide paigutamisega. Veenduge, et kõik anoodid oleksid ülaosaga ja keerake see üle. Avastasin, et igasse nurka veel ühe LED-i lisamine ja veel ühe protoplaadi tüki kinnitamine elastse juhtme abil aitasid kõike paigal hoida.
Nüüd painutage ükshaaval iga LED-i katood (lühike) jalg vasakule, nii et need kõik kattuksid üksteisega. Kõige lihtsam on alustada vasakust servast ja töötada paremal. Kui kasutate suuremat protoplaadi tükki, saate need esmalt tahvli külge joota ja polstrite abil omavahel ühendada. Olge ettevaatlik, et mitte liituda ühegi katoodiga muude tahvli ridade või mõne anoodiga!
Korrake seda protseduuri kõigi kaheksa rea jaoks ja kui olete lõpetanud, peaks teil olema midagi, mis näeb välja umbes selline:
Hüppavad anoodid!
Anoodide veerud on pisut tuhmid. Ülaltoodud diagrammil anoodid kõverad iga kord, kui nad ületavad katoodirida. Seda seetõttu, et nad ei saa ridu üldse puudutada. Peame anoodid painutama katoodiridade kohal ja kinnitama need üksteisega. Võib juhtuda, et pliiatsi kasutamine jalgade painutamiseks aitab palju.
Tehke seda iga anoodirea jaoks ja kinnitage takisti iga ülemise anoodi külge. Tõenäoliselt on teil lihtsam panna takisti protoplaadi järgmisesse auku ja jootet kasutades padjad ühendada. Nüüd peaks teil olema midagi sellist:
Palju õnne! LED-maatriks on valmis. Kontrollige selles etapis oma jootmist põhjalikult, veendumaks, et puuduvad pausid ja et ükski veerg ei puuduta ridu. Ärge muretsege, kui see ei tundu ilus, vajame seda lihtsalt töötamiseks! Nüüd saate iga valgusdioodi eraldi kontrollida, kinnitades 5v ükskõik millise veeru otsa külge ja maandades rea ükskõik millise otsa külge.
Kui kõik on hästi, kinnitage iga veeru ja rea külge kinnituskonksud ja kinnitage need oma Arduino külge, nagu näidatud ülaltoodud diagrammil.
Saame kodeerimise
Avage Arduino IDE ja valige oma pardal ja port. Kui olete Arduino uustulnuk, siis vaadake seda alustusjuhend. Arduino kasutamise alustamine: Algajate juhendArduino on avatud lähtekoodiga elektroonika prototüüpide platvorm, mis põhineb paindlikul, hõlpsasti kasutataval riist- ja tarkvaral. See on mõeldud kunstnikele, disaineritele, harrastajatele ja kõigile, kes on huvitatud interaktiivsete objektide või keskkondade loomisest. Loe rohkem
Sisestage see kood redaktorisse. See on üsna tihe kood, kui te pole sellega tuttav, kuid see on saadaval siin täielikult koos märkustega, mis aitab mõista, kuidas see töötab.
const int rida [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 = vale; const int pirLockTime = 12000; int pirCountdown = pirLockTime; int pikslid [8] [8]; const int refreshSpeed = 500; int countDown = refreshSpeed; int currentCharIndex = 0; typedef bool CHAR_MAP_NAME [8] [8]; const CHAR_MAP_NAME tühi = {{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, 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] = { & tühi, & kolmekihiline, ja tühi, & tühi, ja kolmetasandiline. }; void setup () {jaoks (int i = 0; i <8; i ++) {pinMode (rida [i], VÄLJUND); pinMode (veerg [i], VÄLJUND); // liikumisandur pinMode (pirPin, INPUT); digitalWrite (veerg [i], LOW); } } void screenSetup () {const CHAR_MAP_NAME * thisMap = charMap [currentCharIndex]; jaoks (int x = 0; x <8; x ++) {jaoks (int y = 0; y <8; y ++) {loll sisse = (* see kaart) [x] [y]; if (sees) {pikslid [x] [y] = KÕRGE; } muud {pikslid [x] [y] = LOW; }}} currentCharIndex ++; if (currentCharIndex> = noOfFrames) {currentCharIndex = 0; }} void refreshScreen () {jaoks (int currentRow = 0; praeguneRow <8; currentRow ++) {digitalWrite (rida [currentRow], LOW); jaoks (int currentCol = 0; praeguneCol <8; currentCol ++) {int thisPixel = pikslid [currentRow] [currentCol]; digitalWrite (veerg [currentCol], seePixel); if (thisPixel == HIGH) {digitalWrite (veerg [currentCol], LOW); }} digitalWrite (rida [currentRow], HIGH); }} void loop () {val = digitalRead (pirPin); if (val == KÕRGE) {pirTrigger = true; } else if (val == LOW && pirCountdown <= 0) {pirTrigger = false; pirCountdown = pirLockTime; } if (pirTrigger == true && pirCountdown> 0) {refreshScreen (); countDown--; pirCountdown--; if (countDown <= 0) {countDown = refreshSpeed; screenSetup (); } } }
Olulised osad, mida tuleb mõista, on järgmised:
refreshSpeed muutuja. See muutuja määrab, kuidas iga ekraani vaheline aeg värskendatakse. Suurem number tähendab pikemat ootamist.
Const CHAR_MAP_NAMEs. Sellele kohale panite iga märgikaardi (või kaadri, kui seda on lihtsam neist välja mõelda), mida soovite kuvada.
noOfFrames muutuja. See määrab, mitu kaadrit kuvatakse ühe täieliku mängu jooksul. Pange tähele, et see võib erineda märgikaartide arvust. Näiteks kui soovite kuvada „CAT”, peate määratlema ainult neli eraldiseisvat kaadrit: tühi, an A, a C ja a T.
Kui liikumisandur tuvastab liikumise, peaks LED-ekraan vilkuma LED-i kolm alla ja kolm vasakult ülalt sisse. Kui see ei kuva õigesti, siis kontrollige oma juhtmeid uuesti, et veenduda, kas kõik on õiges kohas! Enda pildi või sõnumi lisamisel võidakse see varakult ära lõigata või mängida liiga kaua. Proovige muuta pirLockTime muutuja, kuni see mängib soovitud aja jooksul.
Iga kaadri lisamine LED-ekraanile võib olla pisut tüütu, nii et oleme selle loonud see arvutustabel LED-maatriksi jaoks teksti ja piltide loomise pisut lihtsamaks muutmiseks (tehke Google Sheetist koopia, et saaksite seda redigeerida).
Arvutustabelit kasutades saate oma loomingud otse koodi kopeerida.
Tee see elementide vapraks
Nüüd, kui meil on töötav LED-maatriks, vajame selle jaoks võimalust talveilma ületamiseks. Kuigi see meetod ei pruugi seista troopilise tormi korral või basseinis uinates, peaks sellest piisama, et hoida kogu elektroonika elementide eest kaitstult.
Kasutasin ümmargust Tupperware kasti, mille läbimõõt oli 15 cm ja sügavus 6 cm, kuna see sobis minu komponentidega ideaalselt. Lõigake kaanest aken, mis on pisut suurem kui teie LED-maatriks, ja kinnitage selle külge läbipaistev plastkile, veendudes, et vedeliku sisenemiseks ei jääks ruumi. Mõne pakendi vastupidav plastik toimiks kõige paremini, kuid see oli kõik, mis mul oli. Samuti võite protoplaadi külge kinnitada mõned alused, ehkki mõlemat tööd saaks hõlpsalt teha tugeva veekindla lindiga.
Järgmisena tehke väike auk akna all, seejärel laiendage seda ettevaatlikult ja aeglaselt, kuni teie PIR-sensor saab lihtsalt läbi pääseda. Tahad, et see sobiks võimalikult hästi.
Kinnitage oma PIR-andur ja täitke lindi või kuuma liimiga kõik lüngad.
Puhastage kõik teibid või liimid, mis võivad kasti korralikult sulguda, ja lisage kõik komponendid koos akuga karpi. Siin kasutati lihtsat AA akupatareid, mis ühendati otse Nano pistikupesasse. Korpuse välisküljele lisati paar väikest korgitükki, et aidata ehitust pärja keskele riputada.
Ja oleme valmis
Kui karp on suletud, riputage see oma jõulupärjaga üles ja oodake, kuni külastajad reageerivad teie kõrgtehnoloogia sub $ 20 isiklikule tervitamisele! Võite isegi ühe sammu edasi minna ja luua vinge DIY kaunistused 3D-prinditud jõulukaunistused täiuslike geekiliste pühade jaoksMiks mitte säästa endale jõulude ajal raha ja 3D printida oma koju mõni pidulik kaunistus? Loe rohkem ka mujal maja ümbruses!
Selles projektis oleme ehitanud nullist autonoomse LED-maatriksisüsteemi, mis on liikumisega aktiveeritud ja suudab õues elada ilma igasuguse ilmastikuoludeta. See ehitamine tuleb kasuks kaua pärast pühadeperioodi lõppu teistes projektides ja sama tehnikat võiks kasutada odavate ilmastikukindlate ümbriste loomiseks ka muudele projektidele.
Kas olete midagi ehitanud, et anda oma jõuludele DIY keerdus? Kas plaanite sellel aastal DIY-teemalisi jõulukinke? Andke meile allolevates kommentaarides teada!
Ian Buckley on vabakutseline ajakirjanik, muusik, esineja ja videotootja, kes elab Berliinis, Saksamaal. Kui ta ei kirjuta ega laval, tikib ta DIY elektroonika või koodi abil lootuses saada hulluks teadlaseks.