Spisu treści:

Ręczny kontroler PCB z Arduino (z opcją połączenia bezprzewodowego!): 3 kroki
Ręczny kontroler PCB z Arduino (z opcją połączenia bezprzewodowego!): 3 kroki

Wideo: Ręczny kontroler PCB z Arduino (z opcją połączenia bezprzewodowego!): 3 kroki

Wideo: Ręczny kontroler PCB z Arduino (z opcją połączenia bezprzewodowego!): 3 kroki
Wideo: Inteligentny Dom - Zrób To Sam cz.1 na Arduino, Ogarniamy Magistralę CAN, Program Testujący w C++ 2024, Listopad
Anonim
Podręczny PCB z Arduino (z opcją bezprzewodową!)
Podręczny PCB z Arduino (z opcją bezprzewodową!)
Podręczny PCB z Arduino (z opcją bezprzewodową!)
Podręczny PCB z Arduino (z opcją bezprzewodową!)

Aktualizacja 28.1.2019Obecnie pracuję nad kolejną wersją tego handhelda. Projekt można śledzić na moim kanale YouTube lub Twitterze.

Ostrzeżenie! Znalazłem błąd w układzie PCB. Lewy i górny przycisk są podłączone do pinów tylko analogowych. Naprawiłem to, dodając dwa rezystory podciągające do dwóch wejść. To nie jest idealne rozwiązanie, ale działa.

Zaprojektowałem płytkę PCB do palmtopa, która bazuje na mikrokontrolerze ATmega328P-AU (ten sam co w Arduino Nano), wyświetlaczu OLED SSD1306 i kilku przyciskach. Dodałem również opcję dodania modułu radiowego NRF24L01+ do gier wieloosobowych. Możesz również użyć tego urządzenia ręcznego jako kontrolera bezprzewodowego. Stworzyłem już kontrolery bezprzewodowe, a nawet mam o nich jeden Instruktaż. Wszystko czego potrzebujesz to Arduino Leonardo lub Pro Micro.

Urządzenie podręczne jest całkowicie otwarte. Cały kod źródłowy jest darmowy, podobnie jak projekt PCB. Zacząłem też kodować silnik gry oparty na kafelkach open source na konsolę. W tej chwili wszystko działa, poza tym, że silnik fizyczny ma pewne problemy z dużymi przyspieszeniami. Dzieje się tak dlatego, że silnik fizyki działa klatka po klatce z taką samą prędkością, jak funkcja rysowania. Silnik fizyki powinien mieć tzw. microstepping (przesuwanie jednego piksela jednocześnie sprawdzając, czy nie ma kolizji), ale nadal muszę nad tym popracować.

Jak widać na zdjęciu nie otrzymałem jeszcze części do SMD. Obecnie rozwijam kod z prototypem.

Nie chcę kupować profesjonalnej płytki drukowanej. Czy nadal mogę to zbudować?

Oczywiście. Zrobiłem już samouczek, jak zbudować tę konsolę na prototypowej płytce drukowanej z kropkowaną miedzią. Projekt można znaleźć tutaj:

Krok 1: Zdobycie wszystkich części

Zdobycie wszystkich części
Zdobycie wszystkich części

Po pierwsze potrzebujesz wszystkich części. Możesz zamówić PCB w JLCPCB lub innej witrynie, która używa plików Gerber. Pliki Gerber służą do opisu PCB dla producenta. Są to po prostu pliki. ZIP, które zawierają każdy szczegół zaprojektowanej płytki drukowanej.

Oto link do PCB:

Oto lista komponentów, które będziesz musiał kupić, aby działał:

  • ATmega328P (TQFP-32)
  • 8 szt. 6 x 6 x 6 mm guzików
  • Oscylator kwarcowy 16 MHz
  • 2 szt. kondensatora 22 pF 0603
  • Wyświetlacz SSD1306 z interfejsem SPI. (128 x 64, monochromatyczny)
  • Dwa rezystory 0603 10 kΩ

Oto lista opcjonalnych komponentów:

  • NRF24L01+
  • AMSD1117-3.3 (regulator 3, 3 V dla NRF24L01+)
  • Kondensator 1206 680 nF (NRF24L01+ wymaga stałego napięcia do poprawnej pracy.)
  • 2 szt. 1206 led (jeśli chcesz błyskać lampkami)
  • 2 szt. rezystorów 0603 do diod led

Krok 2: Złóż tablicę

Będzie to trochę trudne do opisania, ponieważ nie zbudowałem jeszcze żadnych płytek drukowanych. Nie mam pojęcia, gdzie poszły części, ale mam nadzieję, że wkrótce dotrą.

Jak zwykle przy lutowaniu, użyj jakiegoś wyciągu oparów i umyj ręce po dotknięciu topnika lub lutowia. I uważaj na lutownicę. Spowoduje poważne oparzenia, jeśli go dotkniesz, gdy ma około 350 stopni Celsjusza. Jeśli jednak zranisz się lutownicą, użyj zimnej wody, aby schłodzić spalone miejsce

Jeśli nigdy nie lutowałeś części SMD, gorąco polecam obejrzenie kilku tutoriali z YouTube. Podstawową zasadą jest nałożenie lutu na jeden pad, umieszczenie chipa na miejscu i przylutowanie pinu. Następnie po prostu wykonaj przeciwną stronę, a jeśli jest więcej pinów, zrób je. Możesz również użyć topnika, aby pomóc w procesie lutowania.

Będziesz także potrzebował knota lutowniczego, aby móc przylutować mikrokontroler. Po prostu przelej szpilki lutowiem i użyj knota lutowniczego, aby usunąć nadmiar.

Upewnij się, że lutujesz części we właściwy sposób. Zazwyczaj mikrokontrolery mają kropkę wskazującą pierwszy pin. Zwykle płytki drukowane mają również kropkę wskazującą orientację.

W przypadku części SMD zazwyczaj najpierw przylutowuje się małe części. Jeśli najpierw przylutujesz głowice, prawdopodobnie uderzysz je lutownicą i uwolnisz nieprzyjemne gazy. Z doświadczenia mogę polecić tę sekwencję. Nie musisz podążać za tą listą, ale jest zrobiona ze zdrowym rozsądkiem:

  1. Kondensatory
  2. Diody i rezystory do diod led (opcja) [najpierw należy przylutować rezystory]
  3. Regulator i mikrokontroler (Upewnij się, że umieściłeś MCU we właściwy sposób! Kropka powinna być skierowana w tę samą stronę, co oznaczenie [biała kropka] na płytce drukowanej.)
  4. Kryształ
  5. guziki
  6. Nagłówki (nagłówek NRF24L01+ to miejsce, w którym spoczywałby palec, więc zalecam użycie niektórych przewodów, aby zapewnić mu pewną elastyczność.)
  7. Kilka przewodów do akumulatora. Główne zasilanie jest oznaczone VCC i GND. VCC powinno wynosić około 3,6-6 woltów. To napięcie trafia bezpośrednio do mikrokontrolera, więc upewnij się, że nie przepuszczasz przez niego zbyt dużego napięcia.

Krok 3: Oprogramowanie

Image
Image

Na przestrzeni lat stworzyłem kilka gier na tego typu platformę. Stary kod do wielu gier możesz znaleźć tutaj (to ten, który nazywa się mushroom_mcp_continued_v10_converted):

github.com/Teneppa/handheld_open_source

Silnik open source można znaleźć tutaj (użyłem Visual Studio do zakodowania go, więc jest wiele dziwnych plików):

Zalecana: