[C++] Sterowanie urządzeniem


(Krzysiu960) #1

Witam, zbudowałem prosty panel diod LED z wtyczką do portu USB. Prosiłbym o porady jak napisać program w którym mogę włączać i wyłączać poszczególne diody, bo ja za Chiny nie mogę sobie z tym poradzić..

Dla uproszczenia mojego problemu:

Diody mają swoje identyfikatory - 1, 2, 3, 4 itd. i chcę aby po naciśnięciu danego przycisku zapalały się diody np. 1 i 3, po naciśnięciu innego przycisku zapalała się dioda np. 4. Wiem, że problem wygląda raczej na elektroniczny, ale chodzi mi o sterowanie za pomocą programu.

Bardzo proszę o pomoc.

Pozdrawiam!


(Drobok) #2

Pokaż ten panel, bo coś wątpię by nadawał się do sterowania nim przez usb. Btw idź z tym lepiej na elektrode bo tutaj mało jest ludzi bawiących się układami ;]


(Krzysiu960) #3

Tzn wiesz, panel jest tak jakby tylko sterowany przez USB, a zasilany poprzez zasilacz - bo się bałem, że spalę port


(Razi) #4

Poszukaj jakiegoś tutoriala do obsługi USB w twoim systemie.

Ten panel musi mieć jakiś "sterownik", bo USB to tylko 2 kable zasilania i 2 kable danych. Na tych 2 kablach danych musisz wysłać informację na temat stanu 4 diod. Tak więc od strony programowej musisz zrobić coś, co taki pakiet danych o stanie przygotowuje, a od "sprzętowej" kontroler, który ten pakiet odczyta i zapali odpowiednie diody.


(Juszczyk Pawel) #5
  1. Pokaż schemat

  2. Tak jak napisał Razi zwykle w takich układach wykorzystuje się dodatkowy kontroler, zwykle mikrokontroler (uC). Jednak ten układ wydaje się na tyle prosty, że powinno się obejść bez uC. W tym konkretnym przypadku ihmo masz dwa wyjścia. Wersja exclusive, z układem z serii FT232 (FT232R ma nawet w opisie "Transmit and receive LED drive signals." cokolwiek by to nie znaczyło). Możesz też zbudować jakiś sekwencji bezpośrednio z bramek (seria TTL 7000 lub CMOS 4000, nie wiem jak z dostepnością). Masz do dyspozycji dwie linie danych, a więc cztery kombinację, czy mógłbyś zapalić każdą diodę osobno. Jeśli chciałbyś zapalić np. diodę 1 i 3 to już kłaniają się układy sekwencyjne. Tyle po stronie układu.

Po stronie PC musisz wysłać (raczej stale utrzymywać, więc wysyłać w pętli nieskończonej, bo inaczej diody Ci zgasną) dane po USB. Najłatwiej w asm / C / C++

@drobok

Elektronicy nie potrafią programować, uwierz mi na słowo


(Drobok) #6

A programiści nie znają się na układach ;]


(Juszczyk Pawel) #7

Tutaj będę się kłócił. Może Ci, którzy programują całe życie w Javie nie mają zielonego pojęcia o sprzęcie, ale programiści embed już trochę się znają.