Kazalo:

Arduino Riddlebox: 4 koraki (s slikami)
Arduino Riddlebox: 4 koraki (s slikami)

Video: Arduino Riddlebox: 4 koraki (s slikami)

Video: Arduino Riddlebox: 4 koraki (s slikami)
Video: 35 видео со страшными призраками: мегасборник 2023 года [V1] 2024, November
Anonim
Arduino Riddlebox
Arduino Riddlebox

V tem navodilu vam bom pokazal, kako narediti Riddlebox z Arduino pogonom. To sem naredil, da sem svojim dekletom dodal malo zabave ob božičnem darilu, ki sem ga skril v predel škatle.

Ko priključite 5V na kabel USB, se Arduino vklopi in na LCD -prikazovalniku se prikaže kratek vodič in nato zaporedje desetih ugank, ki jih je treba rešiti, da odprete predal za servo krmiljenje, v katerem je lahko darilo ali darilo.

Obstaja tudi skriven meni z nastavitvami, zaščiten z geslom, za ponastavitev napredka in odpiranje predelka.

Uporabil sem tisto, kar sem našel v lokalni trgovini s strojno opremo, ostalo pa natisnil v 3D. Očitno lahko Riddlebox prilagodite tako, da dodate več senzorjev ali izpustite nekatere dele. Naj bo vaša ustvarjalnost prosta.

Boste potrebovali:

  • Arduino Mega (lahko tudi Uno zadošča)
  • Prilagodljive mostične žice
  • Stikalo s ključem
  • Tipkovnica 4x4
  • I2C LCD 20x04
  • 2x servo motorja SG90
  • Aluminijasto ohišje
  • Kovinski tečaj
  • Aluminijasta pločevina
  • Obrezovalna žaga ali vrtljivo orodje z odrezanim kolesom
  • Pištola za vroče lepilo
  • Lepilo z visoko vezavo
  • USB ključek
  • Kovinska pilica

1. korak: Nastavitev strojne opreme

Nastavitev strojne opreme
Nastavitev strojne opreme

Najprej sem prototipno izdelal uganke z Arduinovo ploščo in komponentami, ki sem jih želel uporabiti, in sicer stikalom za tipke in tipkovnico. Če želite uporabiti kodo Arduino iz tega navodila, povežite dele, kot je opisano spodaj. Seveda lahko dodate in odstranite komponente ali uporabite različne zatiče, če le ustrezno spremenite kodo.

Večina tipkovnic ima pin za vsako vrstico in vsak stolpec. Ugotovite, kateri zatiči so vrstni zatiči, tako da pritisnete gumbe za zapiranje vezja, tako da pritisnete gumbe (glejte primer diagrama). Preostali 4 zatiči morajo biti zatiči stolpcev. (Opomba: včasih sta dva najbolj zunanja zatiča povezana z bakrenim polnilom na tiskanem vezju in ju lahko prezremo)

Nožice tipkovnice COL0 - COL3 priključite na nožice Arduino 12 - 9 in ROW0 - ROW3 na zatiče Arduino 8 - 5.

LCD je povezan prek I2C, zato so potrebni le štirje zatiči: SDA, SCL, 5V in GND.

Ključno stikalo ima tri položaje in šest zatičev: Oba C (skupna) zatiča greta na tla, oba zatiča z oznako NO (normalno odprta) pa na Arduino pin 22 oziroma 23. (Opomba: vhodi arduino so potegnjeni visoko, zato moramo ozemljitev priključiti le na skupne zatiče stikala)

Dva servomotorja se uporabljata za fizično odpiranje vrat predala in njihovo zaklepanje prek zapaha.

Priključite 5V in GND servomotorjev na Arduino in priključite signalne vodnike na naslednji način: zaklenite servo = pin 44, servo vrat = pin 45.

2. korak: Arduino koda in uganke

Arduino koda in uganke
Arduino koda in uganke
Arduino koda in uganke
Arduino koda in uganke

Koda za Arduino je sestavljena iz več datotek. Glavna skica sproži vso strojno opremo, knjižnice in globalne spremenljivke. Vse uganke in zapore menijev so shranjene v funkcijah v ločenih datotekah za enostavno upravljanje. Stanje napredka, ki je shranjeno v EEPROM -u (tj. Varno je tudi po powercylce), določa, katere funkcije uganke so poklicane v stikalni funkciji glavne datoteke.

Iz kode sem odstranil vse osebne podatke in nekatere rešitve zamenjal z generičnimi sluzi (1234…). Kodo lahko poljubno spremenite in dodate nekaj prilagojenih rešitev.

Uganke in zapore menija:

  1. Napredno: meni naprednih nastavitev s ponastavitvijo napredka in kontrolami predelkov.
  2. Uvod: Uvodni meni s pozdravnim besedilom in vadnico.
  3. Osnovno: Uganka, ki išče atomsko število joda.
  4. Zunanje izvajanje: Igralec se mora obrniti na e -poštni naslov, ki samodejno odgovori na uganko s številkami. (Zvezdasta uganka na slikah)
  5. Šestnajst: Igralec mora pretvoriti šestnajstiško število v decimalno.
  6. Izbira: Igralec mora dokončati besedilno avanturo, ki se nahaja na bliskovnem pogonu, geslo za naslednjo stopnjo je skrito v zgodbi. (glej Amnesia.rtf)
  7. Brez povezave: Igralec mora prejeti ključ, da aktivira stikalo za tipke (npr. Po pošti, način, da jih upočasni, če so prehitri).
  8. Nevidno: geslo za naslednjo stopnjo je napisano na kos papirja z nevidnim črnilom.
  9. Račun: Enostavno računsko opravilo. (Več nadomestnega mesta, ki se nikoli ni napolnilo, saj mi je zmanjkalo časa)
  10. Sprememba: Kratko uganko v zvezi z bankovci v evrih lahko prilagodite kateri koli valuti z različnimi barvnimi bankovci.
  11. Potrpežljivost: Igralec ne sme obračati ključa 5 minut, sicer se časovnik ponastavi in podvoji. (Opomba: Če dovolj pogosto obračate ključ, se spremenljivka prelije in se zaradi omejene velikosti ponastavi na nič.)
  12. Odgovor: "Kaj je odgovor?". Rešitev je očitno 42.
  13. Končni zaslon: Čestitke in navodila ob odprtju predala. (prek stikala za ključe)

V datoteko s kodo sem vključil dodatno dokumentacijo v obliki komentarjev.

Opomba: če pritisnete 'A' med začetnim zaslonom, se odpre meni z nastavitvami. Geslo: 2582

3. korak: Izdelava prednje plošče

Izdelava prednje plošče
Izdelava prednje plošče
Izdelava prednje plošče
Izdelava prednje plošče
Izdelava prednje plošče
Izdelava prednje plošče

Ohišje sem skupaj z aluminijasto pločevino kupil v lokalni trgovini s strojno opremo. Priložen je ločilnik, ki sem ga kasneje ponovno uporabil za ustvarjanje sten predelka.

Aluminijasta pločevina je bila preširoka, zato sem jo zapisal in skrajšal z žago. Lahko pa bi se bolje prilegali drsni žagi, vrtljivemu orodju ali celo brusilniku z odrezanim kolesom, saj sem potreboval starost in sem pri tem zaskočil dva rezila. Vrzel na sprednji strani ohišja je namerna. Omogoča prostor za namestitev powerbank in pomnilniškega ključa.

Ko sem označil, kam želim, da bi šlo, sem izvrtal luknje v vogalih označenih odsekov in jih znova izrezal z žago za spopadanje. Za oddelek predelka sem poskusil z odrezanim kolesom na brusilniku in delovalo je fantastično. Za rezanje odprtin sem uporabil kovinsko pilico, da se prilega komponentam in jih odstrani. Hitra podaja z orbitalnim brusilnikom je dala vse mat površino. To je seveda popolnoma neobvezno, aluminijasto ploščo sem precej pobrusil, zato se mi je brušenje zdelo dober način, da jih skrijem in odstranim ostrine.

Vrata v predel so preprosto odrezan kos preostale aluminijaste pločevine.

Tečaj sem pritrdil na vrata in kovinsko ploščo z lepilom za visoko vezavo. Nanesemo ga na obe površini, pustimo, da se strdi 10-20 minut. nato se obe strani stisneta skupaj. Vez je takojšnja in pozneje ni mogoče prilagoditi dveh kosov.

Tipkovnica in LCD zaslon se držita na mestu z vročim lepilom ob straneh. (Opomba: Zatiče sestavnih delov izolirajte iz aluminijaste pločevine. Nekaj trika vročega lepila pomaga)

Ključavnica ima navoj in matico, zato sem izvrtal luknjo pravilne velikosti in stikalo namestil.

Da bi se predal samodejno odprl, sem z vročim lepilom na spodnjo stran aluminijaste pločevine pritrdil vrata in zaklenil servomotorje. Zaklepni kavelj in ročico za odpiranje ter zapah za zaklepanje sem upognil, da sem oblikoval iz nekaterih nosilcev (podobno kot plubmers trak). V hinesight -u bi lahko in verjetno moral imeti 3D -natisnjene te komponente, saj so na ta način nekoliko šibke in verjetno bodo prve neuspešne. Te dele sem pritrdil z vročim lepilom in lepilom z visoko vezavo (glej slike).

Ker sprednja stran ni bila videti tako lepa, sem se odločil, da natisnem nekaj okvirjev, da obidem različne komponente, in jih pritrdil tudi z vročim lepilom.

4. korak: Dokončanje primera

Dokončanje primera
Dokončanje primera
Dokončanje primera
Dokončanje primera

Kot sem že omenil, je do primera prišlo nekaj deliteljev. Odločil sem se za aranžma, da bi ustvaril grob predel in nekaj prostora za Arduino, nato pa z lepilom z visoko vezavo popravil vse na svojem mestu.

Po priključitvi vseh komponent na Arduino Mega in vročem lepljenju na ohišje sem kabel USB napajal skozi majhno odprtino med delilniki, tako da je bil dostopen od zunaj.

Ko sem aluminijasto ploščo previdno spustil v njen končni položaj, sem jo pritrdil s pritiskom šobe pištole za vroče lepilo na šiv med ploščo in ohišjem ter potisnil lepilo v režo. Sprva sem bil skeptičen glede pomanjkljivosti te metode pritrditve, vendar se je do zdaj zadržalo.

Zadnja stvar, ki jo je preostalo, je bila nanesti nekaj zaključnih pik. V MS Publisher sem oblikoval nekaj preprostih nalepk, ki sem jih natisnil, izrezal in pritrdil na sprednjo ploščo s preprosto lepilno palico.

Seveda je odvisno od vas, ali in koliko nalepk želite izdelati in pritrditi. Tudi to je lahko dobra priložnost za vadbo nekaterih tehnik preperevanja, da bo vse skupaj videti nekoliko bolj slabo. Žal mi je to prišlo samo med pisanjem tega navodila.

Kakorkoli, upam, da ste uživali v tej različici Riddlebox. Če imate kakršna koli vprašanja ali ideje za izboljšanje, mi pustite komentar spodaj in poskušal vam bom odgovoriti v najkrajšem možnem času.

Priporočena: