Skocz do zawartości

Zaprogramowanie przycisków jako wyjściowe


Janizator

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

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

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.