Wednesday, November 01, 2006

Arduino Code

//RUG

//PIN Numbers
int okPin = 3;
int buzzPin = 2;
int rugPin = 4;
int readPin = 5;

//PIN variables
int rugValue;

//RFID serial read variables
int val = 0; // variable to store the data from the serial port: 1 = start of byte
int serbyte = 0; // variable to store the VALID data from the port
int length; //length of byte coming through
int status; //serial read data from RFID tag
int data[80]; //data array read from RFID tag
int tagID; //tag to be tracked - set during reset procedure

void setup() {

//Set Pin modes
pinMode(okPin, OUTPUT);
pinMode(buzzPin, OUTPUT);
pinMode(rugPin, INPUT);
pinMode(readPin, OUTPUT);

//Set PIN states
digitalWrite(okPin, LOW);
digitalWrite(buzzPin, LOW);
digitalWrite(readPin, LOW);

Serial.begin(9600); // connect to the serial port

//TEMP
tagID = 55;
}

void loop ()
{
// read the serial port
serbyte = Serial.read();
if (serbyte != -1) {
val = serbyte;
}
else {
val = 0;
}

//If val is 1, its at start of tag reading - read it all to flush
if (val == 1) {
digitalWrite(13, HIGH);
length = Serial.read();
status = Serial.read();
for (int i = 0; i < length - 1; i++){
data[i] = Serial.read();
//Serial.print(data[0]);
//Serial.print(" ");
}
}

//Read RUG switch and serial
rugValue = digitalRead(rugPin); //rugValue = 0 if stepped on
Serial.print(rugValue);

if (rugValue == 1){
if (val == 1){
digitalWrite(buzzPin, LOW);
digitalWrite(okPin, HIGH);
}
else if (val == 0) {
digitalWrite(okPin, LOW);
digitalWrite(buzzPin, HIGH);
}
}
else {
digitalWrite(okPin, LOW);
digitalWrite(buzzPin, LOW);
}


delay(200);

}

No comments: