simulare tastiera usb con arduino uno

salve ragazzi, ho cercato ma non ho trovato cio che mi serve. per la precisione dovrei far vedere al pc arduino come fosse una tastiera usb che preme da sola 3 pulsanti in continuazione ad intervalli di tempo irregolari. per la precisione vorrei creare un dispositivo che collegandolo al pc parta in automatico in base ai tasti da me programmati senza l'utilizzo di alcun tipo di programma, come se io accendessi il pc collegassi una tastiera e premessi 1 2 e 3 o qualsiasi altro pulsante. questo voglio farlo collegando arduino.
esempio semplice apro blocco note e collegando arduino deve scrivere i pulsanti che ho programmato ogni tot secondi e continuare all'infinito.
attendo una vostra risposta e spero di essere stato chiaro. vi ringrazio

Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

P.S.: Qui una serie di link utili, NON necessariamente inerenti alla tua domanda:
- serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections
- pinout delle varie schede by xxxPighi: Pinout
- link generali utili: Link Utili

Dopo che avrai fatto quanto richiesto ...

... considera che Arduino UNO NON ha un'inferfaccia USB che può simulare un HID e quindi NON si possono usare le librerie Arduino a ciò dedicate che sono fatte per altre schede, come Arduino Leonardo, Micro, Due, Zero ed Esplora, che sono invece in grado di simulare devices HID (tastiera e mouse).

Guglielmo

Nota che troverai in giro su Google modifiche al firmware del convertitore USB <--> Seriale montato su Arduino UNO ...
... se tali modifiche ti permettono di vedere Arduino uno come tastiera, dall'altro lato ti imediscono la programmazione via USB della scheda sino a quando non viene ripristinato il FW originale.

Detto in parole povere ... lascia stare che ti complichi solo la vita. :smiley: Prenditi un Arduino Leonardo o, più piccolo, un Arduino Micro e hai la funzionalità che cerchi direttamente supportata con le librerie Arduino.

Guglielmo

chiedo scudsa per non aver rispettato il punto della presentazione ma non ho ancora capito come funziona il forum =P cioe per trovare la sezione ho cercato su google xD
ho acquistato arduino leonardo
https://store.arduino.cc/usa/arduino-leonardo-with-headers )

mentre arduino micro da acquistare e questo?
https://store.arduino.cc/usa/arduino-micro
servono altri componenti?

tachetaltram:
chiedo scudsa per non aver rispettato il punto della presentazione ma non ho ancora capito come funziona il forum =P cioe per trovare la sezione ho cercato su google xD

Magari se avessi letto con ATTENZIONE il mio primo post (#1), avresti visto che ... il link a dove presentati te lo avevo dato io (e anche il link al regolamento da leggere con attenzione) ! :smiling_imp:

Guglielmo

tachetaltram:
ho acquistato arduino leonardo
https://store.arduino.cc/usa/arduino-leonardo-with-headers )

mentre arduino micro da acquistare e questo?
https://store.arduino.cc/usa/arduino-micro

Se hai acquistato la Leonardo ... perché vuoi acquistare anche la Micro ? :o

Guglielmo

Pura e semplice curiosita' :slight_smile:
Cmq nel mentre ho avuto un idea, al momento io ho costruito una tastiera completamente robotizzata dove premo i bottoni mediante sistemi biella manovella comandati da teleruttori che uso da molto ma naturalmente essendo meccanica fa rumore e per ovviare il problema ho deciso di passare ad arduino. E magari possibile diciamo collegare arduino alla tastiera e la tastiera al pc in modo da comandare arduino con un pres di un bottone e essendo direttamente collegata al pc la tastiera stessa da l'input al pc arrivando il segnale correttamente?

gpb01:
Nota che troverai in giro su Google modifiche al firmware del convertitore USB <--> Seriale montato su Arduino UNO ...
... se tali modifiche ti permettono di vedere Arduino uno come tastiera, dall'altro lato ti imediscono la programmazione via USB della scheda sino a quando non viene ripristinato il FW originale.

C'è un bootloader che permette entrambi gli usi contemporaneamente

ma se l'uso principale è quello di emulare una tastiera è meglio una Leonardo, come ha detto Guglielmo.

zoomx:
C'è un bootloader che permette entrambi gli usi contemporaneamente ...

... che però, comunque, SE leggo bene il WiKi associato, richiede la definizione di nuove board con il loro bootloader e non è compatibile con lo standard normalmente usato.

Continuo a dire che è meglio un Arduino Leonardo o un Arduno Micro (entrambi con ATmega32U4 :wink:).

Guglielmo

L'ho usato una volta, se non ricordo male il bootloader è compatibile con quello standard (se usi l'Atmega328), l'altra definizione di board serve ad usare l'altro Atmega 16U4.

Ma sono d'accordo che è meglio una scheda con 32U4.

zoomx:
L'ho usato una volta, se non ricordo male il bootloader è compatibile con quello standard (se usi l'Atmega328), l'altra definizione di board serve ad usare l'altro Atmega 16U4.

Ma sono d'accordo che è meglio una scheda con 32U4.

Interessante :slight_smile:
Posso chiederti se hai notato altri problemi ?

L'ho usato solo per test, magari mi sarebbe servito per qualche progetto dove i pin della UNO erano pochi... di poco! Attualmente è installato in una delle UNO che posseggo ma.... non so più quale. Dovrei provare ad installare uno sketch nel 16U4.

Invece per fare quello che vuoi fare tu ho preso una Leonardo Micro.

non c'entro nulla, era solo interesse per l'argomento :slight_smile:

buonasera, ho ricevuto oggi leonardo! ho bisogno di aiuto nella programmazione, cioe vorrei far in modo che venda premuto il tasto \ con il tasto 1 poi in successione altri tasti in intervalli irregolari all'infinito. potete aiutarmi? esiste una guida in italiano per come programmare una tastiera vistuale? ricordo che collegando leo al pc deve da subito iniziare la simulazione che poi interrompero o attivero tramite un interruttore che faro successivamente.
grazie in anticipo

Esempi 09USB Keyboard KeyboardMessage è l'esempio che ti serve.

In italiano ho trovato questo
https://www.reboot.ms/forum/threads/arduino-stalker-keyboard-ovvero-lasciare-che-un-computer-scriva-al-posto-tuo.1046/
ma non c'è molto da dire, come vedi è abbastanza semplice.

grazie mille stassera provo e faccio sapere se funziona ^^avevo gia visto questo articolo, ma print a che serve?
faccio l'esempio

void setup() {
   Keyboard.begin(); //inizializza la tastiera virtuale
}

void loop() {  //inizia il loop infinito
   Keyboard.print("1"); //simula la scrittura da tastiera USB
   Keyboard.print("\");
  ------------> Keyboard.write(KEY_RETURN); //simula la pressione del tasto invio - a me questo non serve -
   delay(1000);  //aspetta cinque secondi prima di ricominciare il loop
   Keyboard.print("1"); //simula la scrittura da tastiera USB
   Keyboard.print("\");
   delay(1300);
Keyboard.print("1"); //simula la scrittura da tastiera USB
   Keyboard.print("\");
delay(1800);
Keyboard.print("1"); //simula la scrittura da tastiera USB
   Keyboard.print("\");
delay(1000);
Keyboard.print("1"); //simula la scrittura da tastiera USB
   Keyboard.print("\");
delay(800);
Keyboard.print("1"); //simula la scrittura da tastiera USB
   Keyboard.print("\");
delay(1200);
Keyboard.print("1"); //simula la scrittura da tastiera USB
   Keyboard.print("\");
delay(1185);
Keyboard.print("1"); //simula la scrittura da tastiera USB
   Keyboard.print("\");
delay(1300);
}

puo essere un codice funzionante?

>tachetaltram: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra). Grazie.

Guglielmo

chiedo scusa =( ma ho editato il messaggio non ho creato un nuovo post, ho fatto more modify ma ho cancellato il post scritto prima e ho scritto quello nuovo....pensavo di aver fatto giusto ç_ç

... devi editare come ho scritto nel mio post e metti [ code ] prima del codice e [ /code ] dopo il codice (senza gli spazi che ho messo io altrimenti mi interpreta i BBcode) :wink:

Guglielmo