Tastiera per PC con Arduino Uno

Salve a tutti,
premetto che ho cercato OVUNQUE per questo tipo di progetto, anche qui sul forum, ma non ho trovato niente di utile.

Vorrei creare una sorta di tastiera per pc, ovvero io premo un tasto sull'Arduino e il pc lo riconosce come "A" per esempio.
Ho già visto che con UNO non si può fare granchè perchè non viene riconosciuto come dispositivo HID.
Dunque la mia domanda è questa: Esiste un programma per pc (Sarebbe fantastico per Linux) che legge i dati in entrata sulla porta seriale di Arduino e li converta in ""tasti premuti""??
Grazie in anticipo

Buonasera,
essendo il tuo primo post nella sezione Italiana del forum, 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

Riccardo_Rossi:
... Esiste un programma per pc (Sarebbe fantastico per Linux) che legge i dati in entrata sulla porta seriale di Arduino e li converta in ""tasti premuti""??

... domanda MOLTO più adatta ad un forum di Linux (o Windows), dato che Arduino è del tutto marginale.

A te serve un "driver" o un "programma" Linux (o Windows) che accetti dati dalla porta seriale e li trasformi nell'equivalente pressione di tasti sulla keyboad ... nulla che riguardi specificatamente Arduino ::slight_smile:

Guglielmo

Mi sembra che se cerchi "Linux driver for serial keyboard" qualche cosa esca fuori, dato che Linux con terminali seriali RS232 ce ne sono ... ::slight_smile:

Guglielmo

Ma perché non usare una Leonardo (o Micro), che è nata apposta per queste cose?

Se proprio devi usare una Uno, puoi emulare una tastiera PS/2.

E comunque una UNO mi pare un po piccola per fare da tastiera per PC, avendo 13 (ma diciamo 11) porte digitali, mentre servono almeno 26+10+6+3=45 tasti (senza parentesi o segni particolari. La massima tastiera fattibile ha 5*6=30 tasti. Poi mancano logicamente le porte analogiche, più difficili da usare.
Userei una scheda più come la Mega (ammesso di poterla usare come tastiera)

Io_me:
E comunque una UNO mi pare un po piccola per fare da tastiera per PC, avendo 13 (ma diciamo 11) porte digitali ...

A parte che la UNO ha, in realtà, 20 pin utilizzabili come porte digitali e che togliendone 2 per la seriale, ne restano comunque 18 ... NON verte su quello la discussione !

La discussione verte su come, utilizzando Arduno UNO, far riconoscere caratteri inviati sulla seriale come tasti premuti sulla macchina Linux, quindi verte su un DRIVER Linux ...
... e bastava leggere bene lo scambio di post tra me e Riccardo_Rossi per rendersene conto ::slight_smile:

Ed in ogni caso ... non puoi sapere COSA l'utente vuole fare ... magari gli bastano solo alcuni pin digitali, o valori analogici, per voler inviare "sequenze di caratteri" alla tastiera della sua macchina ...

Guglielmo

SukkoPera:
Se proprio devi usare una Uno, puoi emulare una tastiera PS/2.

Effettivamente, cercando con Google, ho trovato QUESTA libreria dove, sembrerebbe, che qualcuno abbia scritto anche la parte contraria a quella del PlayGroud (che permette di leggere una tastiera PS2) e che quindi permette di emulare i segnali di una tastiera PS2 con Arduino inviandoli al PC (scrivere sul PC da Arduino). :slight_smile:

Altri link, anche a discussioni sul forum, si trovano cercando "arduino ps2 keyboard emulator".

Guglielmo

Anche qua, in fondo in fondo, c’è un link a una libreria che dovrebbe permetterlo, non so se è la stessa.

... ma comunque, per quel poco che ricordo di Linux, a me sembrava che la "tastiera seriale" (terminale TTY) era normalmente supportata, quindi, dovrebbe essere facile usare la semplice seriale di Arduino ::slight_smile:

Guglielmo

Io_me:
E comunque una UNO mi pare un po piccola per fare da tastiera per PC, avendo 13 (ma diciamo 11) porte digitali, mentre servono almeno 26+10+6+3=45 tasti (senza parentesi o segni particolari. La massima tastiera fattibile ha 5*6=30 tasti. Poi mancano logicamente le porte analogiche, più difficili da usare.
Userei una scheda più come la Mega (ammesso di poterla usare come tastiera)

Per fare la tastiera potrebbe usare un solo pin analogico. Basterebbe mettere per ogni pulsante collegato allo stesso pin analogico una resistenza con valore diverso, così ad ogni tensione in entrata corrisponderebbe un tasto premuto.

Ernesto

101 tasti su un pin? Hai voglia... :smiley:

Ma perché siete convinti che voglia fare una tastiera ? ? ? :o

Se gli serviva una tastiera, collegava alla macchina Linux una tastiera, non vi pare? :smiling_imp: Probabilmente gli serve emulare una tastiera per inviare delle sequenze ben precise all’avverarsi di particolari eventi …

Guglielmo

Questo programma per Windows permette di usare una porta seriale come tastiera, basta inviare i relativi codici ASCII sulla seriale, provato su Windows 10 64 bit e funziona perfettamente.