Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Zaktualizowany projekt „Prosty Simon”.
W szczególności łatwiejsza praca z wdrażaniem oprogramowania.
Krok 1: Pierwsze kroki
Zacząłem od instrukcji w „Simple-Simon-Says-Game”
Zapoznaj się z nim, aby zapoznać się z ogólną implementacją sprzętu.
Ponieważ miałem już własny projekt, który miał 4 przyciski, 4 diody LED i głośnik, użyłem tego sprzętu (patrz wyżej). Trochę poprawiłem zdjęcia, aby zmienić niektóre aspekty, aby były bardziej odpowiednie do ilustracji w tym projekcie.
Używa Nano 3.0 i użyłem różnych przypisań pinów dla urządzeń peryferyjnych.
Nawiasem mówiąc, możesz być również zainteresowany uproszczoną wersją sprzętową, którą zrobiłem Instructables.com/id/Fast-Easy-Simon
Krok 2: Dostosowanie do nowego sprzętu
Szkic Simon_Says nie działał dla mnie, ponieważ kod opierał się na ustalonych przypisaniach pinów. Ponadto kod był trudny do naśladowania i zawierał pewne błędy.
Więc stworzyłem tę zaktualizowaną wersję.
- Poprawiono chybione użycie typu „boolean” dla numerów pinów
- Zmodyfikowano kod tak, aby działał dla dowolnych przyporządkowań diod LED i przycisków.
- Przepływ logiczny był zbyt skomplikowany i miejscami zbyt powtarzalny, przez co trudny do zrozumienia i debugowania. Więc w większości uprościłem to.
- Wraz z innymi ulepszeniami, takimi jak fakt, że zmieniłem nazwę obiektu klasy 'Tone' z 'speakerpin' na 'speaker' i utworzyłem zmienną bajtową 'speakerpin' dla jej przypisania pinu #.
- Październik 2015: dozwolone dla szybkich sekwencji wprowadzania przycisków
Link do pobrania mojego zaktualizowanego szkicu znajduje się tutaj. Rozpoczęcie pracy z własnym sprzętem powinno być łatwe, po prostu zmieniając przypisanie pinów na początku kodu. Pobierz i baw się z nim.
Krok 3: Według popularnego popytu
Ponieważ pojawiły się pytania o to, jak używać oprogramowania z serwomechanizmem do obsługi zatrzasku po pomyślnym dopasowaniu wzorca Simona. Załączam tutaj wersje 'Simon_Says' oraz podobne 'Simon_Sings', które przystosowałem do dalszej modyfikacji za pomocą odpowiedniego kodu serwo. W kodzie każdego umieściłem komentarz '@TODO' pokazujący, gdzie umieścić swój kod serwomechanizmu.
Dokładne kodowanie będzie zależne od implementacji sprzętowej i używanej biblioteki serwo. Nie mam odpowiedzi na konkretne problemy z serwomechanizmem. W tym celu polecam przejrzenie następujących elementów: wideo: Jak kontrolować servosinstructables.com/id/Arduino-Servo-Motors/instructables.com/id/Access-control-with-Arduino-Keypad-4x4-Servo/For ci, którzy potrzebują dalszej pomocy związanej z serwomechanizmem, polecam post dotyczący instrukcji związanych z serwomechanizmami z największymi podobieństwami do ich implementacji serwo.