Spisu treści:
- Krok 1: Zainstaluj bootloader na płytce rozwojowej
- Krok 2: Skonfiguruj Arduino IDE
- Krok 3: Zainstaluj szkic CapacitiveController
- Krok 4: Połączenia i przyciski
Wideo: 3 USD alternatywa dla Makey Makey: 4 kroki (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Makey Makey to świetne małe urządzenie, które emuluje klawiaturę USB i pozwala tworzyć klucze z dowolnych przedmiotów przewodzących (folia aluminiowa, banany, ciasto do zabawy itp.), które można następnie wykorzystać jako kontroler do gier i projektów edukacyjnych. Makey Makey ma dwie wady: (1) koszt i (2) konieczność podłączenia uziemienia.
Ten projekt jest tanią alternatywą z płytą STM32F1 o wartości 2 USD i czujnikiem pojemnościowym. Ma tylko 10 wejść w przeciwieństwie do Makey Makey 12, ale ma tę zaletę, że oprócz emulacji klawiatury może emulować kontroler gamepada USB (cyfrowy joystick).
Części:
- Płytka "czarna pigułka" STM32F103c8 (1,90$ na Aliexpress; więcej informacji tutaj)
- płytka stykowa (mniej niż 1 USD na Aliexpress) i przewody połączeniowe; lub po prostu kilka złączy dupont żeńsko-męskich (0,70 USD na Aliexpress za opakowanie 40 sztuk)
- spinacze do papieru, zaciski krokodylkowe itp.
Narzędzia:
- komputer
- Adapter UART-do-USB do wstępnego programowania płytki (wystarczy Arduino Uno lub Mega, podobnie jak tania jednostka CH340)
- lutownica do lutowania głowic na płytkę (można też użyć pęczka zacisków testowych bez lutowania, ale czasem wypadają)
Oprogramowanie jest przykładowym szkicem dołączonym do mojej biblioteki ADCTouchSensor, która pozwala na wykrywanie pojemnościowe za pomocą jednego pinu na płytce STM32F1 na czujnik (opiera się na bibliotece martin2250 dla AVR).
Ostrzeżenie: Przy suchej pogodzie lub gdy występuje problem z ładunkami elektrostatycznymi (np. na dywanie), nie dotykaj odsłoniętych metalowych złączy, ponieważ może to spowodować uszkodzenie elektrostatyczne płyty STM32F1. Spodziewam się, że odporność ziemniaków, bananów, ciasta itp. pomoże chronić deskę, ale jeśli użyjesz gołej folii aluminiowej, możesz mieć problemy. Z drugiej strony plansza kosztuje tylko 1,90 USD.
Pomysły na działania edukacyjne:
- Poeksperymentuj, aby dowiedzieć się, jakie przedmioty są przewodzące i mogą być używane jako powierzchnie kontrolne. (Np. ołówek kontra kredka; ciasto kontra świeca.)
- Pisz gry Scratch, które używają kontrolera domowej roboty.
- Zmodyfikuj kod Arduino zasilający projekt, aby umożliwić kliknięcie/ruch myszą, inne klawisze, więcej niż cztery kierunki joysticka itp.
Krok 1: Zainstaluj bootloader na płytce rozwojowej
Przylutuj dwa trzy-pinowe nagłówki w środku systemu rozwoju Black Pill (B0-/center/B0+; B1-/center/B1+) i długie nagłówki wzdłuż krawędzi (jeśli się spieszysz lub chcesz aby uniknąć niepotrzebnych szpilek, które mogą zmylić dzieci, potrzebujesz tylko szpilek dla A0-A10 i G).
Potrzebujesz mostka UART na USB, który jest kompatybilny z urządzeniami 3.3V. Możesz zamówić ch340 z Aliexpress za 0,66 USD, ale miałem podróbkę Arduino Mega i znalazłem fajną sztuczkę, którą znalazłem online. Jeśli na Arduino zwierasz pin resetujący do masy za pomocą krótkiego przewodu, staje się on mostem UART-USB - nie jest potrzebny żaden szkic. Jedyną sztuczką jest to, że oznaczenia RX i TX zostają odwrócone: pin „RX” Arduino transmituje, a jego pin „TX” odbiera. Arduino działa z napięciem 5 V, a czarna pigułka z napięciem 3,3 V, ale piny PA9 i PA10 na stm32f103 mają tolerancję na 5 V, więc nie powinno to stanowić problemu.
Na nagłówkach, które przylutowałeś, załóż zworkę od B0+ do środka i od B1- do środka.
Wykonaj następujące połączenia:
- PA9 do mostka UART RX („TX”, jeśli używasz sztuczki Arduino)
- PA10 do mostka UART TX ("RX", jeśli używasz sztuczki Arduino)
- Uziemienie mostka G do UART
Możesz użyć płytki stykowej lub zworek męskich do żeńskich, lub jeśli chcesz to zrobić przed lutowaniem nagłówków, możesz użyć klipsów testowych (jak na zdjęciu).
Pobierz plik binarny bootloadera. Chcesz generic_boot20_pb12.bin.
W systemie Windows zainstaluj program Flash Loader Demonstrator ST. W systemie Linux (i może OS X, a nawet Windows, jeśli wolisz narzędzia wiersza poleceń), użyj tego skryptu Pythona, ale moje instrukcje będą dotyczyć systemu Windows. Podłącz mostek UART do komputera.
Włącz Black Pill przez port USB (jeśli używasz komputera, prawdopodobnie będzie narzekał na nierozpoznane urządzenie USB; zignoruj to). Uruchom program Flash Loader Demonstrator. Wybierz port COM dla swojego mostka UART. Wybierz opcję „Usuń ochronę”, jeśli jest dostępna. Wybierz wersję flash 64kb zamiast 128kb. I wgraj plik binarny bootloadera.
Wyłącz wszystko, a następnie przesuń zworkę z B0+/środek do B0-/środek. Masz teraz bootloader, którego możesz używać z Arduino IDE.
Krok 2: Skonfiguruj Arduino IDE
Zakładam, że masz zainstalowane najnowsze Arduino IDE.
W Narzędziach | Tablice | Boards Manager, zainstaluj obsługę Arduino Zero (wystarczy umieścić Zero w wyszukiwaniu, kliknąć znaleziony wpis, a następnie zainstalować). Tak, nie pracujesz z Zero, ale to zainstaluje odpowiedni kompilator gcc.
Następnie pobierz rdzeń stm32duino. W systemie Windows zalecam pobranie pliku zip, ponieważ kiedy wyewidencjonowałem pliki (wprawdzie za pomocą svn), miałem pewne problemy z uprawnieniami do plików w katalogu narzędzi Windows, które wymagały naprawy. Umieść gałąź w Arduino/Hardware/Arduino_STM32 (będziesz więc mieć foldery takie jak Arduino/Hardware/Arduino_STM32/STM32F1 itp.) W systemie Windows zainstaluj sterowniki, uruchamiając drivers\win\install_drivers.bat.
Krok 3: Zainstaluj szkic CapacitiveController
W Arduino IDE wybierz Szkic | Dołącz bibliotekę | Zarządzaj bibliotekami. Wyszukaj „ADCTouchSensor” i zainstaluj wersję 0.0.6 lub nowszą. Powtórz i wyszukaj „USBHID” i zainstaluj moją bibliotekę USBHID_stm32f1.
Wybierz plik | Przykład | Czujnik dotykowy ADC | Kontroler pojemnościowy.
Upewnij się, że masz następujące ustawienia w Narzędziach:
- Płytka: ogólny STM32F103C8
- Metoda przesyłania: Bootloader STM32duino
Podłącz płytkę do komputera i kliknij strzałkę w prawo przycisk „prześlij”. Może zaistnieć potrzeba zresetowania płyty (naciśnij przycisk resetowania na niej), gdy w konsoli pojawi się komunikat o załadowaniu.
Krok 4: Połączenia i przyciski
Po odłączeniu urządzenia poprowadź przewody od pinów STM32F1 do powierzchni sterujących. Połącz za pomocą zacisków krokodylkowych, spinaczy do papieru lub po prostu przyklejając swetry do przedmiotów. Możesz użyć deski do krojenia chleba lub swetrów damsko-męskich. W przypadku Tetrisa na komputerze użyliśmy trybu klawiatury i klawiszy strzałek; dla Pac Mana na tablecie użyliśmy kabla USB OTG i trybu joysticka.
Szkic CapacitiveController kalibruje czujniki pojemnościowe, gdy jest włączony. Upewnij się, że podczas włączania nie dotykasz powierzchni sterujących, przewodów do nich ani szpilek. A jeśli zmodyfikujesz jakąkolwiek powierzchnię sterującą, musisz ponownie skalibrować, odłączając i ponownie podłączając lub naciskając biały przycisk resetowania na płycie.
Większość aplikacji tutaj będzie działać, podobnie jak wiele innych. Możesz również zobaczyć, ile projektów Makey Makey możesz dostosować.
Kilka dobrych powierzchni sterowych:
- owoce i warzywa
- modelina
- folia aluminiowa (z wyjątkiem warunków wysokiego statyki)
- mocno ołówkiem przyciski/połączenia na papierze (linie połączeń nie powinny być zbyt długie - na zdjęciu nie działał dolny przycisk)
- eksperymentuj z wieloma innymi! (możesz również spróbować poprawić 25 w linii if (sensors->read() > 25) w kodzie źródłowym niektórych powierzchni)
Połączenia w trybie klawiatury:
- Pozostaw A10 odłączony
- A0: spacja
- A1: w górę
- A2: lewy
- A3: dół
- A4: prawy
- A5: w
- A6: a
- A7: s
- B0: d
- B1: f
Połączenia w trybie gamepada/joysticka:
- Podłącz A10 do uziemienia (G), aby ustawić tryb joysticka
- A0: przycisk 1
- A1: w górę
- A2: lewy
- A3: dół
- A4: prawy
- A5-A7, B0, B1: przyciski 2-6
Wskazówka:
Jeśli używasz zworek typu męskiego do żeńskiego, możesz wykonać połączenie A10-masa w trybie joysticka, wciskając w siebie męskie końce dwóch zworek, tworząc w ten sposób zworkę typu żeńskiego i żeńskiego.
Zalecana:
Alternatywa dla STM32F103C8T6 od GigaDevice: 5 kroków
Alternatywa dla STM32F103C8T6 firmy GigaDevice: Przedstawiamy GD32F103C8T6 firmy GigaDevice jako tanią i szybszą alternatywę dla STM32F103C8T6
Uzyskaj ekran dla swojego Google Home za pomocą Raspberry Pi i Dialogflow (alternatywa dla Chromecasta): 13 kroków
Uzyskaj ekran dla swojego domu Google za pomocą Raspberry Pi i Dialogflow (alternatywa dla Chromecasta): Odkąd kupiłem dom Google, chcę sterować moimi urządzeniami w domu za pomocą poleceń głosowych. Działa świetnie pod każdym względem, ale czułem się źle z powodu jego funkcji wideo. Youtube i Netflix możemy oglądać tylko wtedy, gdy mamy urządzenie Chromecast lub T
Raspberry Pi jako alternatywa dla Chromecasta (Raspicast): 10 kroków (ze zdjęciami)
Raspberry Pi jako alternatywa dla Chromecasta (Raspicast): W tej instrukcji pokażę, jak używać raspberry pi 3 jako alternatywy dla Chromecasta. Warto również wspomnieć, że nie jest to bezpośredni klon Chromecasta i istnieją ograniczenia. Ta metoda nie obsługuje przycisku Cast, ale
DIY Tania i dokładna alternatywa dla rękawic z czujnikiem Flex: 8 kroków (ze zdjęciami)
DIY Tania i dokładna alternatywa dla rękawicy z czujnikiem Flex: Witam wszystkich, to jest moja pierwsza instrukcja, w której nauczę Cię, jak zrobić tanią i dokładną rękawicę z czujnikiem Flex. Użyłem wielu alternatyw dla czujnika flex, ale żadna z nich nie działała dla mnie. Poszukałem więc w Google i znalazłem nowy
Tania alternatywa dla lekkiego namiotu dla zdjęć: 3 kroki
Tania alternatywa dla lekkiego namiotu dla zdjęć: Cześć, to moja pierwsza instrukcja. Potrzebowałem taniego rozwiązania, aby robić lepsze zdjęcia mniejszych przedmiotów. Zrobiłem więc ten lekki namiot z materiałów wokół domu. W końcu kosztowało mnie to około 1,00 za kilka tablic plakatowych. Wszystko inne jest poddawane recyklingowi