Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- ACCENSIONE LED CON RFID
- Per maggiori info: www.progettiarduino.com
- Importante, collegare il lettore RFID ai pin di Arduino come segue:
- MOSI: Pin 11 / ICSP-4
- MISO: Pin 12 / ICSP-1
- SCK: Pin 13 / ISCP-3
- SDA: Pin 10
- RST: Pin 9
- */
- #include <SPI.h>
- #include <RFID.h>
- #include <EEPROM.h>
- int val = 0;
- #define SS_PIN 10
- #define RST_PIN 9
- // Codice della chiave master.
- #define masnum0 55
- #define masnum1 62
- #define masnum2 46
- #define masnum3 131
- #define masnum4 164
- #define pulsante 5
- #define pistone 3
- #define pausa 1000 // Costante tempo
- RFID rfid(SS_PIN, RST_PIN);
- boolean ledOn = 0; // Variabile Led acceso
- boolean stato = 0; // Variabile stato
- int ledState = 0; // Variabile stato led
- int sernum0;
- int sernum1;
- int sernum2;
- int sernum3;
- int sernum4;
- bool need_rfid = false;
- void setup()
- {
- Serial.begin(9600); //Apriamo la comunicazione con il monitor seriale
- SPI.begin();
- rfid.init();
- pinMode(3, OUTPUT);
- pinMode(pulsante, INPUT);
- Serial.println("Accensione led con RFID Pronto");
- }
- void loop() {
- if(need_rfid == false){ //condizione di partenza si entra solo se non è già stato premuto il pulsante
- if( digitalRead(pulsante) == HIGH ){
- //fai quello che devi fare col pistone
- digitalWrite(pistone, HIGH);
- unsigned long timeout_start = millis();
- delay(100); //sperando abbia fatto debounce nel frattempo
- while(digitalRead(pulsante) == HIGH){
- if(millis()-timeout_start > 10000){
- break;
- }
- delay(100); //debounce
- }
- digitalWrite(pistone, LOW);
- need_rfid = true;
- }
- }
- if(need_rfid && digitalRead(pulsante){
- //leggi da rfid
- if (rfid.isCard()) {
- if(rfid.readCardSerial()){
- sernum0 = rfid.serNum[0];
- sernum1 = rfid.serNum[1];
- sernum2 = rfid.serNum[2];
- sernum3 = rfid.serNum[3];
- sernum4 = rfid.serNum[4];
- // Se il seriale letto corrisponde con il seriale Master
- // attiva o disattiva la modalita Memorizzazione chiavi
- // e in più visualizza l'elenco della chiavi salvate...
- if (sernum0 == masnum0
- && sernum1 == masnum1
- && sernum2 == masnum2
- && sernum3 == masnum3
- && sernum4 == masnum4) {
- Serial.print("chiave giusta ");
- need_rfid = false;
- }
- }
- }
- }//need_rfid
- }//loop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement