Spisu treści:

Konsola ręczna z bezprzewodowymi kontrolerami i czujnikami (Arduino MEGA i UNO): 10 kroków (ze zdjęciami)
Konsola ręczna z bezprzewodowymi kontrolerami i czujnikami (Arduino MEGA i UNO): 10 kroków (ze zdjęciami)

Wideo: Konsola ręczna z bezprzewodowymi kontrolerami i czujnikami (Arduino MEGA i UNO): 10 kroków (ze zdjęciami)

Wideo: Konsola ręczna z bezprzewodowymi kontrolerami i czujnikami (Arduino MEGA i UNO): 10 kroków (ze zdjęciami)
Wideo: 01. Arduino - dlaczego NIE? a jeśli TAK to JAK? (wady i zalety płytek arduino) 2024, Listopad
Anonim
Image
Image
Podłącz ekran (dotykowy)
Podłącz ekran (dotykowy)

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)

Podłącz ekran (dotykowy)
Podłącz ekran (dotykowy)
Podłącz ekran (dotykowy)
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

Zapoznaj się z bibliotekami
Zapoznaj się z bibliotekami
Zapoznaj się z bibliotekami
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

Zaprojektuj graficzny interfejs użytkownika / menu główne
Zaprojektuj graficzny interfejs użytkownika / menu główne
Zaprojektuj graficzny interfejs użytkownika / menu główne
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

Podłącz dwa kontrolery
Podłącz dwa kontrolery
Podłącz dwa kontrolery
Podłącz dwa kontrolery
Podłącz dwa kontrolery
Podłą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

Rozpocznij okablowanie połączenia bezprzewodowego
Rozpocznij okablowanie połączenia bezprzewodowego
Rozpocznij okablowanie połączenia bezprzewodowego
Rozpocznij okablowanie połączenia bezprzewodowego
Rozpocznij okablowanie połączenia bezprzewodowego
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

Zaszaleć! Wypróbuj różne rzeczy
Zaszaleć! 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

Projekt
Projekt
Projekt
Projekt
Projekt
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

Drukowanie 3D obudowy
Drukowanie 3D obudowy
Drukowanie 3D obudowy
Drukowanie 3D obudowy
Drukowanie 3D obudowy
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

Lutowanie i finalizowanie
Lutowanie i finalizowanie
Lutowanie i finalizowanie
Lutowanie i finalizowanie
Lutowanie i finalizowanie
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: