Spisu treści:
- Krok 1: Podłącz ekran (dotykowy)
- Krok 2: Zapoznaj się z bibliotekami
- Krok 3: Zaprojektuj graficzny interfejs użytkownika / menu główne
- Krok 4: Połącz dwa kontrolery
- Krok 5: Rozpocznij okablowanie połączenia bezprzewodowego
- Krok 6: Szalej! Wypróbuj różne rzeczy
- Krok 7: Projekt
- Krok 8: Drukowanie 3D obudowy
- Krok 9: Lutowanie i finalizowanie
- Krok 10: Podgląd
Wideo: Konsola ręczna z bezprzewodowymi kontrolerami i czujnikami (Arduino MEGA i UNO): 10 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Czego użyłem
- Arduino MEGA
- 2x Arduino UNO
- Ekran dotykowy Adafruit 3,5 TFT 320x480 HXD8357D
- Brzęczyk
- Głośnik 4Ohm 3W
- 5mm diody LED
- Drukarka Ultimaker 2+ z czarnym filamentem PLA
- Wycinarka laserowa z drewnem MDF
- Czarna farba w sprayu (do drewna)
- 3x bezprzewodowe nadajniki-odbiorniki nRF24L01+
-2x16mm przycisk
- 2x czujniki ciśnienia
- 3x 9V uchwyty na baterie
- Deska do krojenia chleba
- 2x 0,96'' ekrany OLED I2C
- Przewody męskie - żeńskie
- Stacja lutownicza
- Super klej
- 2x jednokanałowy moduł dotykowy (CZERWONY/NIEBIESKI)
Krok 1: Podłącz ekran (dotykowy)
Zrobimy więc tę konsolę podręczną z dwoma kontrolerami bezprzewodowymi.
Dlatego będziemy mieli jednostkę główną (największą część, z ekranem LCD)
Jednostka główna będzie działała z Arduino MEGA.
Każdy z dwóch oddzielnych kontrolerów będzie obsługiwać Arduino UNO.
Później sprawimy, że Arduinos komunikują się ze sobą, aby wysyłać dane kontrolera.
Zacznij od prawidłowego podłączenia ekranu 320x480 do głównej jednostki ekranu (Arduino MEGA), jak w tym samouczku. (Adafruit ma świetny, szczegółowy samouczek dotyczący okablowania i kodu).
Aby uzyskać dźwięk, podłączyłem brzęczyk i głośnik 3W 4Ohm, aby oddzielić cyfrowe piny i GND.
z tonem (pin, częstotliwość, czas trwania); Możesz stworzyć podstawowe dźwięki monofoniczne.
Krok 2: Zapoznaj się z bibliotekami
Ekran Adafruit 320x480 obsługuje odpowiednie biblioteki Adafruit_GFX i Adafruit_TFTLCD.
Przeczytaj dokumentację. Myślę, że jest to dość dobrze wyjaśnione.
Upewnij się, że wprowadziłeś odpowiednie ustawienia w Arduino IDE:
Narzędzia -> Płytka -> Arduino/Genuino MEGA lub MEGA 2560
Narzędzia -> Port -> [Port z „Arduino MEGA” w nim]
Ta konkretna biblioteka ekranów obsługuje niestandardowe czcionki, podstawowe kształty i różne kolory.
Warto zauważyć, że częstotliwość odświeżania jest zbyt niska dla płynnej animacji. Jeśli chcesz aktualizować ekran po każdym tiku, będzie on zbyt wolny, aby obsłużyć przerysowywanie każdego piksela, i będzie migotał
Więc sugerowałbym twórczą pracę nad tym, tak jak niektóre starsze urządzenia ręczne obsługiwały animację: z klatkami kluczowymi. Mniej znaczy więcej! Zamiast przerysowywać wszystko co sekundę, jeśli chcesz przesunąć prostokąt w lewo lub w prawo, możesz po prostu wymazać ślad, który pozostawia, zamiast wymazywać cały obiekt i przerysowywać go.
Na przykład użyłem migotania ekranu jako efektu mrugania dla postaci w sekwencji wstępnej.
Z biblioteki Adafruit_GFX użyłem głównie tft.fillRect(x, y, width, height, color); i tft.print(tekst); Funkcje.
Eksperymentowanie to podstawa.
Krok 3: Zaprojektuj graficzny interfejs użytkownika / menu główne
Po zdobyciu wiedzy w obrębie biblioteki i poznaniu jej ograniczeń/mocy, możesz przystąpić do projektowania ekranu Menu Głównego.
Ponownie pomyśl o prostokątach. Przynajmniej tak zrobiłem.
Oto mój kod do interfejsu użytkownika
pastebin.com/ubggvcqK
Możesz tworzyć suwaki jasności ekranu, aby sterować pinem „Lite” na ekranie dotykowym Adafruit za pomocą pinu analogowego.
Krok 4: Połącz dwa kontrolery
Jeśli chodzi o kontroler, to właściwie od Ciebie zależy, jakiego rodzaju czujników chcesz użyć, w zależności od tego, jaką grę planujesz stworzyć
Dobra, więc dla kontrolerów postanowiłem użyć:
- Czujnik ciśnienia
- Ekran OLED
- Jednokanałowy moduł dotykowy, który włącza się lub wyłącza
- Czujnik gestów (RobotDyn APDS9960)
- Transceiver nRFL01+ (do komunikacji bezprzewodowej)
- Przycisk
Uwaga: Czujnik gestów i OLED używają połączeń SCL / SDA. Chwilę zajęło mi zorientowanie się, że Arduino ma tylko dwa: A4 i A5. Ale możesz po prostu połączyć je równolegle na płytce stykowej i będzie działać dobrze
Krok 5: Rozpocznij okablowanie połączenia bezprzewodowego
Okablowanie modułów nRF24L01+ zajęło mi trochę czasu, aby zadziałało.
Musiałem uciec się do biblioteki TMRh20 RF24, po tym, jak nie mogłem uzyskać odpowiednich danych z czujnika przesyłanych na ekran.
Aby wiele Arduino mogło się ze sobą komunikować, musimy upewnić się, że przynajmniej jeden z UNO jest zasilany, a także MEGA.
Użyj konsoli szeregowej MEGA, aby wydrukować wyniki otrzymane od UNO i sprawdzić, czy to działa.
Oto kod
Oto biblioteka
Krok 6: Szalej! Wypróbuj różne rzeczy
Kluczową częścią mojego procesu rozwoju było po prostu wypróbowanie wielu rzeczy!
Jakich przycisków chcesz użyć?
Co umieszczasz w swoich kontrolerach?
Rozejrzyj się po stronach internetowych, znajdziesz wiele elementów oprócz zwykłych przycisków „A/B” lub analogowych joysticków. Zainspiruj się i zmotywuj, aby spróbować!
Gdy już masz jasny i działający pomysł na to, co chcesz umieścić w kontrolerach, połącz komponenty.
W zależności od tego, jak działają, będziesz musiał użyć wejść cyfrowych lub wejść analogowych.
UWAGA: Niektóre komponenty mogą wymagać pinów SCL/SDA do poprawnego działania. A jeśli masz dwa lub więcej czujników, które potrzebują tego samego, prawdopodobnie dostaniesz ataku paniki, tak jak ja. Ale nie musisz się martwić
Możesz umieścić oba piny czujników SDA i SCL szeregowo ze sobą, przechodząc do A4 i A5 i będzie działać
Krok 7: Projekt
Gdy masz fajny pomysł na czujniki, których chcesz użyć, naszkicuj kilka pomysłów na projekt, który Ci się podoba.
Następnie przejdź do programów do modelowania, takich jak Blender, Maya, Cinema 4D.
Użyłem Blendera do stworzenia (szorstkiego) modelu.
Aby uzyskać dokładne pomiary w Blenderze, możesz zmienić jednostkę rozmiaru siatki na milimetry.
Po utworzeniu modelu upewnij się, że nie masz podwójnych wierzchołków i ponownie obliczyłeś swoje normalne.
Wyeksportuj plik jako.stl, jeśli chcesz użyć drukarki 3D takiej jak ja.
UWAGA: W Blenderze będziesz musiał ustawić skalę eksportu na 0.1, jeśli chcesz uzyskać dokładny rozmiar w Cura w następnym kroku
Krok 8: Drukowanie 3D obudowy
Ten model został wydrukowany z czarnego filamentu PLA 2,85 mm na drukarce Ultimaker 2+.
Pobierz CURA
Załaduj swój. STL do Cura, a pokaże ci, ile czasu to zajmie.
W przypadku etui podręcznego wydruk może potrwać do 10 godzin, w zależności od rozmiaru.
Jednak w przypadku modeli o niskiej szczegółowości można przyspieszyć proces, co zrobiłem.
Oto moje ustawienia:
Wysokość warstwy: 0,2
Grubość ścianki: 0,8
Grubość górna/dolna: 0,8
Dysza: 0,4
Temperatura: 60 stopni Celsjusza
Przepływ: 100%
Brim: Wszędzie dotykając płyty montażowej
Gęstość wypełnienia: 20%
Stopniowy: 0
Temperatura dyszy: 220 C
Szybkość drukowania: 120%
Krok 9: Lutowanie i finalizowanie
Przebyłeś długą drogę.
Ostatnim krokiem jest nabycie płyty perfboard / veroboard i przetłumaczenie połączeń płyt prototypowych na część płytki prototypowej.
Upewnij się, że elektronika pasuje do drukowanych obudów i być może wytnij trochę drewna MDF, aby uzyskać części, przez które wystają przyciski / wejścia kontrolera.
Użyłem do tego wycinarki laserowej.
Najważniejszą rzeczą jest zamieszanie, wypróbowanie rzeczy, których nigdy nie robiłeś inaczej i baw się dobrze!
Mam nadzieję, że ten samouczek był wystarczająco jasny… To był dość trudny projekt, który przyniósł świetny wynik!:)
Krok 10: Podgląd
Zalecana:
Pierwsze kroki z bezprzewodowymi czujnikami temperatury i wibracji dalekiego zasięgu: 7 kroków
Pierwsze kroki z bezprzewodowymi czujnikami temperatury i wibracji dalekiego zasięgu: Czasami wibracje są przyczyną poważnych problemów w wielu zastosowaniach. Od wałów maszyn i łożysk po wydajność dysków twardych, wibracje powodują uszkodzenie maszyny, wczesną wymianę, niską wydajność i poważnie wpływają na dokładność. Monitorowanie
Jak zrobić grę wieloosobową z kontrolerami Arduino: 6 kroków
Jak stworzyć grę wieloosobową za pomocą kontrolerów Arduino: Czy kiedykolwiek zastanawiałeś się, jak twórcy gier tworzą niesamowite gry, w które ludzie na całym świecie lubią grać? Cóż, dzisiaj dam wam tylko małą wskazówkę na ten temat, tworząc małą grę wieloosobową, która będzie kontrolowana przez kontroler Arduino
Ręczna lampka nocna: 7 kroków (ze zdjęciami)
Ręczna lampka nocna: Mój 5-latek budził nas w nocy i ciągle pouczaliśmy go, jak pozwalać mamie i tacie spać, dopóki nie zdałem sobie sprawy, że właściwie nie był w stanie sam określić, czy to czas snu, czy zabawa Poza tym prosił nas o zapalenie światła
Super Pitendo: Raspberry Pi 3b+ Retro Konsola Konsola: 6 kroków
Super Pitendo: Raspberry Pi 3b+ Retro Konsola Konsola: Witam! Podczas ostatniego sezonu wakacyjnego i ponownie w tym roku słyszałem, jak moje rodzeństwo opowiadało o tym, jak fajnie uważali, że wychodzą na rynek konsole retro. ALE słyszałem też o ich frustracjach związanych z tym, jak drogie były i trudno było je znaleźć
Wprowadzenie do robotyki dla uczniów szkół podstawowych z kontrolerami Hummingbird: 18 kroków
Wprowadzenie do robotyki dla uczniów szkół podstawowych z kontrolerami Hummingbird: Większość narzędzi do robotyki dostępnych obecnie na rynku wymaga od użytkownika pobrania określonego oprogramowania na dysk twardy. Piękno kontrolera robota Hummingbird polega na tym, że można go uruchomić za pomocą komputera internetowego, takiego jak Chromebook. Był również