Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 4 kwi 2026, o 05:49


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 19 ] 
Autor Wiadomość
PostNapisane: 20 paź 2016, o 10:28 
Offline
Nowy

Dołączył(a): 13 lip 2016
Posty: 12
Pomógł: 0

Witam,
Chciałbym wykonac kontroler przy pomocy biblioteki V-USB oraz mikrokontrolera ATmega8. Układ testowy mam już złożony, program też już mam. Niestety po podłączeniu urządzenia do komputera w menadżerze urządzeń mam taką oto informacje:

Obrazek

Jak widać chodzi o sterowniki. Czy ktoś może mi powiedzieć czy to kwestia szukania po necie czy może jednak należy dodać jakieś specjalne biblioteki do programu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 paź 2016, o 11:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

tunik napisał(a):
Jak widać chodzi o sterowniki. Czy ktoś może mi powiedzieć czy to kwestia szukania po necie czy może jednak należy dodać jakieś specjalne biblioteki do programu?


Niekoniecznie. Wystarczy ,że popełnisz drobny błąd w deskryptorach urządzenia i komputer PC "widzi a nie widzi" urządzenia V-USB. Idea tworzenia urządzenia HID polega na tym, aby tak oprogramować swoje urządzenie na uP z V-USB,by wykorzystać standardowe drivery systemu operacyjnego.

Przeglądnij wątek:
topic16389.html

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 paź 2016, o 11:24 
Offline
Nowy

Dołączył(a): 13 lip 2016
Posty: 12
Pomógł: 0

Ok, poradziłem sobie z problemem. Wykorzystałem drivery ze strony projektu libusb-win32. Pokierowałem się instrukcją z tego wątku na forum topic6137.html.
Mam inne pytanie. Póki co układ mam zmontowany na stykówce. Mam tam przycisk i joystick. Jak mógłbym teraz po podłaczeniu układu do komputera sprawdzić czy wciśniecie przycisku lub poruszanie joystickiem jest odbierane przez komputer?

EDIT: Już któryś raz buszując po internecie spotkałem się oto z taki oknem testującym:
Obrazek

Może ktoś wie jak uzyskac coś takiego?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 paź 2016, o 12:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

Jak używasz libusb-win32 to musisz sobie napisać swój program na PC.
W przypadku o którym piszesz może prościej użyć urządzenie HID joystick.
W podanym poniżej linku(j.angielski):
zrozumieć deskryptory
znajdziesz przykładowy projekt gdzie autor zrobił super urządzenie HID klawiaturo-mysz-joystick.
Działa dość wolno - ale to przykład edukacyjny.Możesz go okroić tylko do joystick-a. Urządzenie HID system operacyjny obsłuży swoimi driverami a reakcję czy joystick działa sprawdzisz przez panel sterowania/kontrolery gier.
Pozdr.

P.S Obrazek jaki niedawno umieściłeś dotyczy właśnie sytuacji urządzenia HID joystick.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 paź 2016, o 13:04 
Offline
Nowy

Dołączył(a): 13 lip 2016
Posty: 12
Pomógł: 0

Oto projekt, który chcę stworzyć:
http://www.fuw.edu.pl/~pablo/programowa ... trona.html

Wychodzi na to że w tym projekcie wszysto to jest zawarte. Niestety podłaczając urzadzenie do komputera, wyswietlilo mi nazwe urządzenia, ale komputer "nie obsłuzył" go swoimi sterownikami. Musiałem posłużyc się libusb-win32 i dopiero wtedy komputer "zatwierdził" urzadzenie. Hmm niestety w wyniku tego, najprawdopodobniej w panel sterowania/kontrolery gier nie odnajduje mi urządzenia...

EDIT:
Obecnie sytuacja wygląda następująco:
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 paź 2016, o 15:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

Na przedstawionym w linku schemacie brakuje rezystora podciągającego pin RESET uP do Vcc.
Zacznij może może od:
klawiatura HID V-USB
Układ uP po naciśnięciu przycisku wysyła do PC znak 'x'.
Naciśnięcie CAPS LOCK na klawiaturze PC włącza/wyłącza diodę LED na płytce uP.

Jak doprowadzisz do tej sytuacji będziesz wiedział ,że część sprzętowa działa.
Program USBDeview pomoże Ci sprawdzić listę i szczegóły urządzeń USB w PC.
Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 paź 2016, o 17:11 
Offline
Nowy

Dołączył(a): 13 lip 2016
Posty: 12
Pomógł: 0

Wykonałem ten projekt, który podesłałeś. Po podłączeniu urządzenie w menadżerze urządzeń jest widoczne jako "Urzadzenie wejściowe USB". Wyświetla że działa poprawnie. Natomiast po wciskaniu caps locka stan diody się nie zmienia, jest cały czas zgaszona. W kodzie musiałem dodać kilka poprawek ponieważ wywalało sporo błędów. Głównie chodziło o to żeby pododawać "const" w paru miejscach.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 paź 2016, o 17:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

W jakim środowisku pracujesz ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 paź 2016, o 17:31 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

Tu masz program, który analizuje dane z podłączonych urządzeń USB: USBlyzer Możesz pokazać wyniki dla swojego urządzenia?

Z tego co mi wiadomo, jeśli chodzi o robienie joysticków na bazie biblioteki V-USB, to nigdy one nie wymagały instalowania żadnych sterowników, czy korzystania z libUSB, ale być może to uległo zmianie.

To okno z kalibracji, o które pytasz, pojawia się, kiedy wejdziesz w kontrolery gier w Windows. (Oczywiście, jeśli joystick działa poprawnie).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 paź 2016, o 17:53 
Offline
Nowy

Dołączył(a): 13 lip 2016
Posty: 12
Pomógł: 0

Używam Eclipsa.

Bardzo chętnie bym przetestował urzadzenie za pomocą tego programu, lecz w momencie podłaczenia go do komputera, program się wiesza (włącza się kursor ładowania "klepsydra" i nie znika dopóki nie odłącze urządzenia, gdy odłącze program się "odwiesza").

EDIT:
W momencie odłączania urządzenia od komputera w programie w oknie po lewej strone gdzie mamy drzewko z portami i podłączonymi do nich urzadzeniami, na chwile pojawia się moje urzadzenie, potem znika.

EDIT2:
Uff program z miganiem diodą za pomocą CAPS LOCK'A zadziałał. Zmiana paru rzeczy w usbconfig.h pomogła. Czy to urzadzenie też powinno być widoczne w panelu sterowania/kontrolery gier?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 paź 2016, o 07:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

To jest klawiatura HID i zobaczysz ją w menadżerze urządzeń.
Czy jak otworzysz jakikolwiek edytor (np. notatnik Windows) i naciśniesz przycisk na płytce uP to pojawia się znak "x" na ekranie ?.
Ponieważ pracujesz na płytce stykowej (która potrafi być kapryśna), masz teraz wsad ,który przetestuje Ci konfigurację sprzętową.
Masz też większe pojęcie gdzie "włożyć ręce" w usbconfig.h .
Sugeruję abyś teraz przerobił przykład z linku "zrozumieć deskryptory" .
Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 paź 2016, o 16:03 
Offline
Nowy

Dołączył(a): 13 lip 2016
Posty: 12
Pomógł: 0

Tak, pisze mi "x". Urzadzenie działa prawidlowo. Jak tylko przerobię ten przykład z pewnością dam znać co i jak ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 paź 2016, o 15:26 
Offline
Nowy

Dołączył(a): 13 lip 2016
Posty: 12
Pomógł: 0

Witam to znowu ja. Udało mi się osiągnąć sukces tzn. w panelu sterowania/kontrolery gier widać moje 8 przycisków oraz dwa joysticki, komputer reaguje właściwie. Jeste jednak małe "ale". Otóż przyciski od 5 do 9 mrugają. Gdy nacisne któryś z nich to wszystko zachowuje się normalnie tzn. przycisk na ekranie ciemnieje. Czym może to byś spowodowane?

Obrazek


EDIT:
maverick_as pod linkiem, którego wrzuciłeś znajduje się także "USB Tutorial", w którym autor pokazuje schemat połączeń na płytce stykowej.
http://codeandlife.com/2012/01/25/avr-a ... al-part-2/

Wiesz może (albo ktokolwiek inny), dlaczego rezystory podciagajace linie D+ i D- do zasilania mają inne wartości?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 paź 2016, o 09:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

tunik napisał(a):
Jeste jednak małe "ale". Otóż przyciski od 5 do 9 mrugają. Gdy nacisne któryś z nich to wszystko zachowuje się normalnie tzn. przycisk na ekranie ciemnieje. Czym może to byś spowodowane?

Bez pokazaniu kodu/schematu pozostają tylko domysły. Miganie sugerowałoby ,że w stanie spoczynku na wejściach 5 do 8 pojawiają się przypadkowe stany.
tunik napisał(a):
Wiesz może (albo ktokolwiek inny), dlaczego rezystory podciagajace linie D+ i D- do zasilania mają inne wartości?

Aplikowałem V-USB w wersji ; zasilanie uP +5V i diodami zenera 3,6 V. Na ten moment nie wiem czy różnica w wartościach tych rezystorów jest istotna.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2016, o 21:57 
Offline
Nowy

Dołączył(a): 13 lip 2016
Posty: 12
Pomógł: 0

Tutaj mam schemat:
Obrazek


A tutaj main.c:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Ostatnio edytowano 2 lis 2016, o 12:12 przez tunik, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lis 2016, o 10:42 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3230
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

topic7402.html

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lis 2016, o 13:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

Sprawdź funkcję setupButtons().
Przyciski 1 do 4 obsługujesz PB0 do PB3 (młodsza połówka portu).
Przyciski 5 do 8 obsługujesz PD4 do PB7 (starsza połówka portu).
Dla portu D nie włączasz pull-upów.
jest: PORTD |= 0xF;
a powinno być: PORTD |= 0xF0;

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lis 2016, o 13:08 
Offline
Nowy

Dołączył(a): 13 lip 2016
Posty: 12
Pomógł: 0

Dziękuję wszystkim za pomoc ;) Udało się zbudować kontroler. w Panelu sterowania w konfiguracji kontrolera wszystko działa jak należy. Mam jednak pytanie. Chcąc wypróbować kontroler w grach np. CS:GO, kontroler już tak super nie działa. W menu co prawda poruszanie się działa ok, lecz w samej grze już niekoniecznie, np. nie mogę się poruszać ani rozglądać za pomocą joysticków, chociaż mam je ustawione w opcjach sterowania żeby tak właśnie było. To już kwestia gry i kompatybilnoci z odpowiednim kontrolerem czy muszę coś zrobić żeby mój kontroler działał poprawnie?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lis 2016, o 13:19 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

Ano widzisz pan, nie wszystkie programy korzystają z HID i dlatego czasem nic na to nie poradzisz.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 19 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 5 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO