Go Down

Topic: No consigo leer por serie con Yún + Wireless SD Shield + NFC (Read 1 time) previous topic - next topic

poketmonster

Hola a todos,

Llevo algunos días intentando montar un lector con un Arduino Yun, una placa Wireless SD Shield y un lector NFC de libelium. La idea es que envíe a un servidor web el ID del tag leído.

De momento simplemente intento leer, he estado usando el código que ofrece libelium http://www.cooking-hacks.com/documentation/tutorials/rfid-13-56-mhz-nfc-module-for-arduino en su versión más básica, el que aparece bajo Step 2 : Reading tags (read only cards) (No lo pego aquí porque es largo).

Este código funciona perfectamente con un Arduino UNO pero con el Yún no ejecuta el serial.read() después de buscar veo que es porque la tarjeta Yún no tiene un chip dedicado a este serial y es un puerto virtual, en cualquier caso según en que sitios he leído cosas relativas a usar el puerto Serial1 (creo que esto es incorrecto) y a usar otros pines como serial (con las librerías NewSoftSerial o AltSoftSerial) en estos casos entiendo que hay que doblar las patillas del serial original (¿0 y 1 o 2 y 3? he leido las 2 cosas) y conectarlas a los nuevos pines (5 y 13 si es AltSoftSerial y los indicados con NewSoftSerial, ¿no?).

En resumen, he llegado a un punto en que después de hacer bastantes pruebas y de buscar bastante supongo que o bien no he encontrado la respuesta o tengo algún error de base o alguna suposición errónea.

Si alguien me puede dar alguna indicación, le estaría muy agradecido.

surbyte

What?? usas una placa WIFI en un YUN que ya tiene WIFI?



El puerto serie en el YUN debe usarse como Serial1 no como Serial.
Lee esto, mira las especificaciones del YUN aca
Quote
Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data using the ATmega32U4 hardware serial capability. Note that on the Yún, the Serial class refers to USB (CDC) communication; for TTL serial on pins 0 and 1, use the Serial1 class. The hardware serials of the ATmega32U4 and the AR9331 on the Yún are connected together and are used to communicate between the two processors. As is common in Linux systems, on the serial port of the AR9331 is exposed the console for access to the system, this means that you can access to the programs and tools offered by Linux from your sketch.
No se porque elegiste un YUN pero en este punto tal vez te convenga comprar o usar un UNO ya que tienes la placa WIFI que compraste de mas.
Me comprendes?

poketmonster

Hola surbyte,

No tengo otro wifi, estoy usando la Wireless SD shield http://arduino.cc/en/Main/ArduinoWirelessShield para conectar un lecto NFC Xbee, pero esta placa no incluye wifi.

He vuelto a intentarlo con Serial1, pero no funciona. ¿Alguna idea de que a se puede deber?

Muchas gracias!

surbyte

Bien, me equivoqué. Vamos de nuevo.

En el esquema del Shield Wireless se ve esto, puedes ubicarlo?



Esquema del Wireless SD shield

surbyte

Acá esta

Switch Settings

The Wireless SD shield has an on-board switch labelled Serial Select. It determines how the Xbee's serial communication connects to the serial communication between the microcontroller (ATmega8 or ATmega168) and USB-to-serial chip on the Arduino board.
   


Quote
When in the Micro position, the DOUT pin of the wireless module is connected to the RX pin of the microcontroller; and DIN is connected to TX. The wireless module will then communicate with the microcontroller. Note that the RX and TX pins of the microcontroller are still connected to the TX and RX pins (respectively) of the USB-to-serial converter. Data sent from the microcontroller will be transmitted to the computer via USB as well as being sent wirelessly by the wireless module. The microcontroller will not be programmable via USB in this mode.

Quote
With the switch in the USB position, the DOUT pin the wireless module is connected to the RX pin of the USB-to-serial converter, and DIN on the wireless module is connected to the TX pin of the USB-to-serial converter. This means that the module can communicate directly with the computer. The microcontroller on the board will be bypassed. To use the shield in this mode, you must program the microcontroller with an empty sketch (shown below), or remove it from the board.
Empty sketch:

Khazus

La yun usa el puerto serie para comuncarse por la serial del USB y el puerto Serial1 para comunicarse como puente hacia el atheros.



Me temo que tendrás que doblar las patitas D0 y D1 (TX,RX) y cortocircuitarlas a los pines que quieras para usar el softSerial.

Khazus


poketmonster

Hola,

Muchas gracias a los 2, he estado probando con el SoftSerial con las patillas dobladas y he conseguido que el mySerial.read() reaccione, pero sigue sin leer correctamente.

En cuando al selector del serie no tengo demasiado claro cual debería usar, con la UNO funciona en Micro, pero no se si con la Yun será diferente, de momento estoy probando en ambos modos.

Seguiré probando con el softserial y si no investigaré sobre el bridge xbee USB.

Muchas gracias por las respuestas, os voy contando como evoluciona la cosa.

poketmonster

He estado haciendo pruebas con 2 placas arduino UNO y Yún, y creo que el problema está en que no consigo hacer funcionar el puerto serie software en ninguna de las dos.

Os dejo un trozo de código con el que estoy montando el puerto serie (tengo las patillas 0 y 1 dobladas y puenteadas a 10 y 11 respectivamente):

#include <SoftwareSerial.h>

#define rxPin 10
#define txPin 11

SoftwareSerial mySerial(rxPin,txPin);


void setup()
{
        pinMode(rxPin, INPUT);
        pinMode(txPin, OUTPUT);
   //Start serial port 115200 bps:
   Serial.begin(9600);
        mySerial.begin(9600);
   delay(5000);
   Serial.print("RFID/NFC @ 13.56 MHz module started");
   delay(1000);
   //!It is needed to launch a simple command to sycnchronize
   //getFirmware();
   configureSAM();
}

Ni usando una arduino UNO ni con la Yún que quiero usar recibe nada mediante serial.read();

¿Puede que este haciendo algo mal?¿Me he dejado algo?

NOTA: Usando la tarjeta Arduino UNO y con el puerto serie normal (pines 0 y 1) funciona perfectamente, así que descarto problemas de hardware.

Muchas gracias!

Go Up