Thursday, March 25, 2010

Program Script

#include

Servo myservo;
int r;
float servoValMin;
float servoValMax;
float servoCurVal;
long timerServo;
int servoDirection = 1;

long counter;
boolean buttonReading = false;

void setup () {
Serial.begin(9600);
myservo.attach(9);
pinMode(11, INPUT);
pinMode(12, INPUT);
pinMode(13, INPUT);

myservo.write(90); // 90 -> no motion
servoCurVal = 90;

pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
}


void loop() {

rfidReading(digitalRead(11), digitalRead(12), digitalRead(13));


//-------------------------------------- MOTOR
if(r==0) {
//myservo.write(90);
timerServo = millis();
} else if(r==2) {
servoValMin = 90;
servoValMax = 95;
} else if(r==4) {
servoValMin = 90;
servoValMax = 100;
} else if(r==6) {
servoValMin = 90;
servoValMax = 105;
}


if(millis()>timerServo) {
if(r==0) {
servoCurVal = servoCurVal - 0.05;
if(servoCurVal<=90) { servoCurVal = 90; } } else if(r!=0) { servoCurVal = servoCurVal + 0.05*servoDirection; if(servoCurValservoValMax) {
servoCurVal = servoValMax;
servoDirection = -1;
}
}

myservo.write(servoCurVal);

timerServo = millis() + 10;
}

//Serial.println(r);



//-------------------------------------LED
if(r==0) {
digitalWrite (3, LOW);
digitalWrite (5, LOW);
digitalWrite (6, LOW);
counter = 0;

} else if(r!=0) {
//-----LED script
Serial.println(counter);

digitalWrite (3, HIGH);
//if (buttonReading==HIGH){
counter = counter+1;
if (counter > 1000) {
digitalWrite (6, HIGH);
}
if (counter > 2000) {
digitalWrite (5, HIGH);
}
/*
} else {
digitalWrite (3, buttonReading);
digitalWrite (5, buttonReading);
digitalWrite (6, buttonReading);
counter = 0;
}
*/
}

}




void rfidReading(boolean p0, boolean p1, boolean p2) {
if (p0==false && p1==false && p2==false) {
r=0;
}
if (p0==true && p1==false && p2==false) {
r=1;
}
if (p0==false && p1==true && p2==false) {
r=2;
}
if (p0==false && p1==false && p2==true) {
r=3;
}
if (p0==true && p1==false && p2==true) {
r=4;
}
if (p0==true && p1==true && p2==false) {
r=5;
}
if (p0==false && p1==true && p2==true) {
r=6;
}
if (p0==true && p1==true && p2==true) {
r=7;
}
}

*) thank u lawrence :)

No comments:

Post a Comment