LEITOR DE CODIGO DE BARRAS EM PORTA SERIAl RS 232 NO ARDUINO MEGA 2560

#1

Saudações:

O código em anexo necessita realiza a comunicação serial de um leitor de codigo de barras com conector USB acoplado a porta serial do arduino mega 2560 por meio de conversor de sinal USB para RS 232 tipo CP2102, a compilação do programa não da erro, mais ainda não a leitura do sensor e demonstração do código no terminal serial.

#include <SoftwareSerial.h>
int RX_PIN = 2;
int TX_PIN = 3;
int BAUD_IDE = 9600;
int BAUD_WEIGHT_SENSOR = 9600;
String serialData = “”;
SoftwareSerial mySerial = SoftwareSerial(RX_PIN, TX_PIN);

void setup()
{
mySerial.begin(BAUD_WEIGHT_SENSOR);
Serial.begin(BAUD_IDE);
}
void loop()
{
while (mySerial.available())
{
int inChar = mySerial.read();
if (inChar != ‘\n’)
{
serialData += (char)inChar;
}
else
{
int dataSize = serialData.length();
Serial.print(serialData); Serial.print(" length: “);
Serial.print(dataSize); Serial.print(”\n");
delay(3000);
serialData = “”;
}
} serialData = “”;
}

#2

Oi. Talvez isso ajude:

Arduino + Telclado PS2

Já usei com leitor Elgin. Funcionou muito bem.

#3

Winther muito obrigado pela atenção por favor o que você alterar no codigo para utilizar o mesmo com um leitor com cabo usb da maneira como esta com consegui ne compilar o codigo o IDE da erro dizendo não foi possivel compilar o codigo para o arduino mega 2560

#4

veja => PS2->USB

#5

Winther boa tarde colega o problema que estou tendo e que quando eu acrescento a biblioteca PS2Keyboard no programo para o arduino o IDE da a mensagem de erro que o dizendo que não pode compilar o arquivo para o arduino e a biblioteca instalou corretamente no IDE sem erro, o que pode estar errado?

#6

Qual erro que está aparecendo. Se possível ponha o código também pra eu dar uma olhada

#7

O erro esta na imagem!

segue codigo:

#include < PS2Keyboard.h >

const int DataPin = 3;
const int IRQpin = 2;

PS2Keyboard Keyboard ;

void setup() {
delay(1000);
keyboard.begin(DataPin, IRQpin);
Serial.begin(9600);
Serial1.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();
} else if (c == PS2_TAB) {
  Serial.print("[Tab]");
} else if (c == PS2_ESC) {
  Serial.print("[ESC]");
} else if (c == PS2_PAGEDOWN) {
  Serial.print("[PgDn]");
} else if (c == PS2_PAGEUP) {
  Serial.print("[PgUp]");
} else if (c == PS2_LEFTARROW) {
  Serial.print("[Left]");
} else if (c == PS2_RIGHTARROW) {
  Serial.print("[Right]");
} else if (c == PS2_UPARROW) {
  Serial.print("[Up]");
} else if (c == PS2_DOWNARROW) {
  Serial.print("[Down]");
} else if (c == PS2_DELETE) {
  Serial.print("[Del]");
} else {

  // otherwise, just print all normal characters
  Serial.print(c);
}

}
}

#8

Se não me engano pra usar essa biblioteca sua placa precisa de um chip de comunicação USB. Pelo que sei o Leonardo tem essa funcionalidade. Muda a seleção da placa pro Leonardo e tenta compilar. Se não der erro se confirma o que eu disse. No código antigo, talvez seja possível utilizar o Serial Monitor do arduino, para enviar os códigos de barra para testar. Com isso vc elimina problema na programação.