Cuprins:
- Pasul 1: Adunați părți
- Pasul 2: Pregătiți-vă țeava de scurgere
- Pasul 3: Programați Arduino
- Pasul 4: Asamblarea componentelor electronice
- Pasul 5: Montați dispozitivele electronice și închideți-le
- Pasul 6: Bucurați-vă
Video: Ceas Space Invaders (la un buget!): 6 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Recent, am văzut o construcție grozavă de GeckoDiode și am vrut imediat să o construiesc singură. Instrucționabil este Space Invaders Desktop Clock și vă recomand să aruncați o privire după ce ați citit acest lucru.
Proiectul a fost construit aproape exclusiv din piese provenite de la Adafruit, cu o carcasă tipărită 3D și cu față tăiată cu laser. Adăugarea la toate a costului construcției devine foarte costisitoare! (aproximativ 100 GBP sau mai mult). Problema este că dacă nu dețineți o imprimantă 3D, trebuie să plătiți pentru a vă tipări modelul sau pentru a cumpăra o carcasă urâtă de pe eBay, care este adesea puțin prea mică, prea îngustă, scurtă sau opusă.
Majoritatea versiunilor mele trebuie să fie făcute pe un buget al pasionaților, iar carcasele ajung întotdeauna să fie cea mai scumpă parte. Așa că am decis să construiesc același ceas, dar cu un buget decent.
Dacă vă place să vă uitați la ceasuri ciudate, verificați ceasul meu Steampunk Voltmeter, care folosește aceleași materiale de construcție pentru incintă:-)
Pasul 1: Adunați părți
Pentru a realiza acest proiect, veți avea nevoie de următoarele. Rețineți cu materialele pentru incintă, veți avea MULTE resturi pe care le puteți utiliza în alte proiecte (ceea ce face ca costul viitoarelor construcții să fie și mai ieftin). Am încărcat fișiere PDF despre lucrurile de care aveți nevoie dacă doriți să verificați prețul etc. pe eBay.
Instrumente (presupun că le veți avea deja)
- Ciocan de lipit
- Solder
- Pompa de lipit (dacă faceți o greșeală și trebuie să scoateți lipirea)
- Pistol de lipit fierbinte
- Lipici fierbinți
- Cuțit manual (alias cuțit Stanley)
- Rigla / banda de măsurare / etrierul Vernier
- Burghiu fără fir + burghie (1 mm până la 13 mm)
- Multi-instrument rotativ cu disc de tăiere (alias Dremel)
- Lichid de curățare precum alcoolul izopropilic (funcționează și după bărbierit ieftin)
- Mască de siguranță (utilizată la vopsirea prin pulverizare)
Electronică (Costul electronicelor = 13,05 GBP)
Unele dintre acestea le-am avut gratis. Jucăriile electronice vechi au aceste boxe Mylar drăguțe în interior, dacă le desfaceți. În timp ce sunteți acolo, puteți obține probabil un butoi DC și un buton.
- Cabluri Dupont / Jumper - 0,99 GBP
- DS1307 Modul de ceas în timp real - 0,99 GBP (aș recomanda să obțineți în schimb DS3231 acolo unde este disponibil)
- Cablu nano + usb Arduino - 2,23 GBP
- Difuzor Mylar de 8 Ohm - 0,99 GBP
- Buton SPST momentan - 1,49 GBP
- Priză cilindrică de 5,5 mm DC - 1,26 GBP
- 5v, 0,5A alimentare DC - 2,83 GBP
- Afișaj cu matrice de puncte MAX7219 - 3,76 GBP
Carcasă (Costul materialelor carcasei = 17,19 GBP)
- Țeavă de scurgere pătrată de 60 mm - 5,99 GBP (va rămâne MULTE din acestea pentru mai multe proiecte)
- Vopsea cu spray negru - 4,85 GBP
- PVC negru (foamboard) - 2,99 GBP
- Super lipici - 0,99 GBP
- Capace de 60 mm - 2,37 GBP
Cost total = 30,24 GBP:-) …….. astăzi, acesta este echivalentul a 38 USD pentru orice cititor internațional.
Îmi place să lucrez cu țeava pătrată din PVC. Sunt ușor de găurit, tăiat, vopsit și am folosit unul pentru ceasul meu Steampunk.
Pasul 2: Pregătiți-vă țeava de scurgere
Marcați unde doriți să puneți lucrurile
A fost atât de ușor. Nu am folosit nimic fantezist. Mai întâi am tăiat lungimea de 2,5 m până la o dimensiune rezonabilă pentru banca mea de acasă (aproximativ 30 cm) cu un ferăstrău. Ulterior am tăiat asta cu un dremel pentru a face marginile frumoase și drepte. Apoi am sprijinit componentele pe suprafața țevii și am folosit o piață permanentă pentru a marca unde am vrut să forez și să tai. Am urmărit în jurul exteriorului matricei LED și am folosit un instrument multi-rotativ pentru a tăia o gaură pătrată pentru a se potrivi la culoare. Am folosit un etrier digital pentru a măsura diametrul butonului și butoiului DC pentru a tăia găurile de dimensiuni corecte din spate și de sus.
Tăiați o ramă
Am o mulțime de plăci din spumă din PVC așezate în jurul proiectelor anterioare. Sunt minunate pentru montarea circuitelor în carcase, folosindu-l pentru a amesteca epoxidic împreună și pentru a face alte biți și boburi. Luați o piesă de dimensiunea A4 sau A5 și tăiați un cadru pătrat de 5 mm sau o ramă pentru a încadra matricea LED. Acest lucru va ascunde orice margine vâscos pe care l-ați făcut atunci când tăiați gaura pătrată pentru matrice. Pentru aceasta am desenat un mic șablon pe Inkscape și l-am tipărit (fișier SVG atașat). Apoi l-am lipit cu bandă de mascare pe foamboard și l-am tăiat cu grijă cu un cuțit de ambarcațiuni. Este dificil să te îndrepți, îți recomand să tai mai întâi interiorul, apoi exteriorul.
Vopseste totul
Odată ce toate găurile sunt găurite și tăiate, îndepărtați marginile îndoite. Curățați suprafețele cu niște șervețele alcoolice pentru a îndepărta orice praf sau poluare (sau un aftershave ieftin dacă nu aveți IPA). Încercați și pulverizați într-o zonă bine ventilată și folosiți o mască acolo unde este posibil. Am făcut asta afară cu niște cartoane pe podea, dar nu este ideal, chiar și o briză mică poate face ca vopseaua să-ți zboare înapoi în față. Aveți grijă și purtați echipament de protecție acolo unde este posibil.
Pulverizați țeava, rama și capacele de capăt, astfel încât să fie toate de același tip de negru, apoi lăsați să se usuce câteva ore.
Pasul 3: Programați Arduino
Câteva informații despre cod
Merită GeckoDiode deoarece i-am luat codul și l-am modificat pentru a funcționa cu cipul MAX7219. Versiunea Adafruit utilizează magistrala I2C, iar MAX utilizează magistrala SPI. Pentru aceasta am folosit biblioteca MaxMatrix, pe care am descărcat-o și am instalat-o în Arduino IDE. Dacă doriți să aflați mai multe despre MaxMatrix și cum funcționează matricea LED în principal, există un tutorial foarte scurt pe HowToMechatronics.com. Matricea de LED-uri este alcătuită doar dintr-o singură culoare de LED-uri, mai degrabă decât cu un afișaj multicolor.
O frustrare pe care am avut-o este că NU există definiții clare cu privire la funcțiile bibliotecii și la ce argumente trebuie transmise fiecăruia. Din fericire am reușit să aflu ce a făcut ce prin încercare și eroare și până la urmă nu a fost prea dificil să-l fac să funcționeze corect. Primul lucru de înțeles este că trebuie să definiți câte module 8x8 sunt în matricea dvs. În codul meu, acesta este stocat într-un număr întreg numit "module" ca acesta:
"int modules = 4;"
Acesta este NUMĂRUL de module 8x8 pe care le-ați conectat împreună pe afișaj. Nu numărul de LED-uri sau ce pin utilizați datele de trimitere. Următorul lucru de reținut este că, dacă "sprite-ul" sau orice altceva acoperă toate cele patru matrice, atunci matricea de octeți trebuie definită astfel:
"octet text_start_bmp = {32, 8, … * unele date de octeți * …};"
Numerele indică cantitatea de rânduri și coloane din matrice. Cu această ocazie octetul numit „text_start_bmp” este afișat pe 32 de coloane și 8 rânduri. Numerele sunt afișate numai pe o singură matrice de 8x8, astfel încât numărul de minute 10 arată astfel:
"octet minute_ten_bmp = {8, 8, … * unele date de octeți * …};"
Invadatorii acoperă două matrice, astfel încât octetul va fi dat 16, 8 în datele de octet.
Celălalt lucru care m-a prins a fost poziționarea datelor sprite. Puteți cere Arduino să afișeze sprite-ul într-o poziție diferită X / Y pe matrice față de poziția inițială implicită. Codul arată astfel pentru minutul zero:
"matrix.writeSprite (8, 0, minute_zero_bmp);"
Un număr este ajustarea X și altul este Y. Nu-mi amintesc care dintre ele este acum, dar dacă doriți să împingeți sprite-ul în sus sau în jos cu 1 rând sau coloană, pur și simplu creșteți numărul pozitiv sau minus. Suficient de simplu pentru matricea 8x8, dar atunci când sprite-ul dvs. acoperă mai multe matrici, trebuie să setați poziția principală în consecință. Sprite-ul "POP" este prezentat mai jos:
"matrix.writeSprite (16, 0, invader_pop_bmp);"
Observați acum cum poziția de origine este 16 nu 8? Aici codul indică faptul că sprite-ul este afișat de la stânga la dreapta din poziția rând / coloană 16. Consideră că două afișaje de 8x8 sunt un singur afișaj de 16x8, chiar dacă există 4! Prin urmare, este important să vă gândiți la câte afișaje va fi afișat sprite-ul și dimensionarea corespunzătoare a matricei de octeți a fiecărui sprite. Altfel vei avea niște sprite foarte interesanți!
DS1307 RTC
Deși DS1307 funcționează bine cu biblioteca Adafruit RTClib.h, nu puteți seta manual ora care este doar o durere. Tocmai am mers cu asta pentru că a însemnat mai puțin cod de schimbat. DS1307 setează ora folosind ora și data la care a fost compilat codul de la ora computerelor dvs. În schimb, aflați cum să utilizați biblioteca DS3231 și setați-o o dată cu unul sau două minute înainte în viitor. De asemenea, are mai puțină „deriva”, astfel încât să păstreze timpul mai bine în timp. Ambele module utilizează magistrala I2C și cred că DS3231 poate fi utilizat cu RTClib.h dacă doriți să îl utilizați în continuare.
Încărcați codul
Odată ce sunteți mulțumit de cod, încărcați-l pe Arduino. Am atașat schița mea Arduino pentru considerarea dumneavoastră.
Pasul 4: Asamblarea componentelor electronice
În timp ce încărcați codul, v-aș recomanda ca elementele electronice să fie asamblate mai întâi cu fire dupont / jumper pe o placă, așa că atunci când încărcați codul, știți că totul funcționează conform intenției. Acest lucru vă permite să rezolvați orice problemă cu afișarea spritelor etc. înainte de a începe să lipiți și să lipiți. În codul meu puteți vedea că folosesc pinii digitali 4, 5, 6, 7, 9, dar îi puteți schimba dacă este necesar. Poate fi necesar să lipiți cablurile pe buton, mufa DC și difuzor, dar majoritatea ar trebui să fie conectori de tip push-push ușor.
Odată ce vă bucurați că electronica funcționează conform intenției, ar trebui să luați în considerare lipirea conexiunilor. Puteți face acest lucru cu placă de cupru / veroboard, dar pentru cantitatea mică de componente puteți lipi direct pe pinii Arduino. Va arăta ca un cuib de șobolani, dar nimeni nu va vedea în interiorul incintei odată ce este asamblat, oricum, asigurați-vă că toate părțile metalice sunt separate, nu doriți nimic scurt în carcasă.
Am făcut butonul să funcționeze atunci când pinul „mainButton” este tras jos. Am descoperit că Arduino recunoaște butonul fals apăsat atunci când dispozitivele electronice plutitoare se așează pe el. Folosind un rezistor de 10K pe butonul de apăsare și setând pinul pe "INPUT_PULLUP", am rezolvat problema.
Atașat este schema în PDF și PNG, astfel încât să știți unde să conectați pinii.
Pasul 5: Montați dispozitivele electronice și închideți-le
Pentru ceasul meu am montat electronica folosind adeziv fierbinte, dar aveți grijă să nu aplicați prea mult (electronice nu le place să fie încălzite prea mult timp). Am folosit o mică picătură de super-adeziv punctată în jurul cadrului și l-am apăsat pe partea din față. Am terminat incinta împingând capace la fiecare capăt. Desigur, puteți lipi capace de capăt pentru a închide complet ansamblul, dar am lăsat o parte a mea deschisă, astfel încât să pot accesa în continuare portul USB al arduino-ului pentru a reseta data și ora în viitor.
Pasul 6: Bucurați-vă
În general, sunt mulțumit de felul în care a ieșit, având în vedere doar niște țevi de jgheab și vopsea spray. Sper să vă placă și să-mi spuneți dacă vă puteți gândi la upgrade-uri interesante care pot fi adăugate. Aș fi interesat să știu dacă cineva poate face acest lucru mai ieftin sau dacă există un alt mod economisitor de a face o incintă pe care îl pot încerca în următorul meu proiect.
Recomandat:
Asigurați-vă propriul sistem de muzică Bluetooth cu buget redus: 5 pași (cu imagini)
Creați-vă propriul sistem de muzică Bluetooth cu buget redus: în acest proiect vă voi arăta cum am „fuzionat” un receptor de muzică bluetooth ieftin cu un difuzor vechi de-al meu. Accentul principal va fi pe proiectarea unui circuit de amplificare audio cu cost redus în jurul LM386 și NE5534. Receptorul Bluetooth
LCD Invaders: un Space Invaders Like Game pe afișajul de caractere LCD 16x2: 7 pași
LCD Invaders: un joc Space Invaders ca pe ecranul de caractere LCD 16x2: Nu este nevoie să introduceți un joc legendar „Space Invaders”. Cea mai interesantă caracteristică a acestui proiect este că folosește afișarea textului pentru ieșirea grafică. Se realizează prin implementarea a 8 caractere personalizate. Puteți descărca Arduino complet
Placă MXY - Placă robot de desen cu plotter XY cu buget redus: 8 pași (cu imagini)
Placă MXY - Placă robot de desenare cu plotter XY cu buget redus: Scopul meu a fost de a proiecta placa mXY pentru a face buget redus mașina de desenat plotter XY. Așa că am proiectat o placă care să o ușureze pe cei care doresc să realizeze acest proiect. În proiectul anterior, în timp ce utilizați 2 motoare pas cu pas Nema17, această placă u
Cabină foto de nuntă Arduino - Părți imprimate 3D, automat și cu buget redus: 22 de pași (cu imagini)
Cabină foto de nuntă Arduino - Piese tipărite 3D, buget automat și redus: Am fost recent invitat la nunta fratelui partenerului meu și mi-au cerut înainte dacă le putem construi o cabină foto, deoarece costă prea mult pentru angajare. Iată ce am venit și după mai multe complimente, am decis să-l transform într-o instrucțiune
Candelabru Space Invaders cu acțiune Glow in the Dark: 16 pași (cu imagini)
Candelabru Space Invaders cu acțiune Glow in the Dark: Folosiți modelare / imprimare 3D, acrilic tăiat cu laser, turnare cu rășină, pigment reactiv la UV, LED-uri și câteva cabluri simple pentru a crea un candelabru sau lampă invadatoare de spațiu retro și cool. Am inclus un truc frumos pentru a face colțuri curbate din laser cu