logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

KAmod USB HID (CH9350) – jak odczytać dane z klawiatury USB przez RS232 na AVR?

GrzegorzSwinder 24 Gru 2025 09:33 288 8
REKLAMA
  • #1 21789045
    GrzegorzSwinder
    Poziom 14  
    Posty: 100
    Pomógł: 13
    Ocena: 33
    Odczyt danych z urządzeń USB HID przez RS232. W sklepie KAMAMI jest ciekawy moduł: KAmod USB HID - Przedłużacz urządzeń HID USB z układem CH9350. Umożliwia przejście z USB HID na transmisję szeregową. Pomyślałem, że kogoś może to zainteresować. SUPER sprawa - chcę to zastosować do podłączenia czytnika USB HID do mikrokontrolera. Można też podłączyć klawiaturę USB pod mikrokontroler. Da się ustawić na zworkach prędkość transmisji 38400, a więc w zasięgu Atmegi. Polecam się zainteresować tym układem. Dostajemy w paczce DWA - zworka - odbiera RS232 --> USB_C, bez zworki nadaje USB_A --> RS232. W załączeniu wynik analizy tego modułu analizatorem logicznym przy naciskaniu klawiszy na podłączonej klawiaturze USB. Jedyny problem to nadawany ciągle ciąg synchronizacyjny, który trzeba będzie programowo usuwać. Naprawdę GENIALNY moduł. Pomyślałem o odczycie UPS-a mającego wyjście HID na USB, ale tego nie testowałem.
    Widok analizatora logicznego pokazujący dekodowane dane UART z urządzenia USB HID.
  • REKLAMA
  • #2 21789563
    _jta_
    Specjalista elektronik
    Posty: 48974
    Pomógł: 3207
    Ocena: 4230
    https://kamami.pl/konwertery-usb---uart--rs23...n-hid-usb-z-ukladem-ch9350-5902186302549.html - kosztuje prawie 80zł. Raspberry Pi Zero można kupić nieco taniej (nawet Zero W - z WiFi), i zrobić dużo więcej. A nawet KAPico za kilkanaście zł ma większe możliwości (ma port USB 1.1, który może działać w trybach host i device, i nie jest ograniczony do HID).
  • REKLAMA
  • #3 21790131
    rb401
    Poziom 39  
    Posty: 3002
    Pomógł: 750
    Ocena: 984
    _jta_ napisał:
    kosztuje prawie 80zł


    Zauważ że to cena za komplet dwóch identycznych płytek. Ale u Chińczyka są tańsze, choć nieco uproszczone względem tych z Kamami:
    https://pl.aliexpress.com/item/1005007264990653.html

    Akurat mnie osobiście interesują te drugie płytki z tej oferty, na kostkach CH9329 (kupiłem moduły po ok. 3,50zł w trybie bundle deals) czyli konwersja tylko w jedną stronę (RS232->USB HID device). Nawet ramki danych wyglądają na takie same jak w CH9350. Ale jest też opcjonalny prosty tryb tekstowy, że to co się wyśle po RS232 znakami ASCII jest widziane od strony USB jak klawiatura. Nie operuje się zdarzeniami typu naciśnięcie i zwolnienie klawisza z po prostu wysyła się tekst. Przykładowo stary czytnik kodów paskowych z wyjściem na COM, tą kostką można łatwo przerobić na typ z USB emulujący klawiaturę.
    Ale generalnie masz rację że na dziś wystarczy odpowiednio użyć np. Raspberry Pi pico i uzyskać lepszą funkcjonalność niż te konwertery i to za mniejszą cenę.
    Ale kostki ciekawe i mogą w pewnych zastosowaniach być bardzo optymalne.
  • REKLAMA
  • #4 21807762
    GrzegorzSwinder
    Poziom 14  
    Posty: 100
    Pomógł: 13
    Ocena: 33
    >>21790131 >>21790131 Kupiłem właśnie CH9329 - mam takie pytanie - jak ustawić zworki aby z ASCII po serialu transmitowało mi dane do komputera ? Wiem ,że mogę się podłączyć , ustawić 9600 i próbować na wszystkich kombinacjach ale może ktoś już to ogarnął .
  • #5 21808003
    _jta_
    Specjalista elektronik
    Posty: 48974
    Pomógł: 3207
    Ocena: 4230
    Rozumiem, że kupiłeś moduł CH9329 - bo taką nazwę ma także układ scalony: CH9329, który zapewne jest tam zastosowany. Szkopuł w tym, że taki moduł może być produkowany w wielu wersjach, różniących się tym, jakie mają zworki i jak rozmieszczone - musisz poszukać instrukcji od swojej wersji, może zapytać sprzedawcę o opis.
  • REKLAMA
  • #6 21808178
    rb401
    Poziom 39  
    Posty: 3002
    Pomógł: 750
    Ocena: 984
    GrzegorzSwinder napisał:
    jak ustawić zworki aby z ASCII po serialu transmitowało mi dane do komputera ?


    Wystarczy założyć zworkę CFG0 (brak zworki-1, zworka jest-0) i kostka będzie w tym trybie ASCII:

    Tabela trybów komunikacji CH9329 z zaznaczonym ASCII mode (CFG11, CFG00)

    W takim module, który akurat kupiłem od Chińczyka, ta zworka jest opisana jako "G0" (druga od złącza USB):
    Moduł USB z układem CH340 i pinami konfiguracyjnymi oznaczonymi m.in. jako G0

    Sprawdziłem praktycznie i działa.
  • #7 21808183
    GrzegorzSwinder
    Poziom 14  
    Posty: 100
    Pomógł: 13
    Ocena: 33
    >>21808178 Wielkie dzieki - mam maszynę która wydaje dane pomiarowe w SERIAL i chcę ją podłączyć do komputera przez ten moduł plus Atmega która będzie konwertować dane tak , aby maszyna sama sobie wpisywała dane w tabelki jak z klawiatury .
  • #8 21808345
    _jta_
    Specjalista elektronik
    Posty: 48974
    Pomógł: 3207
    Ocena: 4230
    A nie prościej podłączyć tę maszynę do portu szeregowego w komputerze i obrabiać dane programem napisanym na ten komputer?

    Do wprowadzania danych używałem kiedyś formatu FODS - to jest format tekstowy nadający się do wpisywania złożonych danych do arkusza kalkulacyjnego. Prostszy jest format COMMA, ale on wymaga podawania dodatkowych informacji przy wczytywaniu, w tym czasem określania typów pól, aby nie zamieniać np. liczby w datę - a mi chodziło o wprowadzanie, które będzie robione codziennie.
  • #9 21809122
    rb401
    Poziom 39  
    Posty: 3002
    Pomógł: 750
    Ocena: 984
    GrzegorzSwinder napisał:
    aby maszyna sama sobie wpisywała dane w tabelki jak z klawiatury .


    Gdybyś potrzebował dane prosto z maszyny, bez pośrednictwa Arduino, to w miarę łatwo da się zaprogramować prędkość kostki na inną standardową wartość od 1200 do 115000 bodów. Programowanie bitrate i różnych innych parametrów jest możliwe zarówno od strony USB jak i portu szeregowego, co praktycznie sprawdziłem.
    Jedynie sporą uciążliwością związaną z korzystaniem z tej kostki jest to, że tylko mała część dokumentacji i oprogramowania jest po angielsku a reszta tylko w wersji chińskiej. Pół biedy pdfy po chińsku bo się je doczyta jak się uprzeć, ale np. program konfiguracyjny w wersji chińskiej to już nie da rady wszystkiego odgadnąć, choć przykładowo ścieżka zmiany bitrate jest ogarnięta.

    Zrzut ekranu z chińskiego programu konfiguracyjnego dla konwertera USB-UART

Podsumowanie tematu

✨ Dyskusja dotyczy modułu KAmod USB HID z układem CH9350, który umożliwia konwersję sygnału USB HID na transmisję szeregową RS232, co pozwala na podłączenie klawiatury USB lub czytnika USB HID do mikrokontrolera AVR. Moduł pozwala na ustawienie prędkości transmisji do 38400 bodów za pomocą zworki, co jest kompatybilne z Atmegą. W paczce znajdują się dwie płytki z różnymi konfiguracjami zworki: z zworką odbiór RS232 → USB_C, bez zworki nadawanie USB_A → RS232. Problemem jest ciąg synchronizacyjny, który wymaga usunięcia programowego. W dyskusji porównano ten moduł do alternatyw, takich jak Raspberry Pi Zero lub KAPico, które oferują większe możliwości i niższą cenę. Wspomniano także o tańszych modułach z układem CH9329, które działają jednokierunkowo (RS232 → USB HID device) i mogą pracować w trybie tekstowym ASCII, emulując klawiaturę USB. Użytkownik pytał o konfigurację zworki w module CH9329, aby transmisja ASCII po RS232 była widoczna na komputerze. Odpowiedź wskazała, że założenie zworki CFG0 (oznaczonej jako G0) w module CH9329 przełącza układ w tryb ASCII, co zostało potwierdzone praktycznie. Wskazano również, że różne wersje modułów mogą mieć różne rozmieszczenie i opisy zworków, dlatego warto sprawdzić dokumentację lub zapytać sprzedawcę.
Wygenerowane przez model językowy.
REKLAMA