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 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. Boards — Arduino Official Store
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.
#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.
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.
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.
Buenas de nuevo!
Al final decidí cambiar de tipo de Arduino y me puse a hacer pruebas en el Arduino Leonardo ETH. Este me va perfecto. Modifique un poco el programa para visualizar por el Monitor serie correctamente el dato.
Os pongo el programa:
int primeravez = 0;
String cadena = "";
void setup() {
Serial.begin(9600); //Monitor serie
Serial1.begin(9600); //Lector de tag conectado a la patilla 0 - RX
delay(500);
}
void loop() {
if (Serial1.available()){
int inByte = Serial1.read();
primeravez = 1;
cadena= cadena + char(inByte);
}
else{
delay(500);
if (primeravez == 1){
Serial.print("Valor que recibe: ");
Serial.println(cadena);
cadena = "";
primeravez = 0;
}
}
}