Kontroler Joystick Atmega8
: poniedziałek 17 lut 2020, 14:46
Opisuję tu projekcik na AVR do samodzielnego montażu:
W przypadku niektórych projektów bardzo przydatny jest obwód umożliwiający podłączenie 12 przycisków (w tym 4 przycisków kierunkowych) do komputera za pomocą portu USB. Oto kilka przykładów:
Domowy kontroler w stylu Arcade i małe szafki zręcznościowe
Prosty kontroler (1 przewód na przycisk) na USB. Np .: Neo-Geo, Atari ...
Korzystając z odpowiedniego oprogramowania po stronie komputera, wejścia można wykorzystać do innych celów. Np .: Przełączniki, wyłączniki krańcowe, alarmy ... Czystsze rozwiązanie niż modyfikacja istniejącego kontrolera gier
W zależności od twoich umiejętności możesz zbudować obwód na płytce uniwersalnej za pomocą elementów przelotowych lub zbudować wersję do montażu powierzchniowego za pomocą mojej małej płytki drukowanej PCB2 .
Nie wymaga sterowników!
Zgadza się, ponieważ standard USB określa klasy urządzeń. Używam ludzkiego urządzenia wejściowego (HID), które pozwala mi powiedzieć komputerowi, że podłączone urządzenie USB jest joystickiem i ma 2 osie oraz 4 lub 8 przycisków. Kolejną miłą rzeczą jest to, że adapter powinien współpracować ze wszystkimi systemami operacyjnymi obsługującymi urządzenia HID. (Przetestowałem i działa przynajmniej na Win98, Win2K, WinXP i Linux) Ten projekt wykorzystuje mikrokontroler ATmega8 firmy Atmel. Ten mikrokontroler nie obsługuje USB w sprzęcie, więc użyłem tylko oprogramowania USB sterownika Objective Development . Sterownik ten pozwala mikrokontrolerowi AVR, np. ATmega8, na komunikowanie się przez USB z minimalnymi elementami zewnętrznymi. W rezultacie interfejs można łatwo i tanio zbudować Pliki: ftp://ftp.piracz.com.pl/pubilc/public/R ... tick%20A8/
Wiele mikrokontrolerów ma tak zwane „bajty bezpieczników”. W przypadku ATmega 8a istnieją dwa bajty: bajt wysoki i bajt niski. Te bajty służą do konfigurowania niektórych aspektów mikrokontrolera. Jakiego rodzaju zegara użyć? Kryształ? Rezonator? Wewnętrzny zegar RC? Zezwolić na programowanie przez ISP? Bardzo ważne jest, aby ustawić bezpieczniki na właściwe wartości. Zastosowanie niewłaściwych wartości może sprawić, że MCU nie będzie nadawać się do użytku.
Oto odpowiednie wartości bezpiecznika dla tego projektu:
wysoki bajt = 0xc9 , niski bajt = 0x9f
Film komentujemy na forum PCB powstało na nowo https://youtu.be/rwl1kVxSlDE
W przypadku niektórych projektów bardzo przydatny jest obwód umożliwiający podłączenie 12 przycisków (w tym 4 przycisków kierunkowych) do komputera za pomocą portu USB. Oto kilka przykładów:
Domowy kontroler w stylu Arcade i małe szafki zręcznościowe
Prosty kontroler (1 przewód na przycisk) na USB. Np .: Neo-Geo, Atari ...
Korzystając z odpowiedniego oprogramowania po stronie komputera, wejścia można wykorzystać do innych celów. Np .: Przełączniki, wyłączniki krańcowe, alarmy ... Czystsze rozwiązanie niż modyfikacja istniejącego kontrolera gier
W zależności od twoich umiejętności możesz zbudować obwód na płytce uniwersalnej za pomocą elementów przelotowych lub zbudować wersję do montażu powierzchniowego za pomocą mojej małej płytki drukowanej PCB2 .
Nie wymaga sterowników!
Zgadza się, ponieważ standard USB określa klasy urządzeń. Używam ludzkiego urządzenia wejściowego (HID), które pozwala mi powiedzieć komputerowi, że podłączone urządzenie USB jest joystickiem i ma 2 osie oraz 4 lub 8 przycisków. Kolejną miłą rzeczą jest to, że adapter powinien współpracować ze wszystkimi systemami operacyjnymi obsługującymi urządzenia HID. (Przetestowałem i działa przynajmniej na Win98, Win2K, WinXP i Linux) Ten projekt wykorzystuje mikrokontroler ATmega8 firmy Atmel. Ten mikrokontroler nie obsługuje USB w sprzęcie, więc użyłem tylko oprogramowania USB sterownika Objective Development . Sterownik ten pozwala mikrokontrolerowi AVR, np. ATmega8, na komunikowanie się przez USB z minimalnymi elementami zewnętrznymi. W rezultacie interfejs można łatwo i tanio zbudować Pliki: ftp://ftp.piracz.com.pl/pubilc/public/R ... tick%20A8/
Wiele mikrokontrolerów ma tak zwane „bajty bezpieczników”. W przypadku ATmega 8a istnieją dwa bajty: bajt wysoki i bajt niski. Te bajty służą do konfigurowania niektórych aspektów mikrokontrolera. Jakiego rodzaju zegara użyć? Kryształ? Rezonator? Wewnętrzny zegar RC? Zezwolić na programowanie przez ISP? Bardzo ważne jest, aby ustawić bezpieczniki na właściwe wartości. Zastosowanie niewłaściwych wartości może sprawić, że MCU nie będzie nadawać się do użytku.
Oto odpowiednie wartości bezpiecznika dla tego projektu:
wysoki bajt = 0xc9 , niski bajt = 0x9f
Film komentujemy na forum PCB powstało na nowo https://youtu.be/rwl1kVxSlDE