Anfängerfrage, Bitte helfen (Arduino Uno)

Hallo, ich bin Totaler Anfänger und habe eine Frage zu einem Sketch.

Ich habe die Bibliothek keyboard installiert, aber ich bekomme immer diese Fehlermeldung:
‘Keyboard’ nicht gefunden. Beinhaltet Ihr Sketch die Zeile ‘#include <Keyboard.h>’?

Die Zeile ist vor dem Void setup teil eingefügt. Was soll ich machen?

Which board are you compiling this code for?

Wenn ich das richtig sehe, geht das mit einem UNO nicht.

Laut Keyboard - Arduino Reference

"These core libraries allow the 32u4 and SAMD based boards (Leonardo, Esplora, Zero, Due and MKR Family) to appear as a native Mouse and/or Keyboard to a connected computer."

Gruß, Jürgen

Die Meldung ist voll korrekt!
Denn:
Der UNO hat keinen nativen USB Port.
Er kann also nicht als HID dienen.
Darum wird auch keine solche Lib mitgeliefert/eingebunden.

Es sei denn, man verwendet dafür:

  1. den ATMega16U2 auf dem UNO, dann geht da was.
  2. verwendet eine V-USB Implementierung, kann dann aber nicht den vorhandenen USB Stecker nutzen.

Diesmal ist ein Foto des Sketchen in der IDE besser.
So wisssen wir daß der Sketch für einen UNO kompiliert werden soll.

Nur bestimmte Arduino-Modelle können eine Tastatur oder Maus Emulieren. Das sind Arduino LEONADO und MIKRO mit dem ATMega32U4 und der DUE.

Der ATmega16U2 der auf dem UNO oder MEGA sitzt kann umprogrammiert werden, das geht aber nicht über USB und danach funktioniert der Upload auf dem ATmega 328/2560 nicht mehr. Der Upload muß über einen ISP Programmierer erfolgen. Also ist ein Leonardo einfacher.

Grüße Uwe

Hi

Wobei das Umprogrammieren über ISP mit jedem weiteren 'Arduino_as_ISP' durchgeführt werden kann - Damit kann man auch den Arduino-Bootloader wieder aufbrennen, DAMIT Der wieder auf Sketche von der IDE reagiert.
Man KANN per IDE eine (für den Chip erstellte) beliebige HEX-Datei auf den µC brennen - dann geht der Bootloader allerdings verloren.
Man kann aber auch genau diesen Bootloader (liegt der IDE eben als .hex vor) brennen - und dann ist der µC wieder ein Arduino!

Der Reset-Pin des Target geht beim Original-Sketch an Pin D10 des 'Arduino_as_ISP'.
Dessen Reset sollte mit einem 100µF-Elko an RESET gegen das Resetten durch die IDE geschützt werden.
Dadurch übersteht der 'Arduino_as_ISP' den 'Reset-Befehl' der IDE (Sketch-Upload), gibt Diesen aber bei anschließender Datenübertragung von der IDE an das Target weiter, Welches Diese entgegennimmt - auf dem Target ist dann KEIN Bootloader, sondern das .hex-Files aufgebrannt.

MfG

Ja, man kann mit dem ISP Programmierer den Bootloader/ Firmware überschreiben und dann wieder die ehemaligen Software wieder zurückschreiben.

Ich glaube wir verwirren aber den Anfänger.

Mein Vorschlag ist derswegen: Kauf Dir einen LEONARDO oder MICRO. Da funktioniert die keyboard- Bibliothek.

Grüße Uwe

Hallo Henrik,

willkommen im Arduino-Forum. Wie die anderen schon geschrieben haben kann man mit einem Arduino-Uno leider kein Keyboard emulieren. Jetzt fände ich wichtig zu klären ob du ein ganze bestimmtes Ziel im Auge hast zu dem man eine Keyboard-Emulation benötigt oder ob es ums programmieren lernen Anhand von verschiedenen Beispielen geht.

Wenn ersteres zutrifft bräuchtest du tatsächlich ein anderes Board. Wenn zweiteres zutrifft könnten es ja auch eine Menge anderer Dinge sein. Allgemeine Programmierkenntnisse gewinnen geht auch mit zig anderen Beispielen.

Die Formulierung "Die Zeile ist vor dem Void setup teil " klingt ja doch nach ein bisschen Erfahrung.
Es ist vollkommen OK Anfänger zu sein. Alle hier waren mal Anfänger. Schon mal irgend etwas mit einer anderen Programmiersprache gemacht? Oder vor diesem Sketch schon einen anderen mal compiliert und hochgeladen?

Schreibe mal ob es genau Keybaord sein soll

viele Grüße Stefan

Ich habs eben schon versucht zu sagen…
Natürlich kann man mit dem ATMega328P ein Keyboard emulieren.

Hier der Beweis

Die Libs für das Pro Board lassen sich auch für den UNO verwenden.
(soweit ich weiß)
Für USB werden dann die Pins 2 und 7 verwendet.


Auch lässt sich der ATMega16U2 ohne ISP beschreiben.

Vorgang:
UNO an USB anstecken.
Kurz Reset und GND am ISP Stecker des ATMega16U2 brücken.
Serial meldet sich ab.
Der Atmel Hardwarebootloader startet
Das Atmel Device meldet sich in der Systemsteuerung an
Mit dem Atmel Programm FLIP kann man den ATMega16U2 jetzt bespielen. Aber keine Fuses brennen.


Ob das alles was für Anfänger ist, oder gar wer Anfänger ist, soll nicht meine Sorge sein.

Daß es geht bezweifle ich nicht.
Daß es kein guter Ratschlag für einen Anfänger ist bin ich mir sicher.
Grüße Uwe