Offline
Newbie
Karma: 0
Posts: 20
|
 |
« on: October 08, 2012, 02:54:19 pm » |
Ciao a tutti, sto utilizzando un arduino duemilanove a cui ho attaccato un lettore di barcode ps2. Come libreria sto utilizzando questa: http://www.arduino.cc/playground/Main/PS2Keyboard alla versione 2.3 Il pin di clock è stato collegato al pin 3 di un input digitale e il pin data al pin 2 Ora, il tutto sembra funzionare, ma quando leggo un barcode, arduino mi ritorna codici che hanno poco senso. Come numero di caratteri ci siamo (il codice è composto da 9 caratteri e me ne vengono restituiti altrettanti), ma come valore proprio no. Ho provato anche a cercare scancode per tastiere italiane, ma nulla. Se provo ad utilizzarlo con un pc, il lettore funziona correttamente. Un codice di esempio formato 123456789 ritorna A.$5&*B8 Sapreste darmi l'imbeccata corretta, per superare il blocco?? grazie mille a tutti per l'aiuto
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 17
Posts: 3918
Arduino rocks
|
 |
« Reply #1 on: October 08, 2012, 03:09:50 pm » |
l'ascii sembra non essere il problema, ma hai ripetitivita' dei valori ? cioe' il numero 1 e' sempre tradotto con A ?
cmq nel tuo esempio non e' vero che ti ritorna la quantita' giusta perche' sono solo 8 caratteri non 9
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 20
|
 |
« Reply #2 on: October 08, 2012, 03:24:16 pm » |
Ciao e grazie per la risposta, nel copia e incolla mi sono perso lo spazio tra il carattere * e B, oppure io carattere del forum non lo visualizza correttamente...comunque non è un problema.
Si, i caratteri sono sempre tradotti nello stesso modo, In questo esempio il carattere 1 è sempre A.
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Online
Brattain Member
Karma: 162
Posts: 15716
+39 349 2158303
|
 |
« Reply #3 on: October 08, 2012, 03:28:06 pm » |
Se attacchi al posto del lettore barcde una tastiera PS2 cosa succede? Collegando il lettore a un PC cosa succede? Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 20
|
 |
« Reply #4 on: October 08, 2012, 03:29:44 pm » |
Ciao uwefed , se connetto il lettore al pc, funziona correttamente... non ho provato con la tastiera ps2 perchè al momento non l'ho in casa, ma se dici che è una prova importante cerco di recuperarla
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 20
|
 |
« Reply #5 on: October 08, 2012, 03:37:11 pm » |
Posto anche il codice dello sketch nel caso fosse utile: #include <PS2Keyboard.h>
const int DataPin = 2; const int IRQpin = 3;
PS2Keyboard keyboard;
void setup() { delay(1000); keyboard.begin(DataPin, IRQpin, PS2Keymap_Italiano); Serial.begin(9600); Serial.println("Keyboard Test:"); }
void loop() { if (keyboard.available()) { // read the next key char c = keyboard.read(); // check for some of the special keys if (c == PS2_ENTER) { Serial.println(); } // otherwise, just print all normal characters Serial.print(c); //Serial.print(' '); } }
Ho provato anche a impostato il charset come in questo post: http://arduino.cc/forum/index.php/topic,82987.30.html ma nulla...
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Online
Brattain Member
Karma: 162
Posts: 15716
+39 349 2158303
|
 |
« Reply #6 on: October 08, 2012, 04:43:24 pm » |
Hai invertito i 2 Pin? Prova ad invertirle. Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
Selvazzano Dentro - Padova
Offline
God Member
Karma: 17
Posts: 526
"Chi sa fa, chi non sa insegna"
|
 |
« Reply #7 on: October 09, 2012, 01:50:57 am » |
Credo che sia un problema elettrico.
I lettori di codice a barre in emulazione tastiera prevedono due connettori, uno collegato alla tastiera ed uno al PC.
Nel tuo caso il PC è Arduino: hai collegato anche la tastiera?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 20
|
 |
« Reply #8 on: October 09, 2012, 02:53:50 am » |
@uwefed: Si ho provato a invertire e il risultato è che non leggo nessun carattere. @cyberhs: Il lettore che utilizzo, ha un unico connettore ps/2 a cui connetto i pin che escono dall'harduino (5v, GND, clock e data). Tu cosa intendi per due connettori?
grazie Ciao
|
|
|
|
|
Logged
|
|
|
|
|
Selvazzano Dentro - Padova
Offline
God Member
Karma: 17
Posts: 526
"Chi sa fa, chi non sa insegna"
|
 |
« Reply #9 on: October 09, 2012, 03:43:10 am » |
Ok, il tuo lettore non prevede il bypass.
Che tipo di codice stai leggendo? EAN13, Code39 o cosa?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 20
|
 |
« Reply #10 on: October 09, 2012, 04:33:37 am » |
Ho fatto prove con code-128, code-39 ed EAN-13, ma nulla da fare
|
|
|
|
|
Logged
|
|
|
|
|
Selvazzano Dentro - Padova
Offline
God Member
Karma: 17
Posts: 526
"Chi sa fa, chi non sa insegna"
|
 |
« Reply #11 on: October 09, 2012, 07:49:08 pm » |
Forse dovresti provare altre versioni della libreria...
Che versione delle libreria usi?
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Online
Brattain Member
Karma: 162
Posts: 15716
+39 349 2158303
|
 |
« Reply #12 on: October 09, 2012, 08:22:43 pm » |
@uwefed: Si ho provato a invertire e il risultato è che non leggo nessun carattere. @cyberhs: Il lettore che utilizzo, ha un unico connettore ps/2 a cui connetto i pin che escono dall'harduino (5v, GND, clock e data). Tu cosa intendi per due connettori?
grazie Ciao
Normalmente attacchi la tastiera sul lettore e questo nella porta PS2 del PC. Cosí le cose lette dal lettore vengono prese come se venissero dalla tastiera e non c'é bisogno di driver. Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 20
|
 |
« Reply #13 on: October 10, 2012, 02:00:56 am » |
@cyberhs: Adesso sto provando l'ultima la 2.3, ma ho provato anche versioni precedenti con svariati risultati, dal non legge nulla a caratteri ancora più strani.
Magari provo a cambiare lettore, anche se mi sembra strano perchè altrimenti su pc dovrebbe avere lo stesso risultato.
|
|
|
|
|
Logged
|
|
|
|
|
Selvazzano Dentro - Padova
Offline
God Member
Karma: 17
Posts: 526
"Chi sa fa, chi non sa insegna"
|
 |
« Reply #14 on: October 10, 2012, 03:16:19 am » |
Per caso il lettore è un CueCat?
|
|
|
|
|
Logged
|
|
|
|
|
|