Spisu treści:

Arduino Riddlebox: 4 kroki (ze zdjęciami)
Arduino Riddlebox: 4 kroki (ze zdjęciami)

Wideo: Arduino Riddlebox: 4 kroki (ze zdjęciami)

Wideo: Arduino Riddlebox: 4 kroki (ze zdjęciami)
Wideo: Making My Own Puzzle Box! (Pt. 4/4) 2024, Listopad
Anonim
Arduino Riddlebox
Arduino Riddlebox

W tej instrukcji pokażę, jak zrobić Riddlebox z Arduino. Zrobiłem to, aby dodać trochę zabawy mojej dziewczynie prawdziwy prezent świąteczny, który ukryłem w przegródce pudełka.

Po przyłożeniu 5 V do przewodu USB Arduino włącza się, a wyświetlacz LCD pokazuje krótki samouczek, a następnie sekwencję dziesięciu zagadek, które należy rozwiązać, aby otworzyć komorę obsługiwaną przez serwo, która może pomieścić prezent lub prezent.

Istnieje również podstępne, chronione hasłem menu ustawień do resetowania postępów i otwierania komory.

Skorzystałem z tego, co mogłem znaleźć w moim lokalnym sklepie z narzędziami, a resztę wydrukowałem w 3D. Oczywiście możesz dostosować Riddlebox, dodając więcej czujników lub pomijając niektóre części. Uwolnij swoją kreatywność.

Będziesz potrzebować:

  • Arduino Mega (może też wystarczyć Uno)
  • Elastyczne przewody połączeniowe
  • Przełącznik kluczykowy
  • Klawiatura 4x4
  • I2C LCD 20x04
  • 2x serwosilniki SG90
  • Aluminiowa obudowa
  • Zawias metalowy
  • Blacha aluminiowa
  • Piła do licowania lub narzędzie obrotowe z tarczą do cięcia
  • Pistolet na gorący klej
  • Klej o wysokiej przyczepności
  • Pamięć flash USB
  • Pilnik metalowy

Krok 1: Konfiguracja sprzętu

Konfiguracja sprzętu
Konfiguracja sprzętu

Najpierw stworzyłem prototyp zagadek, z płytką stykową Arduino i komponentami, których chciałem użyć, a mianowicie przełącznikiem kluczykowym i klawiaturą. Aby użyć kodu Arduino z tej instrukcji, połącz części w sposób opisany poniżej. Oczywiście możesz dodawać i usuwać komponenty lub używać różnych pinów, o ile dokonasz odpowiednich zmian w kodzie.

Większość klawiatur ma pin dla każdego wiersza i każdej kolumny. Dowiedz się, które styki są szpilkami rzędu, sprawdzając ciągłość między różnymi stykami, naciskając jednocześnie przyciski, aby zamknąć obwód (patrz przykładowy schemat). Pozostałe 4 sworznie muszą być sworzniami kolumny. (Uwaga: czasami dwa najbardziej zewnętrzne styki są połączone z miedzianym wypełnieniem na płytce drukowanej i można je zignorować)

Podłącz piny klawiatury COL0 - COL3 do pinów Arduino 12 - 9 i ROW0 - ROW3 do pinów Arduino 8 - 5.

LCD jest podłączony przez I2C, więc potrzebne są tylko cztery piny: SDA, SCL, 5V i GND.

Przełącznik kluczykowy ma trzy pozycje i sześć pinów: oba piny C (wspólne) idą do masy, a dwa piny oznaczone jako NO (normalnie otwarte) idą odpowiednio do pinów 22 i 23 Arduino. (Uwaga: wejścia arduino są podciągnięte wysoko, więc wystarczy podłączyć masę do wspólnych pinów przełącznika)

Dwa serwa służą do fizycznego otwierania drzwi przedziału i blokowania ich za pomocą zatrzasku.

Podłącz 5V i GND serw do Arduino i podłącz linie sygnałowe w następujący sposób: serwo blokady = pin 44, serwo drzwi = pin 45.

Krok 2: Kod i zagadki Arduino

Kod i zagadki Arduino
Kod i zagadki Arduino
Kod i zagadki Arduino
Kod i zagadki Arduino

Kod dla Arduino składa się z kilku plików. Główny szkic inicjuje cały sprzęt, biblioteki i zmienne globalne. Wszystkie zagadki i bloki menu są przechowywane w funkcjach w oddzielnych plikach dla łatwego zarządzania. Stan postępu, który jest zapisywany w pamięci EEPROM (tzn. jest bezpieczny nawet po powercylce), określa, które funkcje zagadki są wywoływane w funkcji przełączania pliku głównego.

Usunąłem wszelkie dane osobowe z kodu i zastąpiłem niektóre rozwiązania rozwiązaniami ogólnymi (1234…). Możesz dowolnie zmieniać kod według własnego uznania i dodawać spersonalizowane rozwiązania.

Zagadki i bloki menu:

  1. Zaawansowane: Menu ustawień zaawansowanych z resetowaniem postępu i kontrolą komory.
  2. Intro: Menu wprowadzające z tekstem powitania i samouczkiem.
  3. Elementarny: Zagadka pytająca o liczbę atomową jodu.
  4. Outsourcing: Gracz musi skontaktować się z adresem e-mail, który automatycznie odpowiada na zagadkę liczbową. (Zagadka w kształcie gwiazdy na obrazach)
  5. Szesnaście: Gracz musi przekonwertować liczbę szesnastkową na dziesiętną.
  6. Wybory: Gracz musi ukończyć przygodę tekstową umieszczoną na dysku flash, hasło do następnego poziomu jest ukryte w historii. (patrz Amnesia.rtf)
  7. Offline: Gracz musi otrzymać klucz, aby go aktywować (np. przez pocztę, świetny sposób na spowolnienie ich, jeśli są zbyt szybkie).
  8. Niewidzialny: Hasło do następnego poziomu jest napisane na kartce niewidzialnym atramentem.
  9. Rachunek: Proste zadanie rachunku różniczkowego. (Bardziej symbol zastępczy, który nigdy nie został wypełniony, ponieważ skończył mi się czas)
  10. Zmiana: Krótka zagadka dotycząca banknotów euro, może być dostosowana do dowolnej waluty za pomocą banknotów w innym kolorze.
  11. Cierpliwość: Gracz nie może przekręcać kluczyka przez okres 5 minut, w przeciwnym razie licznik zostanie zresetowany i podwojony. (Uwaga: Przekręcanie klucza wystarczająco często powoduje przepełnienie zmiennej i zerowanie jej ze względu na jej ograniczony rozmiar.)
  12. Odpowiedź: „Jaka jest odpowiedź?”. Rozwiązaniem jest oczywiście 42.
  13. Ekran końcowy: Gratulacje i instrukcje dotyczące otwierania przedziału. (przez stacyjkę)

Dalszą dokumentację w postaci komentarzy zamieściłem w plikach kodu.

FYI: przytrzymanie „A” podczas ekranu powitalnego otwiera menu ustawień. Hasło: 2582

Krok 3: Budowanie płyty czołowej

Budowanie płyty czołowej
Budowanie płyty czołowej
Budowanie płyty czołowej
Budowanie płyty czołowej
Budowanie płyty czołowej
Budowanie płyty czołowej

Obudowę kupiłem w moim lokalnym sklepie ze sprzętem razem z blachą aluminiową. Był wyposażony w przegrody, które później ponownie wykorzystałem do stworzenia ścian przedziału.

Blacha aluminiowa była za szeroka, więc wyrysowałem ją i skróciłem piłą do licowania. Jednak piła taśmowa, narzędzie obrotowe, a nawet szlifierka z tarczą do cięcia mogą być lepiej dopasowane, ponieważ zajęło mi to wieki i złamałem dwa ostrza. Luka z przodu obudowy jest celowa. Zapewnia miejsce na umieszczenie powerbanku i pendrive'a.

Po zaznaczeniu, gdzie chciałem, aby wszystko poszło, wywierciłem otwory w rogach zaznaczonych odcinków i ponownie wyciąłem je piłą do licówki. Do sekcji przegródek wypróbowałem ściernicę na szlifierce i zadziałała fantastycznie. Użyłem metalowego pilnika do przycięcia otworów w celu dopasowania elementów i gratowania ich. Szybkie przejście szlifierką oscylacyjną nadało całości matowe wykończenie. Jest to oczywiście całkowicie opcjonalne, aluminiowa płyta została mocno zdarta, więc szlifowanie wydawało się dobrym sposobem na ich ukrycie i usunięcie moich oznaczeń sharpie.

Drzwi do przedziału to po prostu odcięty kawałek resztki aluminiowej blachy.

Zawias przymocowałem do drzwi i metalowej płyty za pomocą kleju o wysokiej przyczepności. Nakłada się na obie powierzchnie, pozostawia do utwardzenia na 10-20 min. a następnie obie strony są dociskane do siebie. Połączenie jest natychmiastowe i nie ma możliwości późniejszego dopasowania obu części.

Klawiatura i wyświetlacz LCD utrzymują się na miejscu z odrobiną gorącego kleju po bokach. (Uwaga: pamiętaj, aby odizolować szpilki elementów od blachy aluminiowej. Odrobina gorącego kleju załatwia sprawę)

Kluczyk ma gwint i nakrętkę, więc wywierciłem otwór w odpowiednim rozmiarze i włożyłem przełącznik.

Aby komora otwierała się automatycznie, przymocowałem drzwi i zamknąłem serwa do spodu blachy aluminiowej za pomocą gorącego kleju. Hak blokujący i dźwignię otwierającą oraz zatrzask zamka wygiąłem z niektórych wsporników (podobnie jak taśma hydrauliczna). Z perspektywy czasu mógłbym i prawdopodobnie powinienem wydrukować te komponenty w 3D, ponieważ są one w ten sposób trochę marne i prawdopodobnie będą pierwszą rzeczą, która zawiedzie. Przykleiłem te części odpowiednio gorącym klejem i klejem o wysokiej przyczepności (patrz zdjęcia).

Ponieważ przód nie wyglądał w ten sposób zbyt ładnie, postanowiłem wydrukować kilka ramek, aby ominąć różne elementy i przykleić je również gorącym klejem.

Krok 4: Kończenie sprawy

Wykończenie sprawy
Wykończenie sprawy
Wykończenie sprawy
Wykończenie sprawy

Jak już wcześniej wspomniałem, sprawa trafiła do kilku osób. Zdecydowałem się na aranżację, aby stworzyć szorstką komorę i trochę miejsca na Arduino, a następnie użyłem kleju o wysokiej przyczepności, aby wszystko naprawić.

Po podłączeniu wszystkich komponentów do Arduino Mega i przyklejeniu go na gorąco do obudowy, wyprowadziłem kabel USB przez mały otwór między przegrodami, tak aby był dostępny od zewnątrz.

Po ostrożnym upuszczeniu aluminiowej płyty do ostatecznej pozycji, umocowałem ją na miejscu, dociskając dyszę pistoletu do gorącego kleju do spoiny między płytą a obudową i wciskając klej w szczelinę. Na początku byłem sceptycznie nastawiony do nieścisłości tej metody utrwalania, ale jak dotąd jest to wstrzymywane.

Ostatnią rzeczą, jaka pozostała do zrobienia, było nałożenie kilku wykończeń. W MS Publisher zaprojektowałem kilka prostych naklejek, które wydrukowałem, wyciąłem i przykleiłem do płyty czołowej za pomocą zwykłego kleju w sztyfcie.

Oczywiście od Ciebie zależy, czy i ile naklejek chcesz wykonać i nakleić. Może to być również dobra okazja do przećwiczenia niektórych technik wietrzenia, aby wszystko wyglądało na trochę bardziej kiepskie. Niestety przyszło to do mnie tylko podczas pisania tego Instruktażu.

W każdym razie mam nadzieję, że podobała Ci się ta kompilacja Riddlebox. Jeśli masz jakieś pytania lub pomysły na ulepszenia, zostaw mi komentarz poniżej, a postaram się odpowiedzieć jak najszybciej.

Zalecana: