Escáner de código de barras interconectado con arduino utilizando RS232

1

Quiero conectar un escáner de código de barras con Arduino. Utilicé MAX232 para convertir los niveles. Solo tomé 3 pines: 2 (RX), 3 (TX) y 5 (GND) del cable DB9 y los entregué a los pines de MAX232 como se muestra en la figura:

Este es el código escrito en Arduino:

#include <SoftwareSerial.h>  
SoftwareSerial mySerial(6, 7); // RX, TX

void setup()  
{
  Serial.begin(9600);
  pinMode(6,INPUT);
  pinMode(7,OUTPUT);
  mySerial.begin(9600);
}

void loop() 
{
    if (mySerial.available())
    Serial.println(mySerial.read());
}

Cuando muevo el pin TX en DB9, obtengo lecturas como 255, 240, 189, etc., es decir, números aleatorios. Sin embargo, cuando escaneo el código de barras, no obtengo ninguna salida. También verifiqué la salida de las clavijas de TX en un osciloscopio, que mostró ondas simétricas durante un período de tiempo muy corto. Nuevamente, cuando el pin 12 de MAX232 (salida TTL) se conectó al osciloscopio, no se observó ninguna lectura.

    
pregunta explorer

1 respuesta

1

Las señales de 5v entre el Max232 y su Arduino están invertidas (debido a las puertas internas del chip). ¿El formato 5v RS232 de Arduino está configurado para leer datos de esa manera? Si no, intente colocar puertas de inversor adicionales entre el Max232 y los pines de entrada y salida de Arduino. (Pero si la configuración funciona para otro dispositivo RS232 quizás esté bien, consulte el siguiente párrafo).

Asegúrese de que la entrada de reconocimiento del analizador se está cumpliendo (de lo contrario, no habrá datos de salida). Alternativamente, establezca el parámetro de reconocimiento del escáner en "Ninguno". Si no hay manera de desactivar el protocolo de enlace, puede conectar el búfer Max232 restante (T1out o T2out) al pin del protocolo de enlace del escáner (posiblemente el pin 7 CTS, pero consulte el manual del escáner), luego fije el otro lado alto o bajo a satisfacer el escáner. Se puede engañar a algunos dispositivos RS232 para que siempre generen datos acortando sus propios pines de intercambio de manos: CTS y amp; RTS, (posiblemente en los pines 7 y 8, pero verifique nuevamente el manual). Por supuesto, verifique que coincida con los otros parámetros RS232 del escáner, como baudios, paridad, bits, etc.

    
respondido por el Nedd

Lea otras preguntas en las etiquetas