Oglas

Božić je opet ovdje, i bilo da vam je to najdraži praznik u godini ili vas iznese hladan znoj, ukrasi počinju rasti. Ove godine, zašto u svoje ukrase ne biste ugradili neku DIY tehnologiju kako biste ih istakli?

U ovom ćemo projektu graditi otpornu na vremenske uvjete, pokretno aktiviranu 8 x 8 LED matricu od nule… za manje od 20 dolara. Dizajniran je tako da stane u središte standardnog božićnog vijenca na vratima, mada se može koristiti bilo gdje u kući. A budući da ima bateriju, bilo gdje daleko od kuće!

Popis dijelova

Za ovaj projekt trebat će vam:

  • Težak.
    • Koristio sam Nano jer je male veličine, ali možete je koristiti gotovo bilo koju Mikrokontroler kompatibilan s Arduino Vodič za kupnju Arduinoa: Koji odbor trebate dobiti?Postoji toliko mnogo vrsta Arduino ploča vani da bi vam bilo oprošteno što ste zbunjeni. Koje biste trebali kupiti za svoj projekt? Pomozite nam s ovim vodičem za kupovinu Arduino! Čitaj više .
  • 64 x crvene LED.
  • Otpornici 8 x 220 Ohm.
  • PIR senzor kretanja.
    • Puno Arduino starter setovi
      instagram viewer
      Što je uključeno u Arduino Starter Kit? [MakeUseOf objašnjava]Prethodno sam predstavio Arduino hardver otvorenog koda ovdje na MakeUseOf-u, ali trebat će vam više od samog Arduino-a da biste nešto napravili od njega i zapravo započeli. Arduino "starter setove" su ... Čitaj više dođi s ovim. Kupio sam multi-paket od Amazon za 10 dolara.
  • 1 komad ploča za izradu prototipa.
    • Ovdje se koristi 9 x 7 cm, iako možete koristiti bilo koju veličinu koju želite.
  • 7-12V baterija.
    • Ovdje se iz proračunskih razloga koristi jednostavna baterija, ali a punjač za mobilne banke Najbolje banke Pokemon Go PowerPokemon Go otpuhava bateriju telefona. Za ispiranje malo više soka koji prikuplja Pokemon iz telefona potrebna vam je banka za napajanje. Ali koja je najbolja baterija vani? Čitaj više može trajati i duže.
  • Izabrani kratki komadi žice.
  • Kutija za Tupperware ili slično kućište otporno na vremenske uvjete.
    • Uvjerite se da će biti dovoljno velik da stane sve vaše komponente unutra!
  • Božićni vijenac.
    • Bilo što učiniti, samo provjerite hoće li se kutija za kutije ugraditi u nju.
  • Lemljenje i lemljenje.

Iako nije nužno potrebno kako biste komponente mogli direktno zalijepiti na Nano, također sam pronašao malu ploču vrlo korisnu tijekom testiranja. Pištolj s vrućim ljepilom također pomaže u sastavljanju svih dijelova.

dijelovi matrice za božićne vijence

Ovaj projekt zahtijeva prilično lemljenje, a kao početniku može izgledati zastrašujuće. Osobno sam još uvijek početnik u lemljenju i ustanovio sam da to nije toliko naporno ili dugotrajno kao što se čini. Ako ste i vi novi za lemljenje, evo nekih dobri savjeti za pomoć Saznajte kako lemiti pomoću ovih jednostavnih savjeta i projekataMalo vas zastrašuje pomisao na vruće željezo i staljeni metal? Ako želite početi raditi s elektronikom, morat ćete naučiti lemiti. Pomozite nam. Čitaj više .

Ako vam zapravo nije baš ideja za lemljenje, i ovaj je projekt moguć LED trake Projekt za vikende: Izgradite sjajni LED pikselaObožavam LED piksele: svijetle, jednostavne za kontrolu, jeftine i tako svestrane. Danas ćemo ih pretvoriti u veliki pikselski zaslon koji se može objesiti na zid. Čitaj više ili gotovu LED matricu koja bi mogla biti u vašem startnom kompletu. Neke prilagodbe koda bit će potrebne ako se odlučite na tu rutu.

Postavljanje Arduina

Počet ćemo s dijagramom kruga za Arduino i žicama koje ćemo pričvrstiti na naš PIR senzor i LED matricu.

vijenac fritajući

Unutar Matrice

Sada da napravimo našu 8 x 8 LED matricu. Dobro je započeti s stvaranjem jednog retka i jednog stupca matrice, kako biste bili sigurni da je točno tamo gdje želite na ploči za izradu prototipa.

testiranje gdje staviti led

Na gornjoj fotografiji sve LED diode postavljene su tako da su anode (dulja, pozitivna noga) prema vrhu prototipa. To je važno jer ćemo stvarati stupce zajedničkih anoda spajajući ih zajedno i redove zajedničkih katoda (kraća, negativna noga). Ako ovo odmah primite, uštedjet ćete glavobolje kasnije!

Izgradit ćemo zajedničku matricu katode retka, ovaj dijagram pokazuje kako je sve povezano.

Dijagnosticirati

U početku može izgledati pomalo zastrašujuće, ali to je prilično jednostavna konfiguracija. U svakom su redu sve katode spojene s desna na lijevo, a zatim se pričvršćuju na jedan od naših Arduino igle. Nakon toga radimo isto za svaki stupac anoda. Na taj način, ovisno o tome na koji stupac primjenjujemo snagu i koji red pridružujemo uzemljenju, možemo uključiti bilo koji pojedinačni LED u nizu.

Neka započne lemljenje

Započnite s postavljanjem prvog reda LED-ova. Provjerite jesu li sve anode okrenute prema vrhu i preokrenite je. Otkrio sam da je dodavanje još jednog LED-a u svakom kutu i pričvršćivanje još jednog komada protoboka na vrhu pomoću elastičnog kabela pomoglo da se sve drži na mjestu.

proto elastična

Sada jednu po jednu savijte katodnu (kratku) nogu svakog LED-a ulijevo, tako da se sve preklapaju jedna s drugom. Najlakše je pokrenuti s lijeve strane i raditi s desne. Ako koristite veći komad ploče, možete ih prvo zalijepiti na ploču i spojiti ih pomoću jastučića. Pazite da ne pridružite nijednu katodu bilo kojem drugom retku na ploči ili bilo kojoj od anoda!

lemljenje katodnog nabora

Ponovite ovaj postupak za svih osam redaka, a kad završite, trebali biste imati nešto nalik ovome:

slika gotovih redaka

Skočne anode!

Stupovi anoda su malo lepršaviji. U gornjem dijagramu, anode se krive svaki put kada pređu niz katoda. To je zato što oni uopće ne mogu dodirivati ​​redove. Moramo saviti anode preko reda katode i pričvrstiti ih jedan uz drugog. Možda ćete primijetiti da upotreba olovke za savijanje nogu puno pomaže.

ben antena za lemljenje

Učinite to za svaki red anoda i pričvrstite otpornik na svaku gornju anodu. Vjerojatno će vam biti lakše staviti otpornik u sljedeću rupu na ploči i spojiti jastučiće pomoću lemljenja. Sada biste trebali imati nešto takvo:

gotova lemljenja

Čestitamo! LED matrica je gotova. Provjerite svoje lemljenje u ovoj fazi kako biste bili sigurni da nema prekida i da nijedan stupac ne dodiruje redove. Ne brinite ako ne izgleda lijepo, samo trebamo to raditi! Svaki LED možete provjeriti sada pojedinačno, pričvrstivši 5v na bilo koji kraj stupaca i uzemljite na bilo koji kraj retka.

matrica ispitivanja

Ako je sve u redu, pričvrstite žice za spajanje na svaki stupac i svaki red i pričvrstite ih na svoj Arduino kao što je prikazano na gornjem dijagramu.

Neka je kodiranje

Otvorite Arduino IDE i odaberite svoju ploču i vrata. Ako ste novi u Arduinu, pogledajte ovo vodič za početak rada. Početak rada s Arduinom: Vodič za početnikeArduino je platforma za prototiranje elektronike otvorenog koda koja se temelji na fleksibilnom hardveru i softveru koji se lako koristi. Namijenjen je umjetnicima, dizajnerima, hobistima i svima koji su zainteresirani za stvaranje interaktivnih objekata ili okruženja. Čitaj više

Unesite ovaj kôd u uređivač. To je prilično gust kod ako vam nije poznat, ali dostupan je ovdje u potpunosti napomenuo da pomogne u razumijevanju kako to funkcionira.

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 = NISKO; int val = 0; bool pirTrigger = netočno; const int pirLockTime = 12000; int pirCountdown = pirLockTime; int piksela [8] [8]; const int refreshSpeed ​​= 500; int countDown = refreshSpeed; int currentCharIndex = 0; typedef bool CHAR_MAP_NAME [8] [8]; const CHAR_MAP_NAME prazno = {{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 je utrostručio vijek = {{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] = { & prazno, & threedownthreein, & blank, & blank, & threedownthreein. }; void setup () {for (int i = 0; i <8; i ++) {pinMode (red [i], OUTPUT); pinMode (col [i], IZLAZ); // senzor pokreta pinMode (pirPin, INPUT); digitalWrite (col [i], LOW); } } void screenSetup () {const CHAR_MAP_NAME * thisMap = charMap [currentCharIndex]; za (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 {piksela [x] [y] = NISKO; }}} trenutniCharIndex ++; ako je (trenutniCharIndex> = noOfFrames) {currentCharIndex = 0; }} void refreshScreen () {for (int currentRow = 0; strujaRow <8; currentRow ++) {digitalWrite (red [currentRow], LOW); za (int currentCol = 0; strujaCol <8; currentCol ++) {int thisPixel = piksela [currentRow] [currentCol]; digitalWrite (col [trenutniCol], ovajPixel); ako je (thisPixel == HIGH) {digitalWrite (col [currentCol], LOW); }} digitalWrite (red [currentRow], HIGH); }} void petlja () {val = digitalRead (pirPin); ako je (val == HIGH) {pirTrigger = istina; } else if (val == NISKO && pirCountdown <= 0) {pirTrigger = false; pirCountdown = pirLockTime; } if (pirTrigger == true && pirCountdown> 0) {refreshScreen (); countDown--; pirCountdown--; ako je (countDown <= 0) {countDown = refreshSpeed; screenSetup (); } } }

Važni dijelovi koje treba razumjeti su:

refreshSpeed promjenjiva. Ova varijabla određuje kako se vrijeme između svakog zaslona osvježava. Veći broj znači i duže čekanje.

Konst CHAR_MAP_NAMEa. Ovdje stavljate svaku kartu znakova (ili okvir ako je lakše tako razmišljati na njih) koji želite prikazati.

noOfFrames promjenjiva. Ovo određuje koliko će se okvira prikazati u jednoj cjelovitoj reprodukciji. Imajte na umu da se može razlikovati od broja karata znakova. Na primjer, ako želite prikazati "CAT" samo biste trebali definirati četiri različita okvira: blank, an , a C i a T.

Sada, kada senzor pokreta otkriva kretanje, LED ekran bi trebao treptati LED tri dolje i tri unutra s gornje lijeve strane. Ako se ne prikazuje pravilno, ponovo provjerite ožičenje kako biste bili sigurni da je sve na pravom mjestu! Kada dodate svoju sliku ili poruku, ona se može prekratiti ili igrati predugo. Pokušajte promijeniti pirLockTime varijabla dok se ne reproducira onoliko vremena koliko želite.

Postupak dodavanja svakog okvira na LED zaslon može biti pomalo naporan, zato smo i kreirali ova proračunska tablica da biste malo olakšali stvaranje teksta i slika za svoju LED matricu (napravite kopiju Google tablice da biste je mogli urediti).

Pomoću proračunske tablice možete kopirati svoje kreacije izravno u kod.

Učinite to hrabrim elementima

Sada kada imamo radnu LED matricu, potreban nam je način da preživimo zimsko vrijeme. Premda se ova metoda ne može suprotstaviti tropskoj oluji ili se potapati u bazenu, to bi trebalo biti dovoljno da se sva elektronika sačuva od elemenata.

Koristio sam okruglu Tupperware kutiju promjera 15 cm i dubine 6 cm, kako savršeno odgovara mojim komponentama. Izrežite prozor u poklopcu nešto većem od LED matrice i na njega pričvrstite prozirni plastični film, pri tome pazite da ne ostavite mjesta za tekućinu. Čvrsta plastika iz neke ambalaže najbolje bi funkcionirala, ali ovo je sve što sam imao. Također možete pričvrstiti neke nosače za ploču, mada se oba posla lako mogu obaviti jakom vodootpornom trakom.

vremenski dokaz

Zatim napravite malu rupicu ispod prozora, zatim je pažljivo i polako proširite dok se vaš PIR senzor ne može tek tako uklopiti. Želite da stane što je moguće ljepše.

izrezana rupa

Priložite svoj PIR senzor i popunite sve praznine koje možete vidjeti trakom ili vrućim ljepilom.

ljepilo pir

Očistite traku ili ljepilo kojim se kutija može spriječiti da se pravilno zatvori, i dodajte sve svoje komponente u kutiju, zajedno s baterijom. Ovdje je korišten jednostavan AA baterijski paket, priključen izravno na VCC pin Nano-a. Nekoliko sitnih komada plute dodano je na vanjsku stranu kućišta kako bi se moglo objesiti građe na sredini vijenca.

I gotovi smo

Nakon što je kutija zapečaćena, objesite je svojim božićnim vijencem i pričekajte reakcije posjetitelja na vaš osobni doček od 20 dolara! Možete čak ići korak dalje i stvoriti fantastično Sami ukrasi Božićni ukrasi s 3D tiskom za savršene geeky praznikeZašto ovog Božića ne biste uštedjeli nešto novca i 3D ispisali neke svečane ukrase za svoj dom? Čitaj više i drugdje oko kuće!

gotov matrix božićni vijenac diy

U ovom smo projektu izgradili samostalni LED matrični sustav od nule, to jest aktivira se kretanje i može preživjeti biti vani u svim vremenskim neprilikama. Ova će mu upotreba biti korisna dugo nakon završetka blagdana u drugim projektima, a ista tehnika mogla bi se koristiti i za stvaranje jeftinih kućišta otpornih na vremenske uvjete.

Jeste li išta napravili kako biste svom Božiću zavoljeli "uradi sam"? Planirate li ove godine božićne poklone na temu „uradi sam“? Javite nam se u komentarima u nastavku!

Ian Buckley je slobodni novinar, glazbenik, izvođač i video producent koji živi u Berlinu, Njemačka. Kad ne piše ili ne govori na pozornici, bavi se uradi sam elektronikom ili kodom u nadi da će postati lud znanstvenik.