für mein aktuelles Bastelprojekt möchte ich einen bereits vorhandenen Adruino Uno R3 (SMD-Version) als USB-Keyboard verwenden. Dazu müsste ich mit dem Programm flip ein neues Hex-File einspielen, jedoch klappt das irgendwie nicht so recht. Nachdem ich Reset auf Masse gelegt habe ist der Uno vom PC aus nicht mehr sichtbar, es müsste laut manchen Tutorials jedoch ein DFU-device erscheinen.
DeineAnleitung:
To verify you have reset the 8u2 or 16u2 chip: In the Arduino programming environment, check the list of serial ports. The serial port for your board should no longer show up.
das sieht doch also erstmal ok aus.
Was dein "Flip" weiter macht, weiss ich allerdings nicht...
stony:
Nachdem ich Reset auf Masse gelegt habe ist der Uno vom PC aus nicht mehr sichtbar, es müsste laut manchen Tutorials jedoch ein DFU-device erscheinen.
Hast Du Reset fest auf Masse gelegt? dann kann das nicht funktionieren. Du darfst das nur kurz mit Masse verbinden, dann erscheint im Gerätemanager der ATmega16U2 als Atmel USB-Device (und das serial Device verschwindet).
Diesen Reset habe ich benutzt. Die Brücke wieder zu öffnen ist ja schon mal ein guter Tipp, danke.
Jetzt habe ich nach dem Reset ein unbekanntes Gerät in der Liste und finde keinen Treiber dazu.
Auf dem AtMega16U2 muss ein DFU fähiges Programm/Bootloader laufen.
Ohne dem geht es nicht mit Flip
Sollte von Original schon drauf sein.
Ansonsten: Es liegt der IDE bei.
Dann kannste Flip einfach so nutzen.
Kein Reset nötig.
den Windows-Treiber habe ich im Atmel\Flip Verzeichnis gefunden. Nun wird der der 16U2 nach dem Reset als ebensolcher angezeigt und ich kann mit Flip das neue File aufspielen. (Adruino-Keybord-03.hex)
Nach dem Neustart ist der Uno dann als Keyboard unter den Devices aufgelistet. Leider ist er dann von der IDE nicht mehr erreichbar, was dann etwas umständlich ist wenn man am Sketch was ändern möchte.
Ohne einen Reset (das heisst solange "Uno" als Divice aufgelistet wird) bekomme ich mit Flip keine Verbindung zum Uno.
Nach dem Neustart ist der Uno dann als Keyboard unter den Devices aufgelistet. Leider ist er dann von der IDE nicht mehr erreichbar, was dann etwas umständlich ist wenn man am Sketch was ändern möchte.
JA, der ATmega16U2 kann nicht gleichzeitig USB-serial Wandler und Tastatur sein.
Kauf Dir einen Arduino Leonardo oder Arduino MICRO. Die können von haus aus eine USB-Tastatur emulieren.
uwefed:
JA, der ATmega16U2 kann nicht gleichzeitig USB-serial Wandler und Tastatur sein.
Heisst das im Umkehrschluss, wenn bei einem normalen Uno das keyboard hex mit einem usbasp auf dem 16U2 geflasht wird, macht der einen auf PC Tastatur. Und den 328 kann ich über ISP normal flashen? Bzw. per usb-ttl Adapter und BL, wenn der 16U2 im Reset gehalten wird?
Bzw. per usb-ttl Adapter und BL, wenn der 16U2 im Reset gehalten wird?
Das ist gar nicht nötig, da der 16U2 dann die Seriellen Pins u.U. gar nicht nutzt.
Wenn er sie nicht nutzt, dann auch keine Kollision.
Man kann allerdings auch mit dem ATMega328P tolle Sachen machen/rechnen, und Daten über die Serielle an den ATMega16U2 schicken, welcher dann diese an den PC, in Form von Joystick,Tastatur, oder was es auch immer an HID es geben mag, weiterreicht.
combie:
Allerdings:
Das ist gar nicht nötig, da der 16U2 dann die Seriellen Pins u.U. gar nicht nutzt.
Wenn er sie nicht nutzt, dann auch keine Kollision.
Kann ich nun nicht ganz folgen. Die Pins sind doch nach wie vor verbunden, und der 16U2 erwartet doch serielle Daten vom 328, die er als Tastaturemulator weiterreichen kann.
Na ha, ich ging halt nun vom konkreten Beispiel Tastaturemulation aus, wie der TO. Und da ist man doch gezwungen, wenn man einen Uno verwendet, den 16U2 zu flashen.