Skelbimas
Kalėdos vėl čia, ir nesvarbu, ar tai jūsų mėgstamiausia metų šventė, ar tai atneša jus šaltu prakaitu, papuošimai pradeda brangti. Šiais metais kodėl gi neįtraukus „pasidaryk pats“ technologijos į savo dekoracijas, kad jos išsiskirtų?
Šiame projekte mes sukursime oro nepraleidžiančią, judesiais įjungtą 8 x 8 LED matricą nuo nulio... už mažiau nei 20 USD. Jis sukurtas taip, kad tilptų įprasto kalėdinių durų vainiko centre, nors jį būtų galima naudoti bet kurioje namo vietoje. Kadangi akumuliatorius maitinamas, bet kur kitur!
Dalių sąrašas
Šiam projektui jums reikės:
- Arduino.
- Aš naudojau Nano nes jis yra mažas, bet jūs galite naudoti beveik bet kurį Su Arduino suderinamas mikrovaldiklis „Arduino“ pirkimo vadovas: kurią lentą turėtumėte gauti?Yra tiek daug įvairių „Arduino“ lentų, jums bus atleista už supainiojimą. Ką turėtumėte nusipirkti savo projektui? Padėkime mums su šiuo Arduino pirkimo vadovu! Skaityti daugiau .
- 64 x raudoni šviesos diodai.
- 8 x 220 omų varžai.
- PIR judesio jutiklis.
- Daug „Arduino“ pradiniai rinkiniai Kas yra „Arduino“ pradiniame rinkinyje? [„MakeUseOf“ paaiškina]Aš anksčiau pristačiau „Arduino“ atvirojo kodo aparatinę įrangą čia, „MakeUseOf“, bet norint sukurti ką nors iš jūsų ir pradėti, jums reikia ne tik tikrojo „Arduino“. Arduino „pradiniai rinkiniai“ yra ... Skaityti daugiau ateik su šiais. Aš nusipirkau daugkartinę pakuotę iš „Amazon“ už 10 USD.
- 1 gabalėlis prototipų lenta.
- Čia buvo naudojamas 9 x 7 cm, nors galite naudoti bet kokį norimą dydį.
- 7-12v baterija.
- Dėl biudžeto priežasčių čia naudojama paprasta baterija, tačiau a mobiliojo banko įkroviklis Geriausi „Pokemon Go“ galios bankai„Pokemon Go“ plaka iš telefono baterijos. Išspauskite iš savo telefono šiek tiek daugiau „Pokemon“ pagaminamų sulčių, reikia maitinimo banko. Bet kokia geriausia baterija ten? Skaityti daugiau gali trukti dar ilgiau.
- Asorti trumpi vielos gabalai.
- „Tupperware“ dėžutė arba panašus orui atsparus gaubtas.
- Įsitikinkite, kad jis bus pakankamai didelis, kad tilptų visi komponentai!
- Kalėdinis vainikas.
- Bet kuris padarys, tik įsitikinkite, kad gaubto dėžutė tilps jo viduje.
- Lituoklis ir lydmetalis.
Nors tai nėra absoliučiai būtina, nes komponentus galėtumėte lituoti tiesiai į „Nano“, aš taip pat radau nedidelę lentą, labai naudingą testuojant. Karštas klijų pistoletas taip pat padeda sudedant visas dalis.

Šis projektas reikalauja gana daug litavimo, o pradedantiesiems jis gali atrodyti bauginantis. Aš asmeniškai vis dar esu litavimo pradžiamokslis ir manau, kad jis nėra toks sudėtingas ar reikalaujantis daug laiko, kaip atrodo. Jei jūs taip pat dar nesinaudojote litavimu, čia yra keletas geri patarimai, kaip padėti Sužinokite, kaip lituoti, naudodamiesi šiais paprastais patarimais ir projektaisAr jus šiek tiek baugina mintis apie karštą geležį ir išlydytą metalą? Jei norite pradėti dirbti su elektronika, turėsite išmokti lituoti. Leisk mums padėti. Skaityti daugiau .
Jei jums nelabai patinka litavimo idėja, šis projektas taip pat įmanomas LED juostos Savaitgalio projektas: Sukurkite milžinišką LED taškų ekranąMan patinka LED taškai: ryškūs, lengvai valdomi, pigūs ir tokie universalūs. Šiandien paversime juos dideliu taškų ekranu, kurį galima pakabinti ant sienos. Skaityti daugiau , arba paruoštą LED matricą, kurią galbūt turite savo pradiniame rinkinyje. Kai nuspręsite eiti šiuo keliu, reikės šiek tiek pakoreguoti kodą.
Arduino įrengimas
Pradėsime nuo „Arduino“ ir laidų, kuriuos pritvirtinsime prie savo PIR jutiklio ir LED matricos, schemos.

Matricos viduje
Dabar pasidaryk mūsų 8 x 8 LED matricą. Patartina pradėti sukurti vieną matricos eilutę ir vieną stulpelį, kad prototipų plokštėje įsitikintumėte, kad tiksliai ten, kur norite.

Aukščiau esančioje nuotraukoje visi šviesos diodai yra išdėstyti taip, kad anodai (ilgesnė, teigiama kojelė) būtų link pagrindinės lentelės viršaus. Tai svarbu, nes mes sukursime bendrų anodų stulpelius, sujungdami juos, ir bendrų katodų eilutes (trumpesnė, neigiama kojelė). Jei tai padarysite dabar, galvos skausmas bus sutaupytas vėliau!
Mes ketiname sukurti bendrą eilutės katodo matricą, ši schema parodo, kaip visa tai sujungta.

Iš pradžių tai gali atrodyti šiek tiek bauginančiai, tačiau tai gana paprasta konfigūracija. Kiekvienoje eilutėje visi katodai sujungiami iš dešinės į kairę, tada pritvirtinami prie vieno iš mūsų Arduino kaiščių. Po to mes darome tą patį kiekvienai anodų kolonai. Tokiu būdu, priklausomai nuo to, kuriame stulpelyje mes naudojame energiją, ir kurioje eilėje mes prisijungiame prie žemės, mes galime įjungti bet kurį atskirą šviesos diodų masyve.
Tegul litavimas prasideda
Pradėkite padėdami savo pirmąją šviesos diodų eilę. Įsitikinkite, kad visi anodai yra nukreipti į viršų, ir apverskite. Radau, kad pridedant dar vieną šviesos diodą kiekviename kampe ir pritvirtinus dar vieną proto lentos gabalą viršuje, panaudojant elastingą laidą, viskas laikėsi vietoje.

Dabar po vieną kiekvienos šviesos diodo katodinę (trumpąją) koją sulenkite į kairę, kad jie visi sutaptų. Paprasčiausia pradėti nuo kairės pusės ir dirbti iš dešinės. Jei naudojate didesnį proto plokštės gabalą, pirmiausia galite juos sulituoti prie lentos ir sujungti kartu, naudodamiesi trinkelėmis. Būkite atsargūs ir neprijunkite jokio katodo prie kitų lentos linijų ar prie bet kurio iš anodų!

Pakartokite šį procesą visose aštuoniose eilutėse, o baigę turėtumėte turėti kažką panašaus:

Šokinėja anodai!
Anodų stulpeliai yra šiek tiek nuolaidingesni. Aukščiau pateiktoje diagramoje anodai kreivėja kiekvieną kartą kertant katodų eilę. Taip yra todėl, kad jie niekaip negali liesti eilučių. Mes turime sulenkti anodus per katodo eilutes ir pritvirtinti vienas prie kito. Galite pastebėti, kad naudojant rašiklį kojoms sulenkti labai padeda.

Atlikite tai kiekvienai anodų eilutei ir pritvirtinkite rezistorių prie kiekvieno viršutinio anodo. Tikriausiai jums bus lengviau sudėti rezistorių į kitą skydą prototipų skydelyje ir sujungti trinkeles naudojant lydmetalį. Dabar turėtumėte kažką panašaus:

Sveikiname! LED matrica baigta. Šiame etape kruopščiai patikrinkite litavimą, įsitikinkite, kad nėra pertraukų ir ar nė vienas stulpelis neliečia eilučių. Nesijaudinkite, jei jis neatrodo gražiai, mums tiesiog reikia, kad jis veiktų! Dabar galite patikrinti kiekvieną šviesos diodą atskirai, pritvirtindami 5v prie bet kurio stulpelio galo ir įžemindami prie bet kurio stulpelio galo.

Jei viskas gerai, pritvirtinkite laidus prie kiekvieno stulpelio ir kiekvienos eilutės ir pritvirtinkite prie savo Arduino, kaip parodyta aukščiau pateiktoje schemoje.
Pabandykime užkoduoti
Atidarykite „Arduino IDE“ ir pasirinkite savo plokštę bei prievadą. Jei esate naujokas Arduino, patikrinkite tai pradžios vadovas. Darbo pradžia „Arduino“: vadovas pradedančiajam„Arduino“ yra atvirojo kodo elektronikos prototipų kūrimo platforma, pagrįsta lanksčia, lengvai naudojama aparatine ir programine įranga. Jis skirtas menininkams, dizaineriams, mėgėjams ir visiems, besidomintiems interaktyvių objektų ar aplinkos kūrimu. Skaityti daugiau
Įveskite šį kodą į redaktorių. Tai gana tankus kodas, jei jums jis nepažįstamas, tačiau jis yra prieinamas čia visiškai su anotacija, kad padėtų suprasti, kaip tai veikia.
const int eilutė [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 = MAŽAI; int val = 0; bool pirTrigger = klaidingas; const int pirLockTime = 12000; int pirCountdown = pirLockTime; vidiniai taškai [8] [8]; const int refreshSpeed = 500; int countDown = refreshSpeed; int currentCharIndex = 0; „typedef bool“ CHAR_MAP_NAME [8] [8]; „const CHAR_MAP_NAME“ tuščias = {{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}, }; „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] = { ir tuščias, ir trečias trečias, ir tuščias, ir tuščias, ir trečias. }; void setup () {for (int i = 0; i <8; i ++) {pinMode ([i] eilutė, OUTPUT); pinMode (stulpelis [i], IŠĖJIMAS); // judesio jutiklis pinMode (pirPin, INPUT); „digitalWrite“ (stulpelis [i], LOW); } } void screenSetup () {const CHAR_MAP_NAME * thisMap = charMap [currentCharIndex]; už (int x = 0; x <8; x ++) {už (int y = 0; y <8; y ++) {bool on = (* thisMap) [x] [y]; if (įjungta) {pikselių [x] [y] = AUKŠTAS; } dar {taškų [x] [y] = MAŽAI; }}} „currentCharIndex ++“; if (currentCharIndex> = noOfFrames) {currentCharIndex = 0; }} void refreshScreen () {for (int currentRow = 0; currentRow <8; currentRow ++) {digitalWrite (eilutė [currentRow], LOW); už (vidinė srovėCol = 0; currentCol <8; currentCol ++) {int thisPixel = pikseliai [currentRow] [currentCol]; „digitalWrite“ (stulpelis [dabartinisCol], šis „ixix “); if (thisPixel == HIGH) {digitalWrite (stulpelis [currentCol], LOW); }} „digitalWrite“ (eilutė [currentRow], HIGH); }} void loop () {val = digitalRead (pirPin); if (val == AUKŠTAS) {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 (); } } }
Svarbios suprantamos dalys:
„refreshSpeed“ kintamasis. Šis kintamasis nustato, kaip atnaujinamas laikas tarp kiekvieno ekrano. Didesnis skaičius reiškia ilgesnį laukimą.
Const „CHAR_MAP_NAME“s. Čia įdedate kiekvieno norimo parodyti simbolių žemėlapį (arba rėmelį, jei taip lengviau apie juos galvoti).
„noOfFrames“ kintamasis. Tai nustato, kiek kadrų rodoma per vieną pilną grojimą. Atminkite, kad ženklų žemėlapių skaičius gali skirtis. Pvz., Jei norėtumėte parodyti „A CAT“, jums reikės apibrėžti tik keturis atskirus kadrus: tuščią, an A, a C ir a T.
Dabar, kai judesio jutiklis nustato judesį, LED ekranas turėtų mirksėti LED trimis žemyn ir trim į viršų iš kairės. Jei jis netinkamai rodomas, dar kartą patikrinkite laidus, kad įsitikintumėte, jog viskas yra tinkamoje vietoje! Kai pridėsite savo atvaizdą ar pranešimą, jis gali būti išjungtas per anksti arba žaisti per ilgai. Pabandykite pakeisti pirLockTime kintama, kol jis groja norimą laiką.
Kiekvieno kadro pridėjimas prie LED ekrano gali būti šiek tiek nuobodus, todėl mes sukūrėme šią skaičiuoklę kad būtų šiek tiek lengviau kurti tekstą ir vaizdus jūsų LED matricai (pasidarykite „Google“ lapo kopiją, kad galėtumėte ją redaguoti).
Naudodami skaičiuoklę galite nukopijuoti savo kūrinius tiesiai į kodą.
Paversk drąsiais elementais
Dabar, kai turime veikiančią LED matricą, mums reikia būdo, kaip ji galėtų išgyventi žiemos orus. Šis metodas gali neatlaikyti atogrąžų audros ar būti nugrimztam į baseiną, tačiau to turėtų pakakti, kad visa elektronika būtų apsaugota nuo elementų.
Aš naudojau apvalią „Tupperware“ dėžutę, kurios skersmuo 15 cm ir gylis 6 cm, nes ji puikiai tinka mano komponentams. Nupjaukite langą dangtelyje, kuris yra šiek tiek didesnis nei jūsų LED matrica, ir pritvirtinkite prie jo skaidrią plastikinę plėvelę, įsitikindami, kad joje nėra skysčių. Tvirtas plastikas iš kai kurių pakuočių veiktų geriausiai, bet tai buvo viskas, ką turėjau. Taip pat galėtumėte pritvirtinti keletą proto lentos tvirtinimo elementų, nors abu darbus lengvai atliktumėte naudodami stiprią vandeniui nepralaidžią juostą.

Po to padarykite nedidelę skylę po langu, tada atsargiai ir lėtai praplėskite ją, kol jūsų PIR jutiklis gali tik įeiti. Norite, kad jis tilptų kuo griežčiau.

Pritvirtinkite PIR jutiklį ir užpildykite visas spragas, kurias matote, juostele ar karštais klijais.

Nuvalykite visas juostas ar klijus, dėl kurių dėžutė gali tinkamai neuždaryti, ir pridėkite visus savo komponentus prie dėžutės kartu su baterija. Čia buvo naudojamas paprastas AA akumuliatorių paketas, įkištas tiesiai į „Nano“ VCC kontaktą. Į gaubto išorę buvo įdėta keletas nedidelių kamščio gabalėlių, kad būtų galima kabinti stakta vainiko centre.
Ir mes baigėme
Užklijavę dėžę, pakabinkite ją su savo kalėdiniu vainiku ir laukite, kol lankytojai reaguos į jūsų asmeninį pasveikinimą aukštųjų technologijų sub-20 USD! Jūs netgi galėjote žengti dar vieną žingsnį ir sukurti nuostabų „Pasidaryk pats“ dekoracijos 3D atspausdintos kalėdinės dekoracijos, skirtos tobuloms geiskiškoms atostogomsKodėl neišsaugoję sau pinigų per šias Kalėdas ir 3D spausdindami šventinius papuošimus savo namams? Skaityti daugiau ir kitur aplink namą!

Šiame projekte mes sukūrėme autonominę LED matricos sistemą nuo nulio, kuri įjungiama judesiu ir gali išgyventi būnant lauke bet kokiu oru. Ši konstrukcija bus naudinga dar ilgai, kai pasibaigs atostogų sezonas kituose projektuose, ir ta pati technika galėtų būti naudojama kuriant pigias oro sąlygoms atsparias gaubtas ir kitiems projektams.
Ar ką nors sukūrėte, kad Kalėdoms pasidarytumėte „pasidaryk pats“? Ar šiais metais planuojate „pasidaryk pats“ kalėdines dovanas? Praneškite mums toliau pateiktuose komentaruose!
Ian Buckley yra laisvai samdomas žurnalistas, muzikantas, atlikėjas ir vaizdo įrašų prodiuseris, gyvenantis Berlyne, Vokietijoje. Kai jis nerašo ir nesirenka scenoje, jis pasidomi „pasidaryk pats“ elektronika ar kodu tikėdamasis tapti beprotišku mokslininku.