Go Down

Topic: Ultilizar entrada de datos por puerto serie en Arduino Industrial 101 (Read 140 times) previous topic - next topic

DaniG8

Buenas! Soy nuevo en el mundo del Arduino y mi problema lo estoy teniendo con el puerto serie de un Arduino industrial 101. La idea es, tengo un lector de tarjetas tag que envía la información del tag por serie y lo quiero conectar al puerto serie del Arduino y por Monitor serie visualizar los datos.
(Podría utilizar directamente el puerto serie del ordenador y no pasar por el Arduino, de hecho, lo he probado y funciona bien el lector, pero la idea es pasar por el Arduino para enseñarme como utilizar su puerto serie y así utilizarlo para futuras aplicaciones.)

He buscado información y hay poca respecto a este Arduino. Si he encontrado el esquema del Arduino
( https://www.arduino.cc/en/uploads/Main/industrial-101-V022-20151105_SCH-1.pdf ) pero no me aclaro donde tengo que conectar mi lector serie a la entrada de recibir datos.

He encontrado que puedo crear 3 puertos series para usarlos en los pines 13, 5 y 6 para TX y 14, 15 y 16 para RX, pero físicamente en la placa nose donde están, si en el jumper J7, en el J3, en el J5 o en el J6. https://store.arduino.cc/arduino-industrial-101


Tampoco se si el codigo lo tengo bien, si podríais hechar un vistazo y aconsejarme os lo agradecería.
El código es el siguiente.


Code: [Select]

#include <SoftwareSerial.h>

SoftwareSerial lector(14,5); // 14 Rx y 5 Tx

void setup() {
  Serial.begin(9600);
  
  lector.begin(9600);
}

void loop() {

      if (lector.available()){
          Serial.println("Valor que recibe:");
          Serial.println(lector.read());
      }  
 }




Gracias de antemano por la ayuda y perdonad si hay algo del post que no este bien, es el primero que hago, iré mejorando gracias a vuestros consejos.


Saludos.


surbyte

Ese código luce bien pero recuerda algo

Code: [Select]
      if (lector.available()){
          Serial.println("Valor que recibe:");
          Serial.println(lector.read());
      }


Esto lee de a un byte por vez de modo que si la repuesta de tu lector fuera supongamos

"Esta es la respueta"

tu leerías en el monitor serie algo asi

Valor que recibe:
E
Valor que recibe:
s
Valor que recibe:
t
Valor que recibe:
a
Valor que recibe:

Valor que recibe:
e
Valor que recibe:
s

... etc etc


DaniG8

Hola Surbyte!

Gracias por el consejo, lo tendré en cuenta!

Pero el problema que tengo es que como nose en que entrada del Arduino Industrial 101 tengo que poner la salida del Lector, con lo que no puedo visualizar nada en el Monitor serie.  :smiley-confuse:


Saludos.

surbyte

La salida del sensor que debe ser del tipo Serie TTL o sea 0-5V debe conectarse a estos pines

Code: [Select]
SoftwareSerial lector(14,5); // 14 Rx y 5 Tx

El TX del sensor a pin 14 RX
El RX del sensor a pin 05 TX
GND del sensor a GND del Arduino

DaniG8

Perdona mi ignorancia pero cuando dices pin 14 o pin 05, físicamente donde están esos pins en la placa??
En el programa puse esos ya que en unas características que vi del Arduino Industrial 101 ponía que se podían utilizar esos, pero físicamente no los veo.

Os paso unas fotos de los conectores que dispone el Arduino Industrial 101.







surbyte

Veamos algo, el código lo proporcionaste tu no yo. De modo que desconozco su procedencia.
No te compliques.

Toma cualquier par de pines digitales y por ejemplo si fueran D0 y D1 para RX y TX entonces quedaría así la asignación

Code: [Select]
SoftwareSerial lector(0,1); // 0 RX 1 TX

Y listo!!

Go Up