Pages: [1] 2 3   Go Down
Author Topic: Simulare pressione tasti con arduino UNO  (Read 2528 times)
0 Members and 1 Guest are viewing this topic.
Dueville (VI)
Offline Offline
Edison Member
*
Karma: 28
Posts: 1745
http://cesarecacitti.wordpress.com/
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve a tutti vorrei usare il mio ricevitore ir per comandare il computer usando le scorciatoie con i tasti di vlc e delle utility di Windows 8. Ho intenzione di usare uno standalone, cosa ne pensate di emulare una tastiera PS/2 e poi usare un adattatore PASSIVO da PS/2 a USB, che funzioni?
Qualcuno ha qualche idea alternativa (non voglio usare il leonardo...)
Logged

Arduino UNO r3, Arduino MEGA 1280, adafruit motor shield, bluetooth module, enc28j60 shield.
Ultimi acquisti: un sacco di componenti elettronici, ATTEN AT 8586

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 1
Posts: 560
Electronics & Web Dev, Unix User, Ω LEO, Rock/Deep Music, Tech/Science/Finance addicted, Ski/Snowboard and much more …
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Cioè con una tastiera comandi un arduino, e l'arduino a sua volta comanda il computer ?  smiley-slim
Logged


Dueville (VI)
Offline Offline
Edison Member
*
Karma: 28
Posts: 1745
http://cesarecacitti.wordpress.com/
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Cioè con una tastiera comandi un arduino, e l'arduino a sua volta comanda il computer ?  smiley-slim
No, io mando il segnale ir con un telecomando ad arduino, lo decodifico con un ricevitore e se è magari "volume +" uso arduino per simulare il tasto volume è sul pc (ad esempio F10)
Logged

Arduino UNO r3, Arduino MEGA 1280, adafruit motor shield, bluetooth module, enc28j60 shield.
Ultimi acquisti: un sacco di componenti elettronici, ATTEN AT 8586

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 1
Posts: 560
Electronics & Web Dev, Unix User, Ω LEO, Rock/Deep Music, Tech/Science/Finance addicted, Ski/Snowboard and much more …
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah okok !

Allora, per quanto riguarda la parte dell'IR poi ti passo un mio vecchio progetto;
per quanto riguarda dall'arduino al pc, secondo me ti conviene via seriale ! Ma vediamo ...

Appena torno a casa ti mando tutto su questo topic
Logged


Rovereto
Offline Offline
Full Member
***
Karma: 5
Posts: 172
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

L'arduino Leonardo non è pensata anche per questo? per simulare tastiera e topo?  smiley-wink

Quote
The Leonardo differs from all preceding boards in that the ATmega32u4 has built-in USB communication, eliminating the need for a secondary processor. This allows the Leonardo to appear to a connected computer as a mouse and keyboard, in addition to a virtual (CDC) serial / COM port. It also has other implications for the behavior of the board; these are detailed on the getting started page.
Logged

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 1
Posts: 560
Electronics & Web Dev, Unix User, Ω LEO, Rock/Deep Music, Tech/Science/Finance addicted, Ski/Snowboard and much more …
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Che IDE usi ?

Se usi 1.x devo riscrivere il codice ! ahuahuahu
Logged


Dueville (VI)
Offline Offline
Edison Member
*
Karma: 28
Posts: 1745
http://cesarecacitti.wordpress.com/
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

L'arduino Leonardo non è pensata anche per questo? per simulare tastiera e topo?  smiley-wink

Quote
The Leonardo differs from all preceding boards in that the ATmega32u4 has built-in USB communication, eliminating the need for a secondary processor. This allows the Leonardo to appear to a connected computer as a mouse and keyboard, in addition to a virtual (CDC) serial / COM port. It also has other implications for the behavior of the board; these are detailed on the getting started page.
Leggi sopra smiley-wink, ho scritto che non voglio usare il Leonardo smiley-grin

Che IDE usi ?

Se usi 1.x devo riscrivere il codice ! ahuahuahu
Si, userei la 1.0.2 ma posso benissimo usare la 0022
Logged

Arduino UNO r3, Arduino MEGA 1280, adafruit motor shield, bluetooth module, enc28j60 shield.
Ultimi acquisti: un sacco di componenti elettronici, ATTEN AT 8586

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9180
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

cosa ne pensate di emulare una tastiera PS/2 e poi usare un adattatore PASSIVO da PS/2 a USB, che funzioni?

L'adattatore passivo PS/2 USB è per l'appunto passivo, cioè è solo un adattatore tra connettori diversi, la PS/2 non ha nulla a che vedere con l'USB come funzionamento, i device che possono usare questi adattatori, tastiere e mouse, dispongono internamente di tutte e due le interfacce e utilizzano quella che serve a seconda dei casi.
Detta in altri termini, non puoi pensare di emulare la PS/2 con Arduino e pensare di poterla collegare alla USB utilizzando un adattatore passivo, ti serve un vero convertitore (attivo) tra PS/2 e USB e non un semplice adattatore.
Logged

Dueville (VI)
Offline Offline
Edison Member
*
Karma: 28
Posts: 1745
http://cesarecacitti.wordpress.com/
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

cosa ne pensate di emulare una tastiera PS/2 e poi usare un adattatore PASSIVO da PS/2 a USB, che funzioni?

L'adattatore passivo PS/2 USB è per l'appunto passivo, cioè è solo un adattatore tra connettori diversi, la PS/2 non ha nulla a che vedere con l'USB come funzionamento, i device che possono usare questi adattatori, tastiere e mouse, dispongono internamente di tutte e due le interfacce e utilizzano quella che serve a seconda dei casi.
Detta in altri termini, non puoi pensare di emulare la PS/2 con Arduino e pensare di poterla collegare alla USB utilizzando un adattatore passivo, ti serve un vero convertitore (attivo) tra PS/2 e USB e non un semplice adattatore.
Infatti anche io la pensavo così......
@astro hai una delle tue idee geniali?
Logged

Arduino UNO r3, Arduino MEGA 1280, adafruit motor shield, bluetooth module, enc28j60 shield.
Ultimi acquisti: un sacco di componenti elettronici, ATTEN AT 8586

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 1
Posts: 560
Electronics & Web Dev, Unix User, Ω LEO, Rock/Deep Music, Tech/Science/Finance addicted, Ski/Snowboard and much more …
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Alors prova così:

Installa questa libreria: https://github.com/shirriff/Arduino-IRremote
Usa questo il circuito in allegato;

Con questo sketch vedi ogni tasto del telecomando a quale "numero corrisponde":

Code:
#include <IRremote.h>

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, DEC);
    irrecv.resume(); // Receive the next value
  }
}

Invece per far corrispondere una "schiacciata" al tasto del telecomando ad una funzione, puoi usare questo sketch (un mio vecchio progetto):

Code:
#include <IRremote.h>

int led1 = 8;
int led2 = 9;
int led3 = 10;
int RECV_PIN = 7;
IRrecv irrecv(RECV_PIN);
decode_results results;
byte flag=0;

void setup() { 
 Serial.begin(9600);
  irrecv.enableIRIn();
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
}

void loop() {
   if (irrecv.decode(&results)) {
     Serial.println(results.value, DEC);
      irrecv.resume();
     
       if (results.value == 33444015) {
         digitalWrite(led1, flag);
         flag^=1;
       }
       
       if (results.value == 33478695) {
         digitalWrite(led2, flag);
         flag^=1;
       }
       
       if (results.value == 33486855) {
         digitalWrite(led3, flag);
         flag^=1;
       }
       
    }
}




Fammi sapere

Fonte: http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html


* ir-schematic.png (1.01 KB, 419x169 - viewed 13 times.)
Logged


Dueville (VI)
Offline Offline
Edison Member
*
Karma: 28
Posts: 1745
http://cesarecacitti.wordpress.com/
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Alors prova così:

Installa questa libreria: https://github.com/shirriff/Arduino-IRremote
Usa questo il circuito in allegato;

Con questo sketch vedi ogni tasto del telecomando a quale "numero corrisponde":

Code:
#include <IRremote.h>

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, DEC);
    irrecv.resume(); // Receive the next value
  }
}

Invece per far corrispondere una "schiacciata" al tasto del telecomando ad una funzione, puoi usare questo sketch (un mio vecchio progetto):

Code:
#include <IRremote.h>

int led1 = 8;
int led2 = 9;
int led3 = 10;
int RECV_PIN = 7;
IRrecv irrecv(RECV_PIN);
decode_results results;
byte flag=0;

void setup() { 
 Serial.begin(9600);
  irrecv.enableIRIn();
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
}

void loop() {
   if (irrecv.decode(&results)) {
     Serial.println(results.value, DEC);
      irrecv.resume();
     
       if (results.value == 33444015) {
         digitalWrite(led1, flag);
         flag^=1;
       }
       
       if (results.value == 33478695) {
         digitalWrite(led2, flag);
         flag^=1;
       }
       
       if (results.value == 33486855) {
         digitalWrite(led3, flag);
         flag^=1;
       }
       
    }
}




Fammi sapere

Fonte: http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html
Ok, grazie ma io vorrei capire come simulare la pressione dei tasti senza comprare una leonardo e senza programmare il convertitore usb-seriale di arduino che è un atmega.
Qualcuno saprebbe come illuminarmi?
Logged

Arduino UNO r3, Arduino MEGA 1280, adafruit motor shield, bluetooth module, enc28j60 shield.
Ultimi acquisti: un sacco di componenti elettronici, ATTEN AT 8586

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 1
Posts: 560
Electronics & Web Dev, Unix User, Ω LEO, Rock/Deep Music, Tech/Science/Finance addicted, Ski/Snowboard and much more …
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma simulare in che senso ? Vorresti usare un arduino virtuale per vedere come si comporta il programma ? O.0

Io ti posso aiutare nella parte del ricevitore IR !
Logged


Riva del Garda, TN / Forlì
Offline Offline
Edison Member
*
Karma: 8
Posts: 2246
Il piu' modesto al mondo
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

per me ti conviene scriverti un software in vb da fare girare sul tuo pc così puoi controllare tutto il sistema con poco codice...
Logged

Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

Dueville (VI)
Offline Offline
Edison Member
*
Karma: 28
Posts: 1745
http://cesarecacitti.wordpress.com/
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

per me ti conviene scriverti un software in vb da fare girare sul tuo pc così puoi controllare tutto il sistema con poco codice...

Anche io pensavo a una cosa simile, ma mi sapresti aiutare visto che di VB non capisco nulla smiley-grin, versione da installare e comandi che devo usare smiley-wink
Logged

Arduino UNO r3, Arduino MEGA 1280, adafruit motor shield, bluetooth module, enc28j60 shield.
Ultimi acquisti: un sacco di componenti elettronici, ATTEN AT 8586

Riva del Garda, TN / Forlì
Offline Offline
Edison Member
*
Karma: 8
Posts: 2246
Il piu' modesto al mondo
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

per me ti conviene scriverti un software in vb da fare girare sul tuo pc così puoi controllare tutto il sistema con poco codice...

Anche io pensavo a una cosa simile, ma mi sapresti aiutare visto che di VB non capisco nulla smiley-grin, versione da installare e comandi che devo usare smiley-wink
ok mi sono scavato una fossa perchè è da 2 mesi che uso esclusivamente linux smiley-razz

comunque dovrai installare vb.net, magari framework 4 (ma dovresti avere già molto installato con win smiley-cool

quindi impara come comunicare via seriale, visual basic ti mette a disposizione tutto nella libreria IO, fai il primo form e impara a leggere da seriale e printare in una textbox, poi http://www.codeproject.com/Articles/7305/Keyboard-Events-Simulation-using-keybd_event-funct
ricorda che ogni comando dev'essere doppio: uno che simula la pressione ed uno il rilascio smiley-wink
Logged

Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

Pages: [1] 2 3   Go Up
Jump to: