Spisu treści:
- Krok 1: Konfiguracja świateł LED
- Krok 2: Dodaj prowizoryczny czujnik światła
- Krok 3: Dodaj swój słownik
- Krok 4: Spraw, aby światła zapalały się domyślnie
- Krok 5: Dodawanie danych wejściowych
- Krok 6: Obsługa danych wejściowych
- Krok 7: Morsing poprawnie odgadniętych liter
- Krok 8: Przeglądanie naszej konfiguracji i resetowanie
- Krok 9: Wszystkie zmienne na jednym obrazie
Wideo: Wisielec Arduino w języku Morse'a: 9 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
W tym samouczku pokażę, jak skonfigurować własne Arduino do gry w Wisielec, wysyłając kod Morse'a za pomocą prostej latarki lub funkcji latarki z telefonu.
Wszystko, co musisz wykonać, to: płytka Arduino. 10 diod LED, przewody do połączenia tego wszystkiego. Dodatkowo: element piezo (do dodawania dźwięku).
Krok 1: Konfiguracja świateł LED
Ta gra Morse'a wykorzystuje 4 lampki, aby wskazać 4 litery w słowie, które należy odgadnąć i 5 lampek, aby wskazać życie, które gracz musi odgadnąć, więc przede wszystkim musisz podłączyć 9 diod LED -świeci w zwykły sposób, jak widać na zdjęciu.
Krok 2: Dodaj prowizoryczny czujnik światła
Nie możemy wyrzucać pieniędzy w sklepach z elektroniką, więc postanowiłem utrzymać ten projekt tanim kosztem, używając prostej diody LED jako prowizorycznego czujnika światła.
Wszystko, co musisz zrobić, to podłączyć stronę plus światła LED do jednego z twoich portów analogowych (w moim przypadku A0), a stronę minus do ziemi.
Krok 3: Dodaj swój słownik
Po pierwsze, zacznijmy od dodania pewnego rodzaju słownika do tłumaczenia liter na odpowiadające im kody Morse'a. Aby to zrobić, po prostu tworzymy tablicę 26 na 5, przy czym pierwsze gniazdo każdej tablicy drugorzędnej ma literę, a 4 kolejne gniazda mają odpowiedni kod Morse'a lub spację, jeśli nie ma już kodu. Na przykład przy literze s, pierwsze miejsce ma 's', drugie, trzecie i czwarte miejsce ma '.' a ostatni slot ma „”.
Krok 4: Spraw, aby światła zapalały się domyślnie
W tym kroku upewniamy się, że światła są włączone po uruchomieniu programu, a alfabetem Morse'a reprezentują one literę, którą reprezentują, gdy użytkownik poprawnie je odgadł (kod do tego zostanie napisany w kroku 6). Dbamy również o to, aby zapaliło się tylko tyle świateł, ile żyć pozostało graczowi.
Przed tym upewnij się, że masz tablicę z numerami portów i liczbami całkowitymi ustawionymi na 0, aby reprezentować czas, w którym światło powinno się włączyć, wyłączyć i która część alfabetu Morse'a jest aktualnie wyświetlana.
Krok 5: Dodawanie danych wejściowych
Teraz napiszemy kod, aby sprawdzić, czy odtwarzacz świeci lampką LED podłączoną do naszego portu analogowego A0 i czy mają go przetłumaczyć na poprawną literę.
Aby upewnić się, że odczyt jest prawidłowy, uśredniamy każde 20 odczytów za pomocą światła LED i używamy tej liczby do śledzenia, czy światło jest wyłączone, czy włączone. Aby to zrobić, na początku programu ustawiamy NUM_AVG na tyle razy, ile chcemy, aby sprawdzał światło przed uśrednieniem. Im wyższa jest ta liczba, tym dokładniejszy odczyt, ale może również powodować opóźnienia.
msBtnPushed reprezentuje czas, przez który światło było włączone.lastPressed to wartość logiczna, która śledzi, czy w poprzedniej pętli światło było włączone.
Krok 6: Obsługa danych wejściowych
W tym kroku przyjrzymy się, co zrobić, gdy minie wystarczająco dużo czasu, aby założyć, że nie zostanie dodany więcej Morse'a, i musimy sprawdzić, czy przesłany Morse jest listem i czy jest to poprawny list.
Aby to zrobić, musimy ustawić ciąg wordToGuess na słowo, które mają odgadnąć nasi gracze. Osobiście mam generator liczb losowych, który ustawia go na losowe słowo na początku, ale możesz też po prostu ustawić go na pojedyncze słowo.
Musimy również upewnić się, że licznik wzrasta o jeden w każdej pętli, w przeciwnym razie cały program nic by nie zrobił. Ponadto dodałem funkcję opóźnienia, aby zapewnić pętlę co milisekundę.
PS: Wszystkie funkcje Serial.println służą wyłącznie do celów testowych. Po zakończeniu mogą zostać usunięte.
GoodTimer i badTimer są po prostu wartościami, jeśli planujesz użyć elementu Piezo do dodania dźwięku. Jeśli chcesz to zrobić, musisz również dodać kod na drugim obrazku, który odtwarza dźwięki.
Krok 7: Morsing poprawnie odgadniętych liter
Jak obiecano wcześniej, w tym kroku zrobimy światła reprezentujące litery, które zostały poprawnie odgadnięte Morse'a ich literą.
W tym celu napisałem dwie funkcje: morseThis i nextLetter. Wykorzystuje liczby, które wcześniej ustawiliśmy w naszej tablicy timerów i zmienia je w zależności od tego, która część kodu Morse'a aktualnie świeci.
Jeśli zegar osiągnie czas, w którym światło powinno się zapalić, po prostu włącza światło i uruchamia kod, aby ustawić nowe zegary, aby wyłączyć i ponownie włączyć światło. Jeśli zegar osiągnie część, w której światło powinno się cofnąć wyłączone, wyłącza światło, a następnie ustawia kod do reprezentowania następnej części litery. Jeśli nie ma następnej części, resetuje ją do pierwszej części.
Krok 8: Przeglądanie naszej konfiguracji i resetowanie
Oczywiście program nie będzie działał, jeśli światła nie są ustawione na wyjście i wejście. Dodaję również generator liczb losowych, aby dodać słowo z listy słów, które umieściłem w tablicy o nazwie wordsToGuess.
Poza tym powinniśmy dodać funkcję resetowania i upewnić się, że wszystkie wartości są zresetowane do wartości domyślnych.
Krok 9: Wszystkie zmienne na jednym obrazie
Na koniec możesz użyć tego do sprawdzenia, czy masz wszystkie niezbędne zmienne skonfigurowane poprawnie.
Teraz graj w Wisielec Morse'a!
Zalecana:
Jak korzystać z multimetru w języku tamilskim - Przewodnik dla początkujących - Multimetr dla początkujących: 8 kroków
Jak korzystać z multimetru w języku tamilskim | Przewodnik dla początkujących | Multimetr dla początkujących: Witajcie przyjaciele, W tym samouczku wyjaśniłem, jak używać multimetru we wszelkiego rodzaju obwodach elektronicznych w 7 różnych krokach, takich jak 1) test ciągłości w celu rozwiązywania problemów ze sprzętem 2) Pomiar prądu stałego 3) testowanie diody i diody LED 4) Pomiar Żyw
Prosty program dodawania w szekspirowskim języku programowania: 18 kroków
Prosty program dodawania w szekspirowskim języku programowania: Szekspirowski język programowania (SPL) jest przykładem ezoterycznego języka programowania, który być może jest interesujący do nauki i przyjemny w użyciu, ale nie jest szczególnie przydatny w rzeczywistych zastosowaniach. SPL to język, w którym kod źródłowy r
Zakoduj i przetestuj komputer w języku maszynowym: 6 kroków
Koduj i testuj komputer w języku maszynowym: W tej instrukcji pokażę, jak kodować i testować program komputerowy w języku maszynowym. Język maszynowy jest językiem ojczystym komputerów. Ponieważ składa się z ciągów jedynek i zer, nie jest łatwo zrozumiały dla ludzi. Do pracy
GET1033 Kodowany procesor obrazu w języku Python: 5 kroków
GET1033 Python Coded Image Processor: Ten projekt dotyczy stworzenia mojego własnego kodowanego w Pythonie procesora obrazu dla mojego modułu, GET1033 Exploring Computational Media Literacy. Najpierw użytkownik będzie musiał wprowadzić własne zdjęcie, a następnie wybrać żądane filtry. Stworzyłem 9 filtrów, które
Projekt 1: Demo wideo w języku C: 9 kroków
Projekt 1: Wideo demonstracyjne w języku C: Witaj kolego hobbyście, W tym projekcie chciałem stworzyć prezentację małego wyświetlacza, która będzie dobrym wstępem do mojego laboratorium. Aby to zrobić, świetnie wykorzystałem następujące komponenty w serwisie eBay: - Arduino Nano: https://www.ebay.ca/itm/MINI-USB-Nano