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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 18 kwi 2025, o 14:21


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
    Autor Wiadomość
     Tytuł: Sterownik USB
    PostNapisane: 6 paź 2015, o 12:09 
    Offline
    Nowy

    Dołączył(a): 15 lis 2014
    Posty: 16
    Pomógł: 0

    Cześć!
    Na wstępie chciałbym zaznaczyć że w kwestii łączenia układów opartych na mikrokontrolerach i OSa na komputerze doświadczenie mam zerowe. Stworzyłem kilka projektów (które wrzuciłem na forum) oraz studiuję 3 rok informatykę więc osobno - wiem z czym się te rzeczy je lecz nie mam pojecia jak je połączyć :) Na jeden z przedniotów na studiach chciałbym wykonać projekt w którym wykonałbym płytkę z klawiaturą multipleksowaną (bądż też po prostu z 6 przyciskami na sztywno wyprowadzonymi 6 liniami) z pomocą której możnaby emulować myszkę na Windowsie ( jeden przycisk to ruch w górę, drugi w dół, trzeci w lewo, czwarty w prawo, piąty PPm, szósty LPM ). Chciałbym aby dane z płytki były przerzucane za pomocą USB do komputera który... no właśnie który "jakoś" by to interpretował, tutaj pojawia się problem bo ta strefa jest dla mnie nieznana, wymaganie projektowe mówi aby "program operował na poziomie sterowników sprzętowych". Czy ktoś z Was może natrafił kiedyś na podobne projekty? Albo ktoś byłby w stanie podlinkować mi strony/materiały w których znajdę informacje jak zacząć i w którą stronę iść?
    Pozdrawiam,
    Jacek.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 paź 2015, o 12:40 
    Offline
    Użytkownik

    Dołączył(a): 22 sty 2014
    Posty: 1806
    Zbananowany użytkownik

    Pomógł: 168

    Tu masz to co chcesz tylko na Arduino:

    https://www.arduino.cc/en/Tutorial/Keyb ... useControl

    A jak nie chcesz się tak bawić to zainteresuj się ATmegą 32u4 (siedzi w leonardo) i napisz swoją bibliotekę w C na podstawie tej Ardionowej KLIK. I tyle. Filozofii tu nie ma.

    Ewentualnie Atmel udostępnia API swoje dla USB:

    http://www.atmel.com/tools/AVRUSBSERIES ... b=overview

    ------------------------ [ Dodano po: 10 minutach ]

    a, jest jeszcze biblioteka V-USB czyli softwerowe rozwiazanie:

    https://www.obdev.at/products/vusb/prjhid.html



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 paź 2015, o 13:33 
    Offline
    Użytkownik

    Dołączył(a): 20 wrz 2013
    Posty: 647
    Zbananowany użytkownik

    Pomógł: 101

    elklepo napisał(a):
    Chciałbym aby dane z płytki były przerzucane za pomocą USB do komputera który... no właśnie który "jakoś" by to interpretował, tutaj pojawia się problem bo ta strefa jest dla mnie nieznana, wymaganie projektowe mówi aby "program operował na poziomie sterowników sprzętowych".

    Ale co ty masz zrobić na PC? Chyba nie masz napisać sterownika do tej myszki? Generalnie myszki korzystają ze standardowego sterownika HID a system operacyjny udostępnia jakieś API. Zakładam, że masz coś tam napisać z wykorzystaniem tego API, no to trzeba szukać przykładów programowania zwykłej myszki. Ja się na tym nie znam ale google pokazuje np. coś takiego: http://komputery.spryciarze.pl/zobacz/jak-programowac-w-c-winapi-8-obsluga-myszy
    Co do strony mikrokontrolerowej to jest to dosyć proste, kolega w poście wyżej wspomniał o VUSB tu masz praktycznie gotowca: http://codeandlife.com/2012/02/11/v-usb-tutorial-continued-hid-mouse/. Dla lepszego zrozumienia działania V-USB wskazane jest zapoznanie z poprzednimi odcinkami tego tutoriala. Warto też zapoznać się ze specyfikacją HID (do znalezienia na stronach http://www.usb.org). Jak podany przykład się nie podoba to na stronach http://www.obdev.at jest mnóstwo opisów zrealizowanych projektów i można sobie coś wybrać.
    Trzeba pamiętać że VUSB co prawda działa ale nie jest programowo i elektrycznie zgodny ze specyfikacją USB. Może więc lepiej skorzystać z mikrokontrolera ze sprzętowym USB np. jak wspomniany wyżej AVR ATmegą 32u4. Wtedy do obsługi USB jest framework LUFA, albo Atmelowski AVR USB Stack, albo jeszcze inny (http://www.fourwalledcubicle.com/files/LUFA/Doc/120219/html/_page__l_u_f_avs_atmel_stack.html). Te mikroprocki są trochę kłopotliwe bo nie ma wersji DIP ale można skorzystać ze wspomnianego wyżej Arduino Leonardo. Można także skorzystać z Arduino Uno, gdzie ten mikroprocek siedzi jako przejściówka USB-Serial (tzn. może nie ten konkretny ale jakiś z USB).

    _________________
    +++++[>++++<-]>[>++++++<-]>.---------.+++.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 paź 2015, o 14:02 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2015
    Posty: 83
    Pomógł: 6

    Kilka przydatnych linków w kwestii USB i/lub emulacji urządzeń HID:

    http://forum.atnel.pl/topic6137.html

    http://rayshobby.net/hid-class-usb-serial-communication-for-avrs-using-v-usb/

    http://4programmers.net/Z_pogranicza/Budowa_modu%C5%82u_kontrolnego_na_USB_przy_pomocy_mikrokontrolera_AVR


    ewentualnie możesz zainteresować się DigiSparkiem, krótki opis i jak go zrobić jest tutaj (choć nie jestem pewien w 100% czy Ci wystarczy)

    http://majsterkowo.pl/robimy-klona-digisparka/

    Pozdro



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 kwi 2016, o 10:23 
    Offline
    Nowy

    Dołączył(a): 14 kwi 2016
    Posty: 7
    Pomógł: 0

    Ja nie mogę tego ogarnąć. Ciągle coś mi się wysypuje...

    _________________
    Witam!



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 kwi 2016, o 15:47 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2015
    Posty: 83
    Pomógł: 6

    arkilon napisał(a):
    Ja nie mogę tego ogarnąć. Ciągle coś mi się wysypuje...


    W pliku hid.cpp w lini 57 brakuje Ci średnika i zmień nazwę funkcji z run() na uruchom() , może Twój polski Windows nie rozumie po angielsku? :mrgreen:

    A tak na serio, jak chcesz żeby ktoś Ci pomógł to załóż osobny wątek i opisz dobrze co Ci się "wysypuje"... :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 kwi 2016, o 16:36 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    marmur napisał(a):
    W pliku hid.cpp w lini 57 brakuje Ci średnika i zmień nazwę funkcji z run() na uruchom()
    W załączonym kodzie brakuje funkcji main() :D

    --
    Pozdrawiam,
    Robert



    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: 7 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


    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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO