Sisukord:

Space Invaders Clock (eelarvega!): 6 sammu (koos piltidega)
Space Invaders Clock (eelarvega!): 6 sammu (koos piltidega)

Video: Space Invaders Clock (eelarvega!): 6 sammu (koos piltidega)

Video: Space Invaders Clock (eelarvega!): 6 sammu (koos piltidega)
Video: Part 3 - The War of the Worlds Audiobook by H. G. Wells (Book 2 - Chs 1-10) 2024, Juuli
Anonim
Image
Image
Koguge osi
Koguge osi

Hiljuti nägin lahedat GeckoDiode'i ehitust ja tahtsin seda kohe ise ehitada. Instructable on Space Invaders Desktop Clock ja soovitan teil seda pärast selle lugemist vaadata.

Projekt ehitati peaaegu ainult 3D -trükitud korpusega Adafruitist ostetud osadest ja laserlõikega. Ehituse maksumuse lisamine läheb väga kulukaks! (umbes 100 naela või rohkem). Probleem on selles, et kui teil pole 3D -printerit, peate oma mudeli printimise eest maksma või ostate ebay -st koleda korpuse, mis on sageli lihtsalt liiga väike, liiga kitsas, lühike või vastupidi.

Enamik minu ehitusi tuleb teha harrastajate eelarvest ja korpused on alati kõige kallim osa. Seega otsustasin ehitada sama kella, kuid korraliku eelarvega.

Kui teile meeldib imelikke kellasid vaadata, vaadake minu Steampunk Voltmeter Clocki, mis kasutab korpuse jaoks samu ehitusmaterjale:-)

Samm: koguge osi

Selle projekti tegemiseks vajate järgmist. Pidage meeles korpuse materjalidega, kui teil on PALJU ülejääke, mida saate kasutada teistes projektides (mis muudab tulevaste ehitiste kulud veelgi odavamaks). Olen üles laadinud PDF -failid asjadest, mida vajate, kui soovite ebayst hinda vaadata jne.

Tööriistad (eeldan, et teil on need juba olemas)

  • Jootekolb
  • Jootma
  • Jootmispump (kui teete vea ja peate jootet eemaldama)
  • Kuum liimipüstol
  • Kuum liimipulgad
  • Käsitöönuga (teise nimega Stanley nuga)
  • Joonlaud / mõõdulint / Vernier -nihik
  • Akutrell + puurid (1 mm kuni 13 mm)
  • Pöörlev multifunktsionaalne tööriist lõikekettaga (teise nimega Dremel)
  • Puhastusvedelik nagu isopropüülalkohol (töötab ka odav raseerimisjärgne)
  • Turvamask (kasutatakse pihustusvärvimisel)

Elektroonika (elektroonika maksumus = 13,05 naela)

Mõned neist olid mul tasuta. Vanadel elektroonilistel mänguasjadel on need toredad Mylari kõlarid sees, kui need lahti võtta. Kui olete seal, saate tõenäoliselt ka alalisvoolu tünni ja nupu.

  • Dupont / Jumper kaablid - 0,99 £
  • DS1307 reaalajas kella moodul - 0,99 £ (soovitan selle asemel hankida DS3231, kui see on saadaval)
  • Arduino nano + USB -kaabel - 2,23 naela
  • 8 oomi Mylar kõlar - 0,99 naela
  • SPST hetkeline nupp - 1,49 £
  • 5,5 mm alalisvoolu tünni pistikupesa - 1,26 £
  • 5v, 0,5A alalisvoolu toide - 2,83 naela
  • MAX7219 Dot maatriksi ekraan - 3,76 £

Korpus (korpuse materjalide maksumus = 17,19 £)

  • 60 mm ruudukujuline äravoolutoru - 5,99 naela (teil on seda projektide jaoks PALJU üle jäänud)
  • Must pihustusvärv - 4,85 naela
  • Must PVC (vahtplaat) - 2,99 naela
  • Superliim - 0,99 naela
  • 60 mm otsakatted - 2,37 naela

Kogumaksumus = 30,24 naela:-) …….. tänaseks võrdub see rahvusvaheliste lugejate jaoks 38 USD-ga.

Mulle meeldib töötada ruudukujulise PVC toruga. Neid on lihtne puurida, lõigata, värvida ja ma kasutasin seda oma Steampunk kella jaoks.

Samm: valmistage äravoolutoru ette

Valmistage äravoolutoru ette
Valmistage äravoolutoru ette

Märkige, kuhu soovite asju paigutada

See oli nii lihtne. Ma ei kasutanud midagi uhket. Kõigepealt lõikasin häkkimissaega 2,5 m pikkuse kodus pingile mõistliku suuruse (umbes 30 cm). Hiljem lõikasin selle dremeliga maha, et servad oleksid kenad ja sirged. Seejärel toetasin komponendid toru pinnale ja märkasin alalise turuga, kuhu puurida ja lõigata soovin. Jälgisin LED-maatriksi välispinda ja lõikasin pöörleva multifunktsionaalse tööriista abil ruudukujulise augu, et see sobiks ühtlaselt. Ma kasutasin digitaalse nihikuga surunupu ja alalisvoolu tünni läbimõõdu mõõtmiseks, et lõigata taga ja ülaosas õiges suuruses augud.

Lõika raam

Mul on varasematest projektidest palju PVC vahtplaate. Need sobivad suurepäraselt vooluahelate paigaldamiseks korpustesse, kasutades seda epoksüvaigu segamiseks ja muude juppide valmistamiseks. Võtke A4 või A5 suurusega tükk ja lõigake LED -maatriksi raamimiseks ruudukujuline 5 mm ümbris või raam. See peidab kõik närvilised otsad, mille tegite maatriksi ruudukujulise augu lõikamisel. Selleks joonistasin Inkscape'ile väikese malli ja printisin selle välja (SVG -fail lisatud). Seejärel teipisin selle maalriteibiga vahtplaadi külge ja lõikasin käsitöönoaga ettevaatlikult selle ümber. Õigeks saamine on keeruline, soovitan kõigepealt lõigata seestpoolt ja seejärel väljastpoolt.

Värvige kõik

Kui kõik augud on puuritud ja lõigatud, eemaldage kõik kõrbenud servad. Puhastage pinnad mõne alkoholiga niisutatud salvrätikuga, et eemaldada tolm või reostus (või mõni odav aftershave, kui teil pole IPA -d). Proovige pihustada hästi ventileeritavas kohas ja kasutage võimaluse korral maski. Ma tegin seda väljas papist põrandal, kuid see pole ideaalne, isegi väike tuuleke võib põhjustada värvi tagasilöögi näole. Olge ettevaatlik ja kandke võimaluse korral kaitsevarustust.

Pihustage toru, raam ja otsakatted nii, et need oleksid sama tüüpi mustad, ja laske seejärel paar tundi kuivada.

Samm: programmeerige Arduino

Programmeerige Arduino
Programmeerige Arduino

Veidi teavet koodi kohta

Krediit GeckoDiode'ile, kuna olen võtnud tema koodi ja muutnud seda MAX7219 kiibiga töötamiseks. Adafruit'i versioon kasutab I2C -bussi ja MAX kasutab SPI -bussi. Selleks kasutasin MaxMatrixi raamatukogu, mille laadisin alla ja installisin Arduino IDE -sse. Kui soovite rohkem teada saada MaxMatrixi ja selle kohta, kuidas LED -maatriks põhimõtteliselt töötab, on veebisaidil HowToMechatronics.com väga lühike õpetus. LED-maatriks koosneb ainult ühevärvilistest LED-idest, mitte mitmevärvilisest ekraanist.

Üks pettumus oli see, et ei ole selgeid määratlusi selle kohta, millised on raamatukogu funktsioonid ja millised argumendid tuleb igaühele edastada. Õnneks suutsin katse -eksituse meetodil teada saada, mis mida tegi ja lõpuks ei olnud selle nõuetekohaseks toimimiseks liiga keeruline. Esimene asi, mida mõista, on see, et peate määratlema, mitu 8x8 moodulit teie maatriksis on. Minu koodis on see salvestatud täisarvuna, mida nimetatakse "mooduliteks":

"int moodulid = 4;"

See on NUMBER 8x8 moodulist, mille olete oma ekraanil kokku linginud. Mitte LED -ide arv ega see, millist tihvti te kasutate saatmisandmeid. Järgmine asi, mida meeles pidada, on see, et kui teie "sprite" või mis iganes katab kõik neli maatriksit, tuleb baitmassiiv määratleda järgmiselt:

"bait text_start_bmp = {32, 8,…*mõned baitandmed*…};"

Numbrid näitavad maatriksi ridade ja veergude arvu. Sel juhul kuvatakse bait nimega "text_start_bmp" 32 veerus ja 8 reas. Numbrid kuvatakse ainult ühel 8x8 maatriksil, nii et minuti number 10 näeb välja selline:

"bait minute_ten_bmp = {8, 8,…*mõned baitandmed*…};"

Sissetungijad katavad kaks maatriksit, nii et baitidele antakse baitide andmetes 16, 8.

Teine asi, mis mind välja tõmbas, oli sprite andmete positsioneerimine. Võite paluda Arduino'l kuvada sprite maatriksil erinevas X/Y positsioonis kui vaikimisi koduasend. Null -minuti kood näeb välja selline:

"matrix.writeSprite (8, 0, minute_zero_bmp);"

Üks number on X korrigeerimine ja teine on Y. Ei mäleta, milline neist on praegu, kuid kui soovite sprite'i 1 rea või veeru võrra üles või alla nihutada, suurendate seda lihtsalt positiivse või miinusena. Piisavalt lihtne 8x8 maatriksi jaoks, kuid kui teie sprite katab rohkem kui ühe maatriksi, peate koduasendi vastavalt seadma. "POP" sprite on näidatud allpool:

"matrix.writeSprite (16, 0, invader_pop_bmp);"

Pange nüüd tähele, kuidas koduasend on 16, mitte 8? Siin näitab kood, et sprite kuvatakse vasakult paremale positsioonirealt/veerult 16. See peab kahte 8x8 kuvarit üheks 16x8 kuvariks, kuigi neid on 4! Seetõttu on oluline mõelda, kui palju kuvasid sprite kuvatakse, ja vastavalt iga spriti baitmassiivi suurust muuta. Vastasel juhul on teil väga huvitavaid asju!

DS1307 RTC

Kuigi DS1307 töötab koos Adafruit RTClib.h raamatukoguga hästi, ei saa te käsitsi määrata aega, mis on lihtsalt valus. Ma lihtsalt läksin selle juurde, sest see tähendas vähem koodi muutmist. DS1307 määrab aja, kasutades kellaaega ja kuupäeva, mil kood arvutite ajast koostati. Selle asemel õppige kasutama DS3231 kogu ja seadke see üks kord kaheks minutiks ette. Sellel on ka vähem "triivi", nii et see hoiab aega aja jooksul paremini. Mõlemad moodulid kasutavad I2C siinit ja ma usun, et DS3231 saab kasutada koos RTClib.h -ga, kui soovite selle kasutamist jätkata.

Laadige kood üles

Kui olete koodiga rahul, laadige see Arduinosse. Lisasin teie kaalumiseks oma Arduino visandi.

4. samm: elektroonika kokkupanek

Elektroonika kokkupanek
Elektroonika kokkupanek

Koodi üleslaadimisel soovitaksin lasta elektroonika koos duponti-/hüppajajuhtmetega leivaplaadil kõigepealt kokku panna, nii et koodi üleslaadimisel teate, et kõik toimib ettenähtud viisil. See võimaldab teil enne liimimise ja kleepimise alustamist kõik probleemid sprite jms kuvamisega siluda. Minu koodis näete, et kasutan digitaalseid tihvte 4, 5, 6, 7, 9, kuid vajadusel saate neid muuta. Võimalik, et peate kaablid jootma nupule, alalisvoolu pistikupesale ja kõlarile, kuid enamik neist peaks olema hõlpsasti tõmmatavad pistikud.

Kui olete õnnelik, töötab elektroonika ettenähtud viisil, peaksite kaaluma ühenduste jootmist. Seda saate teha vasest ribalauaga/veroboardiga, kuid väikese koguse komponentide puhul saate joota otse Arduino tihvtide külge. See näeb välja nagu rottide pesa, kuid keegi ei näe korpuse sees niikuinii, kui see on kokku pandud, lihtsalt veenduge, et kõik metallosad oleksid eraldatud, te ei soovi, et juhtumil oleks midagi lühikest.

Olen pannud nupu tööle, kui "mainButton" tihvt madalale tõmmatakse. Ma leidsin, et Arduino tundis ära vale vajutusnupu, kui sellele hõljus ujuv elektroonika. Selle probleemi lahendas minu jaoks 10K väljatõmmatava takisti kasutamine surunupul ja nööpnõela seadmine asendisse „INPUT_PULLUP”.

Lisatud on skemaatiline PDF ja PNG, nii et teate, kuhu tihvtid ühendada.

Samm: paigaldage elektroonika ja sulgege

Paigaldage elektroonika ja lähivõte
Paigaldage elektroonika ja lähivõte
Paigaldage elektroonika ja lähivõte
Paigaldage elektroonika ja lähivõte

Kella jaoks paigaldasin elektroonika kuuma liimi abil, kuid olge ettevaatlik, et mitte liiga palju peale kanda (elektroonikale ei meeldi liiga pikk kuumutamine). Ma kasutasin väikest tilka superliimi, mis oli ümbritsetud raami ümber ja surusin selle esiküljele. Lõpetasin korpuse, surudes mõlemas otsas otsakorgid sisse. Loomulikult võite liimida otsakorgid komplekti täielikuks sulgemiseks, kuid ma jätsin oma ühe külje lahti, et saaksin siiski arduino USB -porti juurde pääseda, et tulevikus kuupäeva ja kellaaega lähtestada.

6. samm: naudi

Nautige
Nautige
Nautige
Nautige

Üldiselt olen selle väljanägemisega rahul, arvestades seda vaid mõne vihmaveetoru ja pihustusvärviga. Loodan, et teile meeldib see ja andke mulle teada, kui leiate mõne laheda täienduse, mida saab lisada. Mind huvitaks, kas keegi saab seda odavamalt teha või on mõni muu säästlik viis korpuse valmistamiseks, mida saan oma järgmises projektis proovida.

Soovitan: