PS/2 lettore barcode

Ciao a tutti,
ho riprendo questo progetto dopo quasi un anno nella sperando che con un po' di esperienza in più le cose fossero diverse, ma sono ancora bloccato allo stesso punto.
Faccio un breve riepilogo.
Ho lettore barcode ps/2 con un cavo a y dove è possibile collegare anche la tastiera e il lettore funziona in emulazione, quindi è possibile utilizzare contemporaneamente sia la tastiera che il lettore. Se stacco la tastiera, il lettore manda dei caratteri non corretti e illeggibili.
Se collego il lettore al pc tutto funziona correttamente
Questa sera ho collegato, come consigliato, una resistenza da 2.2 khom tra il pin dati e il vcc, ma purtroppo se la tastiera non è collegato i caratteri non sono corretti.

Quanlcuno si è mai trovato in una situazione simile e ha trovato una soluzione. Allego un foto di come ho collegato la resistenza di pullup.

Grazie a tutti per l'aiuto

scusa se ricapitolo il tuo ricapitolo :slight_smile:

  • se connetti ad arduino barcode+tastiera ti funziona bene sia la tastiera che il barcode
  • se connetti il solo barcode al pc, senza la tastiera ti funziona bene ?

se e' vera la seconda allora e' il driver del barcode sul pc che forse fa la magia ? cioe' si accorge ch non c'e' la tastiera e converte tutti i caratteri ?

Una strada possibile e' farti tu una tabella di sostituzione, al numero 1 corrisponde la A, quando arriva una stringa ad arduino lui la converte in base a questa tabella e il gioco e' fatto-

AlexDC:
Hi !
Did you find the solution ?
I have exactly the same problem with my Datalogic...
Thanks !

Hi,
no there is no solution for now, my last idea is create a table iside arduino for the conversion of the carachters, example: when Arduino receive char '1' convert it to 'A'
You must create the table one by one chars

Testato:
scusa se ricapitolo il tuo ricapitolo :slight_smile:

  • se connetti ad arduino barcode+tastiera ti funziona bene sia la tastiera che il barcode
  • se connetti il solo barcode al pc, senza la tastiera ti funziona bene ?

se e' vera la seconda allora e' il driver del barcode sul pc che forse fa la magia ? cioe' si accorge ch non c'e' la tastiera e converte tutti i caratteri ?

Una strada possibile e' farti tu una tabella di sostituzione, al numero 1 corrisponde la A, quando arriva una stringa ad arduino lui la converte in base a questa tabella e il gioco e' fatto-

Si, sul pc funziona tutto regolarmente, nel caso fosse il driver, come farebbe ad accorgersi che la tastiera è collegata?
Non ci avevo pensato a creare una tabella di trascodifica...stasera ci provo e ti faccio sapere

Grazie

funziona senza attaccare la tastiera al pc ? scusa se lo richiedo piu' volte, visto che il pc ha cmq una tastiera sempre connessa, tu la stacchi, sia usb che ps2, o stiamo parlando di una seconda tastiera ?
Se il pc con il solo barcode funziona deve essere per forza una questione sw, oltre al driver tu installi sul pc anche un sw ? in genere i barcode forniscono un sw windows o altro per diverse impostazioni, potrebbe essere anche lui a fare sto' lavoro di transcodifica, potrebbe essere una protezione ? non so e forse mai lo sapremo :stuck_out_tongue_closed_eyes:
Potrebbe viceversa essere una funzione integrata al barcode, tipo quando sei connesso ad un pc, e via sw o driver questo pc ti comunica la cosa, tu sputa fuori i dati corretti, altrimenti sputali fuori sballati. Sono tutte ipotesi, di certo la prima domanda che ti feci tempo fa, cioe' se erano ripetitivi i caratteri, andava proprio verso questo dubbio, perche' invece quando hai rpobelmi di connessione, di baudrate, ecc i caratteri sono random

Il lettore ha una specie di cavo a Y dove da un lato attacco la tastiera ps2 e dall'altro attacco il pc. In questa configurazione tastiera e lettore sono intercambiabili e sia "sparando" sia scrivendo i caratteri arrivano al pc senza problemi.
Sempre con questa configurazione, se stacco la tastiera il lettore continua a funzioanre e sul pc ho i dati corretti.

Con arduino, attacco tastiera e lettore, i dati arrivano correttamente, se stacco la tastiera arrivano dei dati non corretti.

Spero di non averti incasinato ancora di più le idee :slight_smile: