Sadržaj:

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

Video: Arduino Riddlebox: 4 koraka (sa slikama)

Video: Arduino Riddlebox: 4 koraka (sa slikama)
Video: ПЕРВАЯ СХЕМА НА АРДУИНО [Уроки Arduino #4] 2024, Novembar
Anonim
Arduino Riddlebox
Arduino Riddlebox

U ovom Instructableu ću vam pokazati kako napraviti Riddlebox sa Arduino pogonom. Ovo sam napravio kako bih svojim djevojkama dodao malo zabave u stvarni božićni poklon, koji sam sakrio 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 sa servo upravljanjem, koji može držati poklon ili poklon.

Tu je i skriveni meni sa postavkama zaštićen lozinkom za poništavanje napretka i otvaranje odjeljka.

Koristio sam ono što sam mogao pronaći u svojoj lokalnoj trgovini hardvera, a 3D sam odštampao. Očigledno, Riddlebox možete prilagoditi 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č sa ključem
  • Tastatura 4x4
  • I2C LCD 20x04
  • 2x SG90 servo motora
  • Aluminijsko kućište
  • Metalne šarke
  • Aluminijumski lim
  • Pila za suočavanje ili rotacijski alat s odrezanim kotačem
  • Pištolj za vruće ljepilo
  • Ljepilo za visoko vezivanje
  • USB fleš disk
  • Metalna turpija

Korak 1: Postavljanje hardvera

Postavljanje hardvera
Postavljanje hardvera

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

Većina tastatura ima pin za svaki red i svaku kolonu. Saznajte koji su pinovi pinovi reda, testiranjem kontinuiteta između različitih pinova pritiskom na gumbe za zatvaranje kola (pogledajte primjer dijagrama). Preostala 4 pina moraju biti igle kolone. (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 sa NO (normalno otvorena) idu na Arduino pin 22 i 23 respektivno. (Napomena: arduino ulazi su visoko povučeni, pa samo trebamo spojiti masu na zajedničke pinove prekidača)

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

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

Korak 2: Arduino kôd 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, biblioteke i globalne varijable. Sve zagonetke i zaključavanja menija 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 -a), određuje koje se funkcije zagonetke pozivaju u funkciji prebacivanja glavne datoteke.

Uklonio sam sve lične podatke iz koda i zamijenio neka rješenja generičkim službama (1234 …). Slobodno promijenite kôd po svom nahođenju i dodajte neka personalizirana rješenja.

Zagonetke i zaključavanja menija:

  1. Napredno: Meni naprednih postavki s resetiranjem napretka i kontrolama odjeljka.
  2. Uvod: Uvodni meni sa pozdravnim 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 fleš disku, lozinka za sljedeći nivo skrivena je u priči. (vidi Amnesia.rtf)
  7. Van mreže: 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 sledeći nivo napisana je na komadu papira nevidljivim mastilom.
  9. Račun: Jednostavan zadatak računanja. (Više mjesto koje se nikada 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čite boje.
  11. Strpljenje: Igrač ne smije okretati ključ u trajanju od 5 minuta, inače se tajmer resetira i udvostručuje. (Napomena: Okretanje ključa dovoljno često dovodi do prelijevanja varijable i vraćanja na nulu zbog njene ograničene veličine.)
  12. Odgovor: "Šta je odgovor?". Rješenje je očito 42.
  13. Završni ekran: Čestitamo i upućujemo vas na otvaranje pretinca. (preko prekidača)

Dodatnu dokumentaciju u obliku komentara uključio sam u datoteke kodova.

Napomena: držanjem 'A' tokom početnog ekrana otvara se meni postavki. Lozinka: 2582

Korak 3: Izgradnja prednje ploče

Izgradnja prednje ploče
Izgradnja prednje ploče
Izgradnja prednje ploče
Izgradnja prednje ploče
Izgradnja prednje ploče
Izgradnja prednje ploče

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

Aluminijumski lim je bio preširok, pa sam ga ispisao i skratio testerom. Međutim, motorna pila, rotacijski alat ili čak brusilica s odrezanim kotačem mogli bi bolje odgovarati, jer su mi trebale godine i pritom sam pucnuo dvije oštrice. Jaz na prednjoj strani kućišta je namjeran. Pruža prostor za postavljanje powerbank i memorijskog ključa.

Nakon što sam označio gdje želim da sve ide, izbušio sam rupe u uglovima označenih dijelova i ponovo ih izrezao pomoću testere za suočavanje. Za odjeljak odjeljka isprobao sam odsječeni točak na brusilici i radio je fantastično. Koristio sam metalnu turpiju za obrezivanje otvora kako bih uklopio komponente i skinuo ih. Brzo dodavanje sa orbitalnom brusilicom dalo je svemu mat izgled. Ovo je naravno potpuno neobavezno, dosta sam izgrebao aluminijsku ploču, pa se brušenje činilo dobrim načinom da ih sakrijem i uklonim oznake na ostrima.

Vrata pretinca jednostavno su odrezani komadi zaostalog aluminijskog lima.

Šarke sam pričvrstio na vrata i metalnu ploču pomoću ljepila 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 komada.

Tastatura i LCD zaslon se drže na mjestu sa vrućim ljepilom sa strana. (Napomena: Obavezno odvojite 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 provukao prekidač.

Da bi se pretinac automatski otvorio, pričvrstio sam vrata i zaključao servo pogone na donju stranu aluminijskog lima vrućim ljepilom. Kuku za zaključavanje i polugu za otvaranje i zasun za zaključavanje savio sam kako bih oblikovao neke zagrade (slično kao traka za zaptivanje). U hinesight -u sam mogao i vjerovatno trebao imati 3D štampanje ovih komponenti jer su na ovaj način pomalo slabe i vjerovatno će prvo propasti. Ove dijelove pričvrstio sam vrućim ljepilom i ljepilom za visoko vezivanje (pogledajte 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

Završavanje slučaja
Završavanje slučaja
Završavanje slučaja
Završavanje slučaja

Kao što sam ranije spomenuo, slučaj je došao s nekim djeliteljima. Odlučio sam se za aranžman kako bih stvorio grubi odjeljak 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 mu je bilo moguće pristupiti s vanjske strane.

Nakon što sam pažljivo spustio aluminijumsku ploču u krajnji položaj, fiksirao sam je pritiskom na mlaznicu pištolja za vruće ljepilo na šav između ploče i kućišta i silom ulijepio ljepilo. U početku sam bio skeptičan u pogledu greške ove metode fiksacije, ali to se do sada zadržalo.

Zadnje što je preostalo bilo je primijeniti neke završne detalje. Dizajnirao sam neke jednostavne naljepnice u MS Publisher -u koje sam odštampao, izrezao i pričvrstio na prednju ploču jednostavnim ljepilom.

Naravno, na vama je da li i koliko naljepnica želite napraviti i pričvrstiti. Također, ovo bi mogla biti dobra prilika za vježbanje nekih tehnika izdržavanja vremena 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 pitanja ili ideje za poboljšanje, ostavite mi komentar ispod i pokušat ću vam se javiti što je prije moguće.

Preporučuje se: