Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [ hier ] und treten Sie heute bei!
USB HID
Das Arduino Uno R4 WiFi ist nicht nur ein leistungsfähiges Entwicklungsboard; es bietet auch eingebaute Unterstützung für Human Interface Devices (HID). Dies ermöglicht es Ihnen, das Board zur Emulation von Geräten wie Mäusen und Tastaturen zu verwenden und so Ihren Projekten eine neue Ebene der Interaktivität hinzuzufügen.
HID, oder Human Interface Devices, sind eine Kategorie von Computergeräten, die für die direkte Interaktion mit Menschen konzipiert sind, typischerweise zu Eingabezwecken. Zu dieser Kategorie gehören Geräte wie Tastaturen, Mäuse und Spielcontroller. Mit dem Arduino Uno R4 WiFi können Sie diese Geräte emulieren und so eine Vielzahl von Möglichkeiten für DIY-Projekte freischalten.
Maussteuerung
Die Steuerung einer Maus mit dem Arduino Uno R4 WiFi ist einfach. Mit dem Befehl Mouse.move(x,y) können Sie die Mausbewegung leicht steuern. Bei der Aktualisierung der Cursorposition ist sie immer relativ zur vorherigen Position des Cursors.
Hier ist ein einfaches Beispiel, das die Steuerung des Mauszeigers mit einem Knopf demonstriert.
Schaltplan
Code Hochladen
Öffnen Sie die Datei 05-hid_mouse.ino, die sich unter elite-explorer-kit-main\r4_new_feature\05-hid_mouse befindet, oder fügen Sie den folgenden Code in Ihre Arduino IDE ein.
Warnung
Wenn Sie den Befehl Mouse.move() verwenden, übernimmt das Arduino die Kontrolle über die Maus Ihres Computers! Um sicherzustellen, dass Sie die Kontrolle über Ihren Computer nicht verlieren, während Sie einen Sketch mit dieser Funktion ausführen, richten Sie ein zuverlässiges Steuerungssystem ein, bevor Sie Mouse.move() aufrufen. Dieser Sketch enthält einen Druckknopf, um die Maus zu aktivieren, sodass sie erst nach Betätigung des Knopfes funktioniert.
Warnung
Aufgrund der Multi-Prozessor-Architektur des UNO R4 WiFi-Boards können beim Hochladen von Code, der HID-Funktionen verwendet, Fehler wie „No device found on…“ auftreten.
Um in solchen Fällen hochzuladen, folgen Sie diesen Schritten:
Drücken Sie schnell zweimal hintereinander die „RESET“-Taste auf dem Board. Die mit „L“ markierte LED sollte zu pulsieren beginnen.
Wählen Sie aus dem Arduino-IDE-Menü den Port des Boards aus. Der Port kann sich nach dem Reset ändern, stellen Sie also sicher, dass er korrekt ausgewählt ist.
1/*
2 This code is designed to control mouse cursor movement using an Arduino Uno R4.
3 When the button connected to pin 7 is pressed, the mouse moves 10 units to the right.
4 Uncommenting the respective sections below the main loop will change the direction of movement.
5
6 Board: Arduino Uno R4
7*/
8
9#include <Mouse.h> // Include the Mouse library for mouse control
10
11const int button = 7; // Define the pin where the button is connected
12
13void setup() {
14 pinMode(button, INPUT); // Set the button pin as an input
15 Mouse.begin(); // Initialize mouse control
16 delay(1000); // Wait for 1 second (1000 milliseconds) for hardware initialization
17}
18
19void loop() {
20 // Check if the button is pressed (HIGH)
21 if (digitalRead(button) == HIGH) {
22 Mouse.move(10, 0); // Move the mouse 10 units to the right
23 delay(200); // Wait for 200 milliseconds to slow down mouse movement
24
25 // Left
26 // Mouse.move(-10, 0);
27 // delay(200);
28
29 // Down
30 // Mouse.move(0, 10);
31 // delay(200);
32
33 // Up
34 // Mouse.move(0, -10);
35 // delay(200);
36
37 }
38}
Neben der Steuerung der Mausbewegung können Sie auch Mausklicks verwalten. Für weitere Informationen siehe Arduino Reference - Mouse .
Tastatursteuerung
Das Arduino Uno R4 WiFi bietet auch Tastaturemulationsfähigkeiten. Es ermöglicht Ihnen, nicht nur einzelne Tastenanschläge zu senden, sondern auch komplexe Tastenkombinationen auszuführen.
Warnung
Wenn Sie den Befehl Keyboard.print() verwenden, übernimmt das Arduino die Kontrolle über die Tastatur Ihres Computers! Um sicherzustellen, dass Sie die Kontrolle über Ihren Computer nicht verlieren, während Sie einen Sketch mit dieser Funktion ausführen, richten Sie ein zuverlässiges Steuerungssystem ein, bevor Sie Keyboard.print() aufrufen. Dieser Sketch enthält einen Druckknopf, um die Tastatur zu aktivieren, sodass sie erst nach Betätigung des Knopfes funktioniert.
Beispielcode für das Senden von Tastenkombinationen
In diesem Beispiel ist das Arduino Uno R4 WiFi so konfiguriert, dass es zwei häufig verwendete Tastenkombinationen emuliert: „Strg+C“ zum Kopieren und „Strg+V“ zum Einfügen. Zwei physische Knöpfe, die mit dem Arduino verbunden sind, dienen als Auslöser. Der Knopf, der mit Pin 7 verbunden ist, initiiert die Kopieraktion, während der mit Pin 8 verbundene Knopf das Einfügen auslöst.
Bei Betätigung eines der Knöpfe verwendet das Arduino die Funktionen Keyboard.press() und Keyboard.releaseAll(), um die jeweiligen Tastenkombinationen zu imitieren. Dieses Beispiel veranschaulicht, wie Sie eine dedizierte Hardware-Schnittstelle für spezifische Aufgaben entwerfen können, um repetitive Aktionen ohne Tastatureinsatz zu erleichtern. Dies könnte besonders vorteilhaft in Arbeitsumgebungen sein, die schnelle Datenmanipulation erfordern, oder in Zugänglichkeitseinrichtungen, die von vereinfachten Steuerungen profitieren.
Schaltplan
Code Hochladen
Öffnen Sie die Datei 05-hid_keyboard.ino, die sich unter elite-explorer-kit-main\r4_new_feature\05-hid_keyboard befindet, oder fügen Sie den folgenden Code in Ihre Arduino IDE ein.
1/*
2 This code is designed to provide copy and paste functionality using two buttons with an Arduino Uno R4.
3 When the button connected to pin 7 is pressed, a "copy" command (Ctrl + C) is sent to the computer.
4 When the button connected to pin 6 is pressed, a "paste" command (Ctrl + V) is sent to the computer.
5
6 Board: Arduino Uno R4
7*/
8
9#include <Keyboard.h> // Include the Keyboard library to enable keyboard functionalities
10
11const int copyButtonPin = 7; // Pin number for the copy button
12const int pasteButtonPin = 6; // Pin number for the paste button
13
14void setup() {
15 Keyboard.begin(); // Initialize the Keyboard library
16 pinMode(copyButtonPin, INPUT); // Set the copy button pin as input
17 pinMode(pasteButtonPin, INPUT); // Set the paste button pin as input
18 delay(1000); // Wait for 1 second to allow hardware initialization
19}
20
21void loop() {
22 // Check if the copy button is pressed
23 if (digitalRead(copyButtonPin) == HIGH) {
24 Keyboard.press(KEY_LEFT_CTRL); // Press the Ctrl key
25 Keyboard.press('c'); // Press the 'c' key
26 Keyboard.releaseAll(); // Release all keys
27 delay(200); // Wait for 200 milliseconds
28 }
29 // Check if the paste button is pressed
30 else if (digitalRead(pasteButtonPin) == HIGH) {
31 Keyboard.press(KEY_LEFT_CTRL); // Press the Ctrl key
32 Keyboard.press('v'); // Press the 'v' key
33 Keyboard.releaseAll(); // Release all keys
34 delay(200); // Wait for 200 milliseconds
35 }
36}
Vorsichtsmaßnahmen und Tipps
Hinweis zu Maus- und Tastaturbibliotheken: Wenn entweder die Maus- oder die Tastaturbibliothek kontinuierlich läuft, könnte dies die Programmierung Ihres Boards beeinträchtigen. Funktionen wie
Mouse.move()undKeyboard.print()übernehmen die Kontrolle über Ihren angeschlossenen Computer und sollten nur aufgerufen werden, wenn Sie bereit sind, sie zu verwalten. Es wird empfohlen, ein Steuerungssystem, wie einen physischen Schalter oder spezifische Eingabesteuerungen, zu verwenden, um diese Funktionalität umzuschalten.Wenn Sie Probleme beim Hochladen des Codes haben: Aufgrund der Multi-Prozessor-Architektur des UNO R4 WiFi-Boards können beim Hochladen von Code, der HID-Funktionalitäten verwendet, Fehler wie
„Kein Gerät gefunden auf...“auftreten.Um unter solchen Umständen hochzuladen, folgen Sie diesen Schritten:
Drücken Sie schnell zweimal hintereinander die „RESET“-Taste auf dem Board. Die mit „L“ markierte LED sollte zu pulsieren beginnen.
Wählen Sie aus dem Arduino-IDE-Menü den Port des Boards aus. Der Port kann sich nach dem Reset ändern, stellen Sie also sicher, dass er korrekt ausgewählt ist.
Referenz