Linea Seriale su Tidigino

Ciao a tutti, vorei poter collegare al mio TiDiGino un lettore RFID ID-20, che andrebbe collegato ad un pin RX sulla board, ma mi sorge un dubbio:sulla board citata sono disponibili delle linee seriali o vengono occupate tutte dal modulo GSM? In teoria il mega 2560 mette a disposizione 3 canali aggiuntivi sulle coppie (14,15) (16,17) (18,19), ma non riesco a capire se siano in uso/collegate al micro.

Qualcuno che conosce la board potrebbe fornirmi qualche info? Grazie!

P.S.:Il pin 0 non dovrebbe essere un RX libero?

P.P.S.:Il canale Serial(senza alcun numero) è condiviso stra USB e pin 0-1 o è dedicato all'USB?

I pin 0 e 1 sono condivisi con l' interfaccia USB. Se li usi per altre cose non funziona piú il collegamento USB. Il circuito del Tidigino lo trovi su http://www.open-electronics.org/wp-content/uploads/2012/01/Schematics.jpg

Ciao Uwe

Io ho provato ad usare il pin 0 a USB scollegata, ma la Serial.available() non mi rileva niente.

Avevi collegato la massa?
Ciao Uwe

Io ho seguito questo esempio

A parte il fatto che l'alimentazione e reset li prendo sorgente esterna (reset fisso a +5V), il collegamento è quello.

In che senso "avevi collegato la massa"?

UP:Ho provato anche con la SoftwareSerial usando un altro pin, ma non arriva niente...

Il TiDiGino purtroppo non mette a disposizione altre porte seriali.

L'unica è usare la libreria SoftSerial, facendo però attenzione ad utilizzare per Rx un pin che sia uno di quelli controllabili tramite interrupt e cioè dal 10 al 13.

Nel tuo caso potresti usare il pin 12 (Rx) ed il pin 13 (Tx).

Thanks!
Giusto qualche domanda:
-Perchè non posso usare la linea Serial(1,0).E’ riservata all’USB?
-R/TX2 e RX3 nelle specifiche sono segnati come n.c.Significa che non cè il pin(e la relativa pista)?
-Un codice del genere andrebbe bene per stampare la lettura tramite Monitor seriale?

#include <SoftwareSerial.h>
SoftwareSerial ID20(12,13)
void loop(
{
Serial.begin(9600);
ID20.begin(9600);
}
void loop()
{
if(ID20.available()) {
 char i = ID20.read();
 Serial.println(i);
 }
}

Grazie ancora.

In teoria potresti usare anche i pin 0 ed 1, ma dovresti rinunciare all'utilissimo (per non dire indispensabile) Serial Monitor.

Esatto manca il collegamento fisico e, se non ricordo male, anche quello logico sulla pin map.

In teoria il tuo sketch è funzionale, ma meglio provarlo!

Ok, oggi provo lo sketch. Certo che quelli della futura sono dei fenomeni:visto che il micro lo permette gli costava troppo predisporre anche le altra 2 seriali? Mah...

Ok, creando una Seriale virtuale, mettendo in comune le masse e alimentando esternamente sono riuscito a fare la lettura, ma c'è qualcosa che non mi torna. In teoria il tag dovrebbe mandare -1 byte di start:2 -10 byte di seriale -2 byte di checksum -1 byte Carriage Return -1 byte Line Feed -1 byte di stop:3

Totale:16 byte

Con il seguente codice

if(ID20.available())
  {
    int i=ID20.read();
    Serial.println(i);
  }

il risultato di un tag è questo:

2  //Start
53
51
48
48
56
56
51
55
66
68
53 //checksum
49 //checksum
13 //cr
10 //lf
3  //end

Sembrerebbe tutto ok, ma...

Sul tag c'è serigrafato un numero seriale di 10 cifre che dovrebbe servire ad identificarlo a vista:

0008927165

La mia domanda è:questo codice ha qualcosa in comune con i 10 byte del seriale ricevuto? Perchè non trovo nessuna corrispondenza...