Indholdsfortegnelse:

Arduino Riddlebox: 4 trin (med billeder)
Arduino Riddlebox: 4 trin (med billeder)

Video: Arduino Riddlebox: 4 trin (med billeder)

Video: Arduino Riddlebox: 4 trin (med billeder)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Arduino Riddlebox
Arduino Riddlebox

I denne Instructable vil jeg vise dig, hvordan du laver en Arduino -drevet Riddlebox. Jeg lavede dette for at tilføje lidt sjov til min venindes egentlige julegave, som jeg gemte inde i kassen.

Når 5V er påført USB -kablet, tændes Arduino, og LCD'et viser en kort vejledning og derefter en sekvens på ti gåder, som skal løses for at åbne det servodrevne rum, som kan indeholde en gave eller gave.

Der er også en lusket, adgangskodebeskyttet, indstillingsmenu til nulstilling af fremskridt og åbning af rummet.

Jeg brugte det, jeg kunne finde i min lokale isenkræmmer, og 3D printede resten. Det er klart, at du kan tilpasse Riddlebox ved at tilføje flere sensorer eller udelade nogle dele. Lad din kreativitet løbe frit.

Du får brug for:

  • Arduino Mega (en Uno kan også være tilstrækkelig)
  • Fleksible jumperwires
  • Nøglekontakt
  • Tastatur 4x4
  • I2C LCD 20x04
  • 2x SG90 servomotorer
  • Aluminiumskasse
  • Metal hængsel
  • Aluminiumsplade
  • Kopsav eller roterende værktøj med et afskæringshjul
  • Varm limpistol
  • Lim med høj limning
  • USB-stik
  • Metalfil

Trin 1: Opsætning af hardwaren

Opsætning af hardware
Opsætning af hardware

Jeg prototypede først gåderne, med Arduino et brødbræt og de komponenter, jeg ville bruge, nemlig nøglekontakten og tastaturet. For at bruge Arduino -koden fra denne instruerbare som den er, skal du forbinde delene som beskrevet nedenfor. Selvfølgelig kan du tilføje og fjerne komponenter eller bruge forskellige ben, så længe du foretager de nødvendige ændringer af koden.

De fleste tastaturer har en nål til hver række og hver kolonne. Find ud af, hvilke stifter der er radstifterne, ved at teste kontinuitet mellem forskellige ben, mens du trykker på knapper for at lukke kredsløbet (se eksempeldiagram). De resterende 4 ben skal være søjlestifterne. (Bemærk: nogle gange er de to mest udvendige stifter forbundet med kobberfyldningen på printkortet og kan ignoreres)

Tilslut tastaturets ben COL0 - COL3 til Arduino ben 12 - 9 og ROW0 - ROW3 til Arduino ben 8 - 5.

LCD'et er forbundet via I2C, så der er kun brug for fire ben: SDA, SCL, 5V og GND.

Nøglekontakten har tre positioner og seks ben: Begge C (almindelige) ben går til jorden, mens de to ben mærket NO (normalt åbne) går til henholdsvis Arduino pin 22 og 23. (Bemærk: arduinoindgange trækkes højt, så vi behøver kun at forbinde jorden til switchens fælles stifter)

De to servoer bruges til fysisk at åbne rumdøren og til at låse den via en lås.

Tilslut 5V og GND på servoerne til Arduino og tilslut signallinjerne som følger: lås servo = pin 44, dør servo = pin 45.

Trin 2: Arduino -kode og gåder

Arduino kode og gåder
Arduino kode og gåder
Arduino kode og gåder
Arduino kode og gåder

Koden til Arduino består af flere filer. Hovedskitsen initierer al hardware, biblioteker og globale variabler. Alle gåder og menublokke gemmes i funktioner i separate filer for nem håndtering. Fremskridtstilstanden, som gemmes i EEPROM (dvs. er sikker, selv efter powercylce), bestemmer hvilke gådefunktioner der kaldes i switchfunktionen i hovedfilen.

Jeg fjernede alle personlige oplysninger fra koden og erstattede nogle løsninger med generiske opløsninger (1234…). Du er velkommen til at ændre koden, som du finder passende, og tilføje nogle personlige løsninger.

Gåde og menublokke:

  1. Avanceret: Menuen Avancerede indstillinger med nulstilling af fremskridt og rumkontrol.
  2. Intro: Intro -menu med hilsenstekst og selvstudium.
  3. Elementær: Riddle aksing for atomnummeret for jod.
  4. Outsourcing: Spilleren skal kontakte en e -mail -adresse, der automatisk spiller en nummeregåde. (Stjerneformet gåde i billeder)
  5. Seksten: Spilleren skal konvertere et hex -tal til decimal.
  6. Valg: Spilleren skal gennemføre et teksteventyr placeret på et flashdrev, adgangskoden til det næste niveau er skjult i historien. (se Amnesia.rtf)
  7. Offline: Spilleren skal modtage nøglen for at aktivere nøglekontakten (f.eks. Via mail, gread måde at bremse dem, hvis de er for hurtige).
  8. Usynlig: Adgangskoden til det næste niveau skrives på et stykke papir med usynligt blæk.
  9. Regning: Enkel beregningsopgave. (Mere en pladsholder, der aldrig blev fyldt, da jeg løb tør for tid)
  10. Ændring: Kort gåte om eurosedler, kan tilpasses enhver valuta med sedler i forskellige farver.
  11. Tålmodighed: Spilleren må ikke dreje nøglen i en periode på 5 minutter, ellers nulstilles timeren og fordobles. (Bemærk: Hvis du drejer nøglen ofte nok, får variablen til at flyde over og nulstilles på grund af dens begrænsede størrelse.)
  12. Svaret: "Hvad er svaret?". Løsningen er naturligvis 42.
  13. Slutskærm: Tillykke og instruktioner om åbning af rummet. (via nøglekontakten)

Jeg har inkluderet yderligere dokumentation i form af kommentarer i kodefilerne.

FYI: ved at holde 'A' under stænkskærmen åbnes indstillingsmenuen. Adgangskode: 2582

Trin 3: Opbygning af frontpladen

Opbygning af frontpladen
Opbygning af frontpladen
Opbygning af frontpladen
Opbygning af frontpladen
Opbygning af frontpladen
Opbygning af frontpladen

Jeg købte sagen i min lokale isenkræmmer sammen med aluminiumspladen. Det fulgte med skillevægge, som jeg senere genbrugte til at skabe rumvæggene.

Aluminiumspladen var for bred, så jeg skrev og forkortede den med en sav. En rullesav, et roterende værktøj eller endda en kværn med et afskæringshjul kan dog passe bedre, da det tog mig lang tid, og jeg knækkede to knive i processen. Gabet i sagens forside er forsætligt. Det giver plads til at placere en powerbank og en memory stick.

Efter at have markeret, hvor jeg ville have alt til at gå, borede jeg huller i hjørnerne af de markerede sektioner og skar dem ud ved hjælp af håndteringssaven igen. Til kammersektionen forsøgte jeg et afskæringshjul på en kværn, og det fungerede fantastisk. Jeg brugte en metalfil til at trimme åbningerne for at passe til komponenterne og afgratte dem. Et hurtigt pas med orbitalsliberen gav det hele en mat finish. Dette er selvfølgelig helt valgfrit, jeg ridsede aluminiumspladen meget op, så slibning virkede som en god måde at skjule dem og fjerne mine skarpe mærker.

Døren til rummet er simpelthen et afskåret stykke af den resterende aluminiumsplade.

Jeg fastgjorde hængslet til døren og metalpladen ved hjælp af limen med høj binding. Det påføres på begge overflader, får lov til at hærde i 10-20 minutter. og derefter presses begge sider sammen. Bindingen er øjeblikkelig, og der er ingen måde at justere de to stykker senere.

Tastaturet og LCD -displayet holder på plads med lidt varm lim rundt om siderne. (Bemærk: Sørg for at isolere stifterne på komponenterne fra aluminiumspladen. En klat varm lim gør tricket)

Nøglekontakten har en gevind og møtrik, så jeg borede et hul i den korrekte størrelse og satte kontakten igennem.

For at få rummet til at åbne automatisk fastgjorde jeg døren og låste servoer til undersiden af aluminiumspladen med lim. Låsekrogen og åbningshåndtaget og låselåsen bøjede jeg for at forme ud af nogle beslag (ligner plummers tape). Set i bakspejlet kunne og burde jeg sandsynligvis have 3D -printet disse komponenter, da de er lidt spinkle på denne måde og sandsynligvis vil være det første, der fejler. Jeg fastgjorde disse dele med henholdsvis hotlim og lim med høj binding (se billeder).

Fordi fronten ikke så særlig smuk ud på denne måde, besluttede jeg at printe nogle rammer for at gå rundt om de forskellige komponenter og vedhæfte dem også med varm lim.

Trin 4: Afslutning af sagen

Afslutning af sagen
Afslutning af sagen
Afslutning af sagen
Afslutning af sagen

Som jeg tidligere nævnte, kom sagen med nogle deviders. Jeg besluttede mig for en opstilling for at skabe et groft rum og lidt plads til Arduino og brugte derefter limen med høj binding til at fikse det hele på plads.

Efter at have tilsluttet alle komponenterne til Arduino Mega og varmt limet det ned til etui, førte jeg USB -kablet ud gennem den lille åbning mellem delerne, så det var tilgængeligt fra siden.

Efter forsigtigt at have tabt aluminiumspladen til sin endelige position fikserede jeg den på plads ved at trykke dysen på den varme limpistol til sømmen mellem pladen og kassen og tvinge limen ind i mellemrummet. Først var jeg skeptisk over for itegrety af denne fiksering metode, men det har holdt op indtil videre.

Det sidste, vi skulle gøre, var at påføre nogle sidste hånd. Jeg har designet nogle enkle klistermærker i MS Publisher, som jeg har printet, klippet ud og fastgjort til frontpladen med en simpel limpind.

Det er selvfølgelig helt op til dig, om og hvor mange klistermærker du vil lave og vedhæfte. Også dette kan være en god mulighed for at øve nogle vejrteknikker for at få det hele til at se lidt mere dårligt ud. Desværre kom dette kun til mig, mens jeg skrev denne Instructable.

Anyway, jeg håber, at du nød denne Riddlebox -build. Hvis du har spørgsmål eller forbedringsideer, skal du efterlade mig en kommentar herunder, og jeg vil prøve at vende tilbage til dig hurtigst muligt.

Anbefalede: