#include int incoming; int pos=0; // for incoming serial data int rfidTag[17]; AFSoftSerial DatalogSerial = AFSoftSerial(3, 2); //So that RX is Digital Pin 3, TX is Digital Pin 2 boolean done=false; void setup() { Serial.begin(9600); //Serial.println("Good to go!"); //for debugging in Serial Monitor DatalogSerial.begin (9600); delay(10000); DatalogSerial.print("IPA"); // sets the vdip to use ascii numbers DatalogSerial.print(13, BYTE); // return character to tell vdip its end of message delay(10000); //10 seconds to initialise the disk before writing } void loop() { if (Serial.available() > 0) { // read the incoming byte: incoming = Serial.read(); rfidTag[pos] = incoming; pos++; if (pos == 16) { DatalogSerial.print("opw "); // open to write creates a file - named DatalogSerial.print("data.txt"); DatalogSerial.print(13, BYTE); // return character delay(2000); DatalogSerial.print("wrf 11"); //write to file (file needs to have been opened to write first) DatalogSerial.print(13, BYTE); //return to say command is finished delay(2000); // say what you got: for (int i=1; i <= 10; i++) { DatalogSerial.print(rfidTag[i], BYTE); } DatalogSerial.print(","); DatalogSerial.print(13, BYTE); delay(3000); DatalogSerial.print("clf "); // it closes the file DatalogSerial.print("data.txt"); DatalogSerial.print(13, BYTE); // return character delay(10000); Serial.println("done!"); pos=0; } } }