Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h> // allerede inkluderet. (Behøves ikke)
- #define RFID_READ 0x01
- #define txPin 6 // transmition pin (kan ændres) - SIN på RFID
- #define rxPin 8 // Receive pin (kan ændres) - SOUT på RIFD
- #include <Servo.h> // servo lel...
- Servo myservo; // laver et servo objekt
- SoftwareSerial mySerial(rxPin, txPin);
- int val; // val=mySerial.read();
- void setup()
- {
- Serial.begin(9600);
- Serial.write(1);
- // Serial.println("RFID Read/Write Test");
- mySerial.begin(9600);
- pinMode(txPin, OUTPUT);
- pinMode(rxPin, INPUT);
- myservo.attach(10); // tilknytter DIGITAL 10 til SERVO motoren
- }
- void suppressAll() // Forhindre NULL resultat i at blive printet.
- {
- if(mySerial.available() > 0)
- { mySerial.read();
- suppressAll();
- }
- }
- void servo_left()
- {
- int posl = 90; // servo pin
- for(posl = 0; posl < 90; posl += 1) // goes from 0 degrees to 180 degrees
- { // in steps of 1 degree
- myservo.write(posl); // tell servo to go to position in variable 'pos'
- delay(15); // waits 15ms for the servo to reach the position
- }
- }
- void servo_right()
- {
- int posr = 90; // servo pin
- for(posr = 180; posr>=1; posr-=1){
- myservo.write(posr); // tell servo to go to position in variable 'pos'
- delay(15);
- }
- }
- void loop()
- {
- int val;
- mySerial.print("!RW");
- mySerial.write(byte(RFID_READ));
- mySerial.write(byte(32));
- if(mySerial.available() > 0)
- {
- val = mySerial.read(); //The mySerial.read() procedure is called, but the result is not printed because I don't want the "error message: 1" cluttering up the serial monitor
- if (val != 1) //If the error code is anything other than 1, then the RFID tag was not read correctly and any data collected is meaningless. In this case since we don't care about the resultant values they can be suppressed
- {suppressAll();}
- }
- if(mySerial.available() > 0) {
- val = mySerial.read();
- val = mySerial.read();
- val = mySerial.read();
- val = mySerial.read(); // vi læser 2 bytes * 4
- if (val == 0X96){
- Serial.print("\nread 96. korer til 1.\n");
- Serial.println(1);
- servo_right();
- delay(1000);
- }
- else if (val == 0X12){
- Serial.print("\nread 12. korer til 180.\n");
- Serial.println(2);
- servo_left();
- delay(1000);
- }
- else {
- Serial.println("kunne ikke genkende.");
- delay(1000);
- }
- val = 0;
- }
- delay(750);
- }
Advertisement
Add Comment
Please, Sign In to add comment