Hardware > Hardware (Classic 16-/32-Bit)
ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben
jeloneal:
--- Zitat von: nobox am Mo 09.02.2015, 21:47:59 ---So, ich habe den Sketch für Arduino mal (fast komplett neu) weiterentwickelt, auf deutsche Tastaturen optimiert, (<> Taste, AltGR auf ~, F11 F12 auf Num () und Page up/down auf Help/Undo), einen Maus und Joysticktreiber eingebaut und einen Mausspeedup eingebaut.
Für den Joystick mussten die USBapi.h und die HID.cpp der Arduino IDE angepasst werden.
Ich empfehle die Verwendung eines Pro Micro, der ist klein und billig.
Soll das Keyboard auch im BIOS funktionieren, muss man wahrscheinlich einen Teensy verwenden und den Code anpassen.
RX und TX der Tastatur mit RX/TX des Arduino, V+ und GND ebenso verbinden.
Arduino per USB an den PC und ab gehts ...
--- Ende Zitat ---
@nobox Ich hab dieses Thema wiederentdeckt, da ich auch grade versuche einen alten Atari mit einem Raspberry aufzupeppen. Ich hab jetzt hier einen Arduino Pro Micro (will wohl als Leonardo angesprochen werden). Ich die beiden von dir veränderten Dateien angepasst aber beim kompilieren knallts dann und ich kann den Code nicht auf den Arduino schieben. Jetzt stecke ich hier leider in einer Sackgasse und benötige Hilfe.
Hier mal die Fehlermeldung:
--- Code: ---Arduino: 1.8.11 (Windows 10), Board: "Arduino Leonardo"
In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:234:0,
from sketch\ikbd.ino.cpp:1:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/USBAPI.h:23:1: error: 'ring_buffer' does not name a type
ring_buffer *_cdc_rx_buffer;
^~~~~~~~~~~
exit status 1
Fehler beim Kompilieren für das Board Arduino Leonardo.
Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
--- Ende Code ---
nobox:
Füg mal oberhalb von
class Serial_
in der USBAPI.h folgendes ein
struct ring_buffer;
#ifndef SERIAL_BUFFER_SIZE
#if ((RAMEND - RAMSTART) < 1023)
#define SERIAL_BUFFER_SIZE 16
#else
#define SERIAL_BUFFER_SIZE 64
#endif
#endif
#if (SERIAL_BUFFER_SIZE>256)
#error Please lower the CDC Buffer size
#endif
alers:
Will ja nix sagen, aber hast Du Dir schon ausgesucht, welche 81 Tasten Du dann nur emulieren willst...
...weil soweit ich das noch weiß, kann der Pro eine Matrix von maximal 9x9 Tasten (Also 81 Tasten) ansteuern, da ist halt der eklatante Unterschied zum Leonardo (Da funktionieren halt alle), oder haben die mittlerweile den Pro so abgeändert, daß er mehr Ports dafür hat ?!?
nobox:
Lieber Herr @alers, sie haben das Prinzip nicht verstanden. Die Matrixabfrage wird mitnichten durch den Arduino gemacht, sondern nach wie vor vom HD6301. Der Leonardo uebersetzt nur dessen serielle ausgabe und gaukelt dem PC eine USB-Tastatur vor ...
alers:
--- Zitat von: nobox am Sa 06.06.2020, 15:13:49 ---Lieber Herr @alers, sie haben das Prinzip nicht verstanden. Die Matrixabfrage wird mitnichten durch den Arduino gemacht, sondern nach wie vor vom HD6301. Der Leonardo uebersetzt nur dessen serielle ausgabe und gaukelt dem PC eine USB-Tastatur vor ...
--- Ende Zitat ---
Hmmm. also würden dann die Micros (Obwohl in deren Specs was anderes steht) es doch können? Super :-) Dann kann ich meine vorherige Aussage nur revidieren und werde selbstredend meine Leonardos durch die Pro Micros ersetzen...
Nee, mache ich nicht.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln