Spisu treści:

Crack the Code Game, Puzzle oparte na Arduino: 4 kroki (ze zdjęciami)
Crack the Code Game, Puzzle oparte na Arduino: 4 kroki (ze zdjęciami)

Wideo: Crack the Code Game, Puzzle oparte na Arduino: 4 kroki (ze zdjęciami)

Wideo: Crack the Code Game, Puzzle oparte na Arduino: 4 kroki (ze zdjęciami)
Wideo: Высокая плотность 2022 2024, Lipiec
Anonim
Image
Image
Crack the Code Game, puzzle oparte na Arduino
Crack the Code Game, puzzle oparte na Arduino
Crack the Code Game, puzzle oparte na Arduino
Crack the Code Game, puzzle oparte na Arduino

Projekty Tinkercad »

W tej instrukcji pokażę ci, jak zbudować własną grę z kodem, w której używasz obrotowego pokrętła kodującego, aby odgadnąć losowo wygenerowany kod do sejfu. Z przodu sejfu znajduje się 8 diod LED, które informują, ile cyfr, które odgadłeś, jest prawidłowych, a także ile jest we właściwym miejscu.

Sejf jest początkowo otwarty, dzięki czemu możesz włożyć coś do wewnętrznej przegródki. Arduino i bateria są umieszczone w osobnej komorze z tyłu. Następnie naciskasz pokrętło, aby zablokować sejf, co odbywa się za pomocą serwa po wewnętrznej stronie drzwi. Następnie należy wprowadzić kod, obracając pokrętło, aby wybrać cyfry i naciskając pokrętło, aby potwierdzić każdą cyfrę. Po wybraniu czwartej cyfry sejf wyświetla, ile cyfr jest prawidłowych i ile z nich jest we właściwym miejscu za pomocą czerwonej i zielonej diody LED na drzwiach.

Czerwona dioda LED wskazuje prawidłową cyfrę, a zielona dioda LED wskazuje, że również jest we właściwym miejscu. Musisz więc zapalić wszystkie cztery czerwone i zielone diody, aby złamać kod i otworzyć sejf.

Sejf śledzi, ile zgadywałeś, aby złamać kod, a to jest wyświetlane, gdy uda ci się go złamać. Na początku może to wydawać się skomplikowane, ale w rzeczywistości nie jest to takie trudne, wystarczy zapamiętać i oprzeć się na wcześniejszych przypuszczeniach. W większości przypadków powinieneś być w stanie złamać kod w 5 do 10 próbach, w zależności od tego, jak szczęśliwe są twoje początkowe próby.

Jeśli podoba Ci się ten Instructable, rozważ zagłosowanie na niego w konkursie Arduino.

Kieszonkowe dzieci

Aby zbudować sejf Crack The Code, będziesz potrzebować:

  • Arduino Uno - Kup tutaj
  • Wyświetlacz OLED I2C – Kup tutaj
  • Enkoder przycisku – Kup tutaj
  • 4 x 5mm czerwone diody LED – Kup tutaj
  • 4 x 5mm zielone diody LED – Kup tutaj
  • Rezystory 8 x 220Ω – Kup tutaj
  • Micro Servo – Kup tutaj
  • Kabel taśmowy - kup tutaj
  • Paski nagłówka - Kup tutaj
  • Przełącznik zasilania - Kup tutaj
  • Arkusz MDF 3 mm - Kup tutaj

Potrzebne będą również podstawowe narzędzia, klej do drewna, pistolet do kleju i lutownica.

Części do sejfu muszą być wycięte laserowo. Jeśli nie masz dostępu do wycinarki laserowej, rozważ skorzystanie z usługi cięcia laserowego online, stały się one dość przystępne i będą ciąć i dostarczać komponenty do Twoich drzwi.

To jest wycinarka laserowa, której użyłem w Instructable - K40 Laser Cutter

Krok 1: złóż pudełko

Złóż pudełko
Złóż pudełko
Złóż pudełko
Złóż pudełko
Złóż pudełko
Złóż pudełko
Złóż pudełko
Złóż pudełko

Sejf zaprojektowałem w Inkscape do wycięcia z 3mm płyty MDF. Możesz również wyciąć części z 3 mm akrylu lub sklejki, jeśli chcesz. Jeśli użyjesz materiału o innej grubości, będziesz musiał dopasować szczeliny w elementach pudełka, aby pasowały do siebie prawidłowo.

Tutaj możesz pobrać pliki do cięcia laserowego.

Jest 6 paneli, które tworzą zewnętrzną stronę pudełka, tył i przód mają w sobie wycięcia na przednie i tylne drzwi. Panele są oznaczone w pliku wydruku, dzięki czemu można je śledzić.

Tarcza jest również wykonana z kilku kawałków wyciętych laserowo, które są następnie sklejane.

Istnieją trzy panele dekoracyjne, które są przyklejone do góry i dwóch boków pudełka, aby wyglądało bardziej jak sejf. Istnieją również dwa panele składające się na drzwi oraz panel rozdzielający, który wchodzi do środka skrzynki, aby oddzielić komorę sejfu od komory elektroniki.

Kawałki pasują do jednego kawałka płyty MDF 400 x 500 mm i można je podzielić na mniejsze kawałki, jeśli twoja wycinarka laserowa nie jest wystarczająco duża, aby wyciąć wszystkie kawałki naraz.

Zacząłem od klejenia paneli dekoracyjnych na górze i bokach. Upewnij się, że masz elementy we właściwej kolejności, aby wiedzieć, które są które. Istnieją trzy różne części, góra i dół są takie same, boki są takie same, a przód i tył są takie same.

Gdy panele wyschną, możesz złożyć pudełko.

Upewnij się, że wycięcia na przegrodę środkową znajdują się po bokach. Służą one do prowadzenia dowolnych przewodów z przodu pudełka do tyłu pudełka, w którym znajduje się Arduino i bateria.

Zawiasy są również wycinane laserowo i po prostu przyklejane na miejscu po ustawieniu drzwi. Upewnij się, że są one równoległe do drzwi, w przeciwnym razie będziesz mieć trudności z ich otwarciem. Być może trzeba będzie również trochę zeszlifować wewnętrzną krawędź zawiasową drzwi, aby nie ocierała się o krawędź pudełka podczas przechodzenia.

Przyklej cztery kwadraty w rogach za tylnym panelem, aby wywiercić śruby do tylnej pokrywy.

Następnie można wywiercić otwory na śruby i rozpocząć montaż ekranu, Arduino, tylnej pokrywy i wreszcie enkodera.

Krok 2: Podłącz elektronikę

Podłącz elektronikę
Podłącz elektronikę
Podłącz elektronikę
Podłącz elektronikę
Podłącz elektronikę
Podłącz elektronikę

Zaprojektowałem obwód na płytce prototypowej w Tinkercad Circuits i dodałem później na wyświetlaczu OLED.

Mamy 8 diod LED podłączonych do cyfrowych pinów IO od 6 do 13. Serwo blokujące jest podłączone do pinu 5. Enkoder podłączony do pinów 2, 3 i 4 oraz wyświetlacz OLED jest podłączony do interfejsu I2C Arduino.

Użyłem rezystora 220 omów dla każdej diody LED, przylutowanego bezpośrednio do ujemnej diody LED i połączyłem elementy razem za pomocą kolorowego kabla taśmowego, aby utrzymać porządek w okablowaniu i pomóc śledzić, który przewód musi przejść do każdego pinu Arduino.

Przepchnąłem kable taśmowe do tylnej komory i przylutowałem kilka pasków nagłówka pinów do kabla taśmowego, aby podłączyć go do Arduino.

Zamontowałem również wyłącznik zasilania na tylnej okładce i podłączyłem go do wtyczki akumulatora, aby podłączyć akumulator do zasilania gry. Możesz również użyć baterii 9V, jeśli chcesz.

Na koniec musisz ustawić serwo blokujące w kierunku krawędzi drzwi, aby przechodziło przez wargę w pudełku, a ramię było w stanie popchnąć do wnętrza wargi, aby zablokować pudełko. Nie jest to najsilniejszy mechanizm blokujący, ale jest naprawdę prosty i dobrze sprawdza się w grze.

Krok 3: Programowanie Arduino

Programowanie Arduino
Programowanie Arduino
Programowanie Arduino
Programowanie Arduino

Nie będę omawiał kodu tak szczegółowo, jak zwykle, ponieważ jest w nim całkiem sporo. Zrobiłem szczegółowy opis wyjaśniający każdą jego część, który można znaleźć wraz z kodem do pobrania za pośrednictwem tego linku - Crack The Code Game Code.

W podsumowaniu; zaczynamy od importu bibliotek do sterowania wyświetlaczem OLED i serwomechanizmem.

Następnie ustawiamy parametry wyświetlania i tworzymy wszystkie nasze zmienne. Istnieje wiele zmiennych dedykowanych do śledzenia obrotów enkodera, ponieważ odbywa się to poprzez przerwania zbocza narastającego na pinach 2 i 3.

Tworzone są dwie tablice kodów, jedna do przechowywania losowo wygenerowanego kodu i jedna do przechowywania bieżących domysłów użytkowników.

W funkcji setup uruchamiamy wyświetlacz, podłączamy serwo, ustawiamy tryby pinów IO, a następnie wyświetlamy na wyświetlaczu animację tekstową Crack The Code.

Funkcja pętli miga diodami LED i wyświetla komunikat „push to lock safe”, który następnie czeka, aż użytkownik naciśnie pokrętło, aby rozpocząć grę. Ten sam kod jest uruchamiany na końcu gry, który następnie wyświetla liczbę prób i czeka na naciśnięcie pokrętła, aby rozpocząć nową grę.

Na przycisku enkodera znajduje się kod odbicia, a po naciśnięciu serwo blokuje sejf i generowany jest losowy kod. Kod następnie wywołuje funkcję, aby poprosić użytkownika o wprowadzenie swojego odgadnięcia, a następnie inną, aby sprawdzić odgadnięcie, jest to powtarzane, dopóki użytkownik nie odgadnie kodu poprawnie.

Istnieje funkcja aktualizacji wyświetlanego kodu, która jest wywoływana za każdym razem, gdy enkoder jest obrócony i wyświetlany kod musi się zmienić.

Funkcja generowania nowego kodu po prostu przypisuje losową cyfrę do każdego z czterech elementów tablicy kodów.

Funkcja wprowadzania zgadywania kodu pozwala użytkownikowi wybrać cyfrę za pomocą enkodera, a następnie potwierdzić każdą cyfrę, naciskając enkoder w dół.

Funkcja odgadywania kodu sprawdza następnie odgadnięty kod i decyduje, ile cyfr jest poprawnych, a ile we właściwym miejscu.

Funkcja aktualizacji diod LED włącza odpowiednią liczbę czerwonych i zielonych diod LED na podstawie domysłów użytkowników.

Funkcja startowa ani wyświetla animację Crack The Code podczas uruchamiania.

Wreszcie, dwie funkcje przerwań zarządzają wejściem z enkodera, jedna zwiększa cyfrę w górę po obróceniu zgodnie z ruchem wskazówek zegara, a druga w dół po obróceniu w kierunku przeciwnym do ruchu wskazówek zegara.

Krok 4: Granie w grę Crack the Code

Granie w grę Crack the Code
Granie w grę Crack the Code
Granie w grę Crack the Code
Granie w grę Crack the Code
Granie w grę Crack the Code
Granie w grę Crack the Code
Granie w grę Crack the Code
Granie w grę Crack the Code

Najlepszym sposobem, aby nauczyć się grać w tę grę, jest obejrzenie filmu na początku, są dwa przykłady gry rozgrywanej pod koniec.

Sejf jest początkowo odblokowany, dzięki czemu możesz coś do niego włożyć.

Następnie naciskasz pokrętło, aby zablokować sejf i wygenerować nowy kod.

Odgadnięty kod wprowadza się za pomocą pokrętła, aby zwiększyć cyfrę i naciskając pokrętło, aby przejść do następnej cyfry lub potwierdzić kod po wybraniu wszystkich czterech cyfr.

Diody LED z przodu zapalają się, aby powiedzieć nam, co było poprawne w naszych przypuszczeniach.

Następnie wykorzystujesz tę informację zwrotną do kolejnego odgadnięcia, dopóki nie będziesz w stanie odgadnąć prawidłowego kodu i ponownie otworzyć sejf. Po wprowadzeniu prawidłowego kodu sejf odblokuje się i wyświetli się liczba prób złamania kodu.

Ciesz się budowaniem własnego sejfu złamanego kodu. Jeśli podobał Ci się ten Instructable, rozważ zagłosowanie na niego w konkursie Arduino.

Konkurs Arduino 2020
Konkurs Arduino 2020
Konkurs Arduino 2020
Konkurs Arduino 2020

II nagroda w konkursie Arduino 2020

Zalecana: