Nota
Ciao, benvenuto nella Community SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino e ESP32 insieme ad altri appassionati.
Perché unirti?
Supporto Esperto: Risolvi i problemi post-vendita e le sfide tecniche con l’aiuto della nostra community e del nostro team.
Impara e Condividi: Scambia suggerimenti e tutorial per migliorare le tue abilità.
Anteprime Esclusive: Ottieni accesso anticipato agli annunci dei nuovi prodotti e anteprime esclusive.
Sconti Speciali: Godi di sconti esclusivi sui nostri prodotti più recenti.
Promozioni Festive e Giveaway: Partecipa a giveaway e promozioni festive.
👉 Pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi!
USB HID
L’Arduino Uno R4 WiFi non è solo una potente scheda di sviluppo; viene anche fornita con il supporto integrato per dispositivi HID (Human Interface Devices). Questo ti permette di utilizzare la scheda per emulare dispositivi come mouse e tastiere, aggiungendo un nuovo livello di interattività ai tuoi progetti.
Gli HID, o Human Interface Devices, sono una categoria di dispositivi informatici progettati per l’interazione diretta con gli esseri umani, tipicamente per scopi di input. Questa categoria include dispositivi come tastiere, mouse e controller di gioco. Con l’Arduino Uno R4 WiFi, puoi emulare questi dispositivi, sbloccando così una serie di possibilità per progetti fai-da-te.
Controllo del Mouse
Controllare un mouse usando l’Arduino Uno R4 WiFi è semplice. Utilizzando il comando Mouse.move(x,y), puoi facilmente controllare il movimento del mouse. Quando aggiorni la posizione del cursore, essa è sempre relativa alla posizione precedente del cursore.
Ecco un semplice esempio che dimostra il controllo del cursore del mouse utilizzando un pulsante.
Schema Elettrico
Carica il Codice
Apri il file 05-hid_mouse.ino situato nel percorso elite-explorer-kit-main\r4_new_feature\05-hid_mouse, oppure incolla il seguente codice nel tuo Arduino IDE.
Avvertimento
Quando utilizzi il comando Mouse.move(), l’Arduino prende il controllo del mouse del tuo computer! Per assicurarti di non perdere il controllo del tuo computer mentre esegui uno sketch con questa funzione, assicurati di impostare un sistema di controllo affidabile prima di chiamare Mouse.move(). Questo sketch include un pulsante per attivare il mouse, in modo che funzioni solo dopo che il pulsante è stato premuto.
Avvertimento
A causa dell’architettura multi-processore della scheda UNO R4 WiFi, potresti riscontrare errori «No device found on…» durante il caricamento del codice che utilizza le funzionalità HID.
Per caricare in tali circostanze, segui questi passaggi:
Premi e rilascia rapidamente il pulsante «RESET» sulla scheda due volte. Il LED contrassegnato con «L» dovrebbe iniziare a lampeggiare.
Dal menu dell’Arduino IDE, seleziona la porta della scheda. La porta potrebbe cambiare dopo il reset, quindi assicurati che sia correttamente selezionata.
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}
Oltre a controllare il movimento del mouse, puoi anche gestire i clic del mouse. Per ulteriori dettagli, consulta Arduino Reference - Mouse .
Controllo della Tastiera
L’Arduino Uno R4 WiFi offre anche capacità di emulazione della tastiera. Ti consente di inviare non solo singoli tasti ma anche di eseguire combinazioni di tasti complesse.
Avvertimento
Quando utilizzi il comando Keyboard.print(), l’Arduino prende il controllo della tastiera del tuo computer! Per assicurarti di non perdere il controllo del tuo computer mentre esegui uno sketch con questa funzione, assicurati di impostare un sistema di controllo affidabile prima di chiamare Keyboard.print(). Questo sketch include un pulsante per attivare la tastiera, in modo che funzioni solo dopo che il pulsante è stato premuto.
Esempio di Codice per l’Invio di Tasti di Scelta Rapida
In questo esempio, l’Arduino Uno R4 WiFi è configurato per emulare due scorciatoie da tastiera frequentemente utilizzate: «Ctrl+C» per copiare e «Ctrl+V» per incollare. Due pulsanti fisici collegati all’Arduino fungono da trigger. Il pulsante collegato al pin 7 avvia l’azione di copia, mentre quello collegato al pin 8 avvia l’azione di incolla.
Quando viene premuto uno dei due pulsanti, l’Arduino utilizza le funzioni Keyboard.press() e Keyboard.releaseAll() per simulare le rispettive scorciatoie da tastiera. Questo esempio illustra come puoi progettare un’interfaccia hardware dedicata per attività specifiche, facilitando azioni ripetitive senza coinvolgere la tastiera. Questo potrebbe essere particolarmente vantaggioso in ambienti di lavoro che richiedono una rapida manipolazione dei dati o in configurazioni di accessibilità che traggono vantaggio da controlli semplificati.
Schema Elettrico
Carica il Codice
Apri il file 05-hid_keyboard.ino situato nel percorso elite-explorer-kit-main\r4_new_feature\05-hid_keyboard, oppure incolla il seguente codice nel tuo Arduino IDE.
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}
Avvertenze e Suggerimenti
Nota di Cautela sulle Librerie Mouse e Tastiera: Se la libreria Mouse o Keyboard è in esecuzione continua, potrebbe interferire con la programmazione della tua scheda. Funzioni come
Mouse.move()eKeyboard.print()assumeranno il controllo del computer collegato e dovrebbero essere invocate solo quando sei pronto a gestirle. Si consiglia di utilizzare un sistema di controllo, come un interruttore fisico o controlli di input specifici, per attivare questa funzionalità.Se incontri problemi di caricamento del codice: A causa dell’architettura multi-processore della scheda UNO R4 WiFi, potresti riscontrare errori
"No device found on..."durante il caricamento del codice che utilizza le funzionalità HID.Per caricare in tali circostanze, segui questi passaggi:
Premi e rilascia rapidamente il pulsante «RESET» sulla scheda due volte. Il LED contrassegnato con «L» dovrebbe iniziare a lampeggiare.
Dal menu dell’Arduino IDE, seleziona la porta della scheda. La porta potrebbe cambiare dopo il reset, quindi assicurati che sia correttamente selezionata.
Riferimenti