Skocz do zawartości

Zaprogramowanie przycisków jako wyjściowe


Pomocna odpowiedź

Posiadam moduł arduino uno r3 i kupiłem moduł przycisku. Chciałbym aby gdy kliknę w ten przycisk to np. włącza mi się ręczny w jakiejś grze. Nie chce gotowego kodu i schematu rozmieszczenia kabli po prostu chce mały i szybki poradnik.

Link do komentarza
Share on other sites

@Janizator witam na forum 🙂 Jak rozumiem interesuje Cię po prostu symulowanie działania klawiatury. Wciskasz przycisk, a Arduino wysyła do komputera informację, która jest intepretowana jako naciśnięcie jakiś klawiszy na komputerze. Zgadza się? Jeśli tak to najprościej będziesz, gdy zdecydujesz się na zmianę Arduino UNO na Arduino Leonardo - tam będzie to znacznie łatwiejsze. Tutaj więcej informacji: https://www.arduino.cc/reference/en/language/functions/usb/keyboard/

  • Lubię! 1
Link do komentarza
Share on other sites

(edytowany)

Szukając niedawno informacji o HID USB natknąłem się na HID z Arduino UNO (ale musi mieć 16U2 czy co tam jest, nie jakiś mostek tylko. W sumie płytka dwukontrolerowa, potencjał jednego (połowy Leonardo) się marnuje), choć to nie zgodne z filozofią Arduino, bardziej hakowanie Arduino. "Łatwiejsze" może się okazać połączenie szeregowe i program co będzie klikał w klawisze, np. skrypt (można pominąć krok aktywacji okna po tytule, to co będzie aktywne, tam pędzie "pisać", działa, ciekawa funkcja, przyda się) w PowerShellu. Np. prosty terminal, gdzie możesz po otrzymaniu konkretnej wiadomości (to już samemu dopisać) coś zrobić. Ulepione, ale działa:

@echo off
mode con: cols=50 lines=16
PowerShell ^
$bol = 1; ^
$port = new-Object System.IO.Ports.SerialPort COM23,921600,None,8,one; ^
$port.DTREnable = $True; ^
do {try{$port.open(); $bol = 0} catch{$bol = 1}; Start-Sleep -Milliseconds 20} while ($bol -eq 1); ^
while ($true) {$port.ReadLine()}

Nie miało być, ale gotowiec:

@echo off
mode con: cols=50 lines=16
PowerShell ^
$wshell = New-Object -ComObject wscript.shell; ^
$bol = 1; ^
$port = new-Object System.IO.Ports.SerialPort COM23,921600,None,8,one; ^
$port.DTREnable = $True; ^
do {try{$port.open(); $bol = 0} catch{$bol = 1}; Start-Sleep -Milliseconds 20} while ($bol -eq 1); ^
while ($true) {if ($port.ReadLine() -eq 'r') {$wshell.SendKeys('r')}}

Jak Arduino wyśle portem szeregowym "r", to kliknie system w "r".

Edytowano przez matsobdev
  • Lubię! 2
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.