Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Viral Science
- //RFID
- #include <SPI.h>
- #include <MFRC522.h>
- #define SS_PIN 10
- #define RST_PIN 9
- #define LED_G 4 //define green LED pin
- #define LED_R 5 //define red LED
- #define LED_detect 3 //led when car detected
- #define BUZZER 2 //buzzer pin
- const int trigPin = 7;
- const int echoPin = 6;
- long duration;
- int distance;
- int detectCard = 0;
- MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
- void setup()
- {
- Serial.begin(9600); // Initiate a serial communication
- SPI.begin(); // Initiate SPI bus
- mfrc522.PCD_Init(); // Initiate MFRC522
- pinMode(LED_G, OUTPUT);
- pinMode(LED_R, OUTPUT);
- pinMode(LED_detect, OUTPUT);
- pinMode(BUZZER, OUTPUT);
- pinMode(trigPin, OUTPUT);
- pinMode(echoPin, INPUT);
- noTone(BUZZER);
- Serial.println("Put your card to the reader...");
- Serial.println();
- }
- void loop()
- {
- digitalWrite(trigPin, LOW);
- delayMicroseconds(2);
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigPin, LOW);
- duration = pulseIn(echoPin, HIGH);
- distance = duration*0.034/2;
- if(distance >= 5 || distance <= 10){
- //detect car
- digitalWrite(LED_detect, HIGH);
- delay(3000);
- digitalWrite(LED_detect, LOW);
- // Look for new cards
- if ( ! mfrc522.PICC_IsNewCardPresent())
- {
- return;
- }
- // Select one of the cards
- if ( ! mfrc522.PICC_ReadCardSerial())
- {
- return;
- }
- //Show UID on serial monitor
- Serial.print("UID tag :");
- String content= "";
- byte letter;
- for (byte i = 0; i < mfrc522.uid.size; i++)
- {
- Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
- Serial.print(mfrc522.uid.uidByte[i], HEX);
- content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
- content.concat(String(mfrc522.uid.uidByte[i], HEX));
- }
- Serial.println();
- Serial.print("Message : ");
- content.toUpperCase();
- if (content.substring(1) == "D4 00 A8 1E") //change here the UID of the card/cards that you want to give access
- {
- detectCard = 1;
- noTone(BUZZER);
- digitalWrite(LED_R, LOW);
- digitalWrite(LED_G, LOW);
- }
- if(detectCard == 0){
- digitalWrite(LED_R, HIGH);
- digitalWrite(LED_G, HIGH);
- tone(BUZZER, 300);
- delay(1000);
- }
- }
- else{
- noTone(BUZZER);
- detectCard = 0;
- digitalWrite(LED_R, LOW);
- digitalWrite(LED_G, LOW);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement