Arduino Riddlebox: 4 koraka (sa slikama)
Arduino Riddlebox: 4 koraka (sa slikama)
Anonim
Arduino zagonetka
Arduino zagonetka

U ovom Instructable -u pokazat ću vam kako napraviti Riddlebox sa Arduino pogonom. Napravila sam ovo kako bih svojim djevojkama dodala malo zabave u stvarni božićni poklon, koji sam sakrila u odjeljak kutije.

Nakon što se 5V spoji na USB kabel, Arduino se uključuje i LCD prikazuje kratki vodič, a zatim niz od deset zagonetki, koje je potrebno riješiti da biste otvorili odjeljak s servo pogonom, koji može držati poklon ili poklon.

Tu je i skriveni izbornik postavki zaštićen lozinkom za poništavanje napretka i otvaranje pretinca.

Koristio sam ono što sam mogao pronaći u svojoj lokalnoj trgovini hardvera, a 3D sam ispisao. Očito možete prilagoditi Riddlebox dodavanjem više senzora ili izostavljanjem nekih dijelova. Neka vam kreativnost bude slobodna.

Trebat će vam:

  • Arduino Mega (Uno bi također mogao biti dovoljan)
  • Fleksibilne kratkospojne žice
  • Prekidač s ključem
  • Tipkovnica 4x4
  • I2C LCD 20x04
  • 2x SG90 servo motora
  • Aluminijsko kućište
  • Metalne šarke
  • Aluminijski lim
  • Pila za suočavanje ili rotacijski alat s odrezanim kotačem
  • Pištolj za vruće ljepilo
  • Ljepilo za visoko vezivanje
  • USB flash pogon
  • Metalna turpija

Korak 1: Postavljanje hardvera

Postavljanje hardvera
Postavljanje hardvera

Prvo sam prototipirao zagonetke, s Arduinom kao ploču za osmišljavanje i komponente koje sam želio koristiti, naime prekidač za tipke i tipkovnicu. Da biste koristili Arduino kôd iz ove upute, spojite dijelove kako je dolje opisano. Naravno da možete dodavati i uklanjati komponente ili koristiti različite pinove, sve dok unesete odgovarajuće izmjene u kôd.

Većina tipkovnica ima pin za svaki redak i svaki stupac. Saznajte koji su pinovi igle redaka, testiranjem kontinuiteta između različitih pinova pritiskom na gumbe za zatvaranje kruga (pogledajte primjer sheme). Preostale 4 igle moraju biti igle stupaca. (Napomena: ponekad su dva vanjska pina spojena na bakreno punjenje na PCB -u i mogu se zanemariti)

Spojite pinove tipkovnice COL0 - COL3 na Arduino pinove 12 - 9 i ROW0 - ROW3 na Arduino pinove 8 - 5.

LCD je povezan preko I2C, pa su potrebna samo četiri pina: SDA, SCL, 5V i GND.

Prekidač s ključem ima tri položaja i šest pinova: Oba C (zajednička) pina idu na masu, dok dva pina označena s NO (normalno otvorena) idu na Arduino pin 22 odnosno 23. (Napomena: arduino ulazi visoko su povučeni, pa samo moramo spojiti masu na zajedničke pinove prekidača)

Dva servo pogona koriste se za fizičko otvaranje vrata odjeljka i njihovo zaključavanje pomoću zasuna.

Spojite 5V i GND servo upravljača na Arduino i spojite signalne vodove na sljedeći način: zaključajte servo = pin 44, servo vrata = pin 45.

Korak 2: Arduino kod i zagonetke

Arduino kod i zagonetke
Arduino kod i zagonetke
Arduino kod i zagonetke
Arduino kod i zagonetke

Kod za Arduino sastoji se od nekoliko datoteka. Glavna skica pokreće sav hardver, knjižnice i globalne varijable. Sve zagonetke i zaključavanja izbornika pohranjeni su u funkcijama u zasebne datoteke radi lakšeg upravljanja. Stanje napretka, koje je spremljeno u EEPROM -u (tj. Sigurno je i nakon powercylce), određuje koje se funkcije zagonetke pozivaju u funkciji prebacivanja glavne datoteke.

Uklonio sam sve osobne podatke iz koda i zamijenio neka rješenja generičkim sluzi (1234 …). Slobodno promijenite kôd po svom nahođenju i dodajte neka prilagođena rješenja.

Zagonetke i zaključavanja menija:

  1. Napredno: izbornik naprednih postavki s resetiranjem napretka i kontrolama odjeljka.
  2. Uvod: Izbornik s uvodnim tekstom i vodičem.
  3. Osnovno: Zagonetka koja traži atomski broj joda.
  4. Outsourcing: Igrač mora kontaktirati adresu e -pošte koja automatski odgovara na zagonetku broja. (Zagonetka u obliku zvijezde na slikama)
  5. Šesnaest: Igrač mora pretvoriti heksadecimalni broj u decimalni.
  6. Izbori: Igrač mora dovršiti tekstualnu avanturu koja se nalazi na flash pogonu, lozinka za sljedeću razinu skrivena je u priči. (vidi Amnesia.rtf)
  7. Izvanmrežno: Igrač mora primiti ključ da bi aktivirao prekidač ključa (npr. Putem pošte, način na koji ih može usporiti ako su prebrzi).
  8. Nevidljivo: Lozinka za sljedeću razinu napisana je na komadu papira nevidljivom tintom.
  9. Račun: Jednostavan zadatak računanja. (Više rezervirano mjesto koje se nikad nije popunilo jer mi je ponestalo vremena)
  10. Promjena: Kratka zagonetka u vezi euro novčanica može se prilagoditi bilo kojoj valuti s novčanicama različitih boja.
  11. Strpljenje: Igrač ne smije okretati ključ 5 minuta, inače se mjerač vremena poništava i udvostručuje. (Napomena: Okretanjem ključa dovoljno često dolazi do prelijevanja varijable i vraćanja na nulu zbog njene ograničene veličine.)
  12. Odgovor: "Koji je odgovor?". Rješenje je očito 42.
  13. Završni zaslon: Čestitamo i upućujemo vas na otvaranje pretinca. (preko prekidača za ključeve)

Daljnju dokumentaciju u obliku komentara uključio sam u datoteke koda.

Napomena: držanjem 'A' tijekom početnog zaslona otvara se izbornik postavki. Lozinka: 2582

Korak 3: Izgradnja prednje ploče

Izrada prednje ploče
Izrada prednje ploče
Izrada prednje ploče
Izrada prednje ploče
Izrada prednje ploče
Izrada prednje ploče

Kupila sam kućište u svojoj lokalnoj trgovini željeza zajedno s aluminijskim limom. Došao je s razdjelnicima koje sam kasnije ponovno upotrijebio za stvaranje zidova odjeljka.

Aluminijski lim bio je preširok, pa sam ga ispisao i skratio testerom. No, možda bi bolje pristajala pila za paljenje, rotacijski alat ili čak brusilica s odrezanim kotačem jer su mi trebale godine i pritom sam pucnuo dvije oštrice. Praznina u prednjem dijelu kućišta je namjerna. Omogućuje prostor za postavljanje powerbank i memorijske kartice.

Nakon što sam označio gdje želim da sve ide, izbušio sam rupe u uglovima označenih dijelova i ponovno ih izrezao pomoću pile za suočavanje. Za odjeljak odjeljka isprobao sam odrezani kotač na brusilici, i to je fantastično funkcioniralo. Koristio sam metalnu turpiju za podrezivanje otvora tako da stane na komponente i skine ih. Brzo dodavanje s orbitalnom brusilicom dalo je svemu mat izgled. Ovo je naravno potpuno neobavezno, dosta sam ogrebao aluminijsku ploču, pa se brušenje činilo dobrim načinom da ih sakrijem i uklonim oznake na oštrici.

Vrata odjeljka jednostavno su odrezani komadi zaostalog aluminijskog lima.

Šarke sam pričvrstio na vrata i metalnu ploču ljepilom za visoko vezivanje. Nanosi se na obje površine, ostavlja da se stvrdne 10-20 min. a zatim se obje strane pritisnu zajedno. Veza je trenutna i nema načina da kasnije prilagodite dva dijela.

Tipkovnica i LCD zaslon drže se na mjestu s vrućim ljepilom sa strana. (Napomena: Pazite da izolirate igle komponenti od aluminijskog lima. Malo vrućeg ljepila uspijeva)

Prekidač za ključ ima navoj i maticu, pa sam izbušio rupu odgovarajuće veličine i uklopio prekidač.

Kako bi se pretinac automatski otvorio, vrućim ljepilom pričvrstio sam vrata i servo pogone na donju stranu aluminijskog lima. Kuku za zaključavanje i polugu za otvaranje i zasun za savijanje savio sam kako bih oblikovao neke zagrade (slično kao traka za plummers). U hinesight -u sam mogao i vjerojatno trebao imati 3D ispisane ove komponente jer su na ovaj način nekako slabe i vjerojatno će to biti prva greška. Ove sam dijelove pričvrstio vrućim ljepilom i ljepilom s visokim ljepljenjem (vidi slike).

Budući da prednja strana nije izgledala tako lijepo, odlučio sam ispisati neke okvire kako bih obišao različite komponente i pričvrstio ih vrućim ljepilom.

Korak 4: Dovršavanje slučaja

Dovršavanje slučaja
Dovršavanje slučaja
Dovršavanje slučaja
Dovršavanje slučaja

Kao što sam ranije spomenuo, slučaj je došao s nekim djeliteljima. Odlučio sam se za aranžman za stvaranje grubog pretinca i malo prostora za Arduino, a zatim sam upotrijebio ljepilo s visokim ljepljenjem kako bih sve popravio na mjestu.

Nakon što sam spojio sve komponente na Arduino Mega i vruće ih zalijepio za kućište, izvukao sam USB kabel kroz mali otvor između razdjelnika, tako da je bio dostupan s vanjske strane.

Nakon što sam pažljivo spustio aluminijsku ploču u krajnji položaj, učvrstio sam je pritiskom na mlaznicu pištolja za vruće ljepilo na šav između ploče i kućišta i gurnuo ljepilo u otvor. U početku sam bio skeptičan u pogledu pogrešnosti ove metode fiksiranja, ali to se do sada zadržalo.

Posljednje što je preostalo bilo je nanijeti neke završne detalje. Dizajnirao sam nekoliko jednostavnih naljepnica u MS Publisher -u koje sam ispisao, izrezao i pričvrstio na prednju ploču jednostavnim ljepilom.

Naravno, na vama je da li i koliko naljepnica želite izraditi i pričvrstiti. Također, ovo bi mogla biti dobra prilika za vježbanje nekih tehnika izdržavanja vremenskih uvjeta kako bi sve to izgledalo još lošije. Nažalost, ovo mi je palo na pamet samo dok sam pisao ovaj Instructable.

U svakom slučaju, nadam se da ste uživali u ovoj verziji Riddleboxa. Ako imate bilo kakvih pitanja ili ideja za poboljšanje, ostavite mi komentar ispod i pokušat ću vam se javiti što je prije moguće.

Preporučeni: