Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * BIBLIOTEKI
- */
- #include <SPI.h> //Magistrala SPI
- #include <MFRC522.h> //CzytnikRFID
- #include <LiquidCrystal_I2C.h> //LCD
- #include <Wire.h> //Magistrala I2C
- /*
- * KONFIGURACJA CZYTNIKA RFID
- */
- #define SS_PIN 10 //SS Pin
- #define RST_PIN 9 //Reset Pin
- MFRC522 mfrc522(SS_PIN, RST_PIN); //Delkaracja pinów dla RFID
- /*
- * KONFIGURACJA WYŚWIETLACZA LCD
- */
- LiquidCrystal_I2C lcd(0x3f, 2, 1, 0, 4, 5, 6, 7,3, POSITIVE); //Deklaracja pinów wyświetlacza dla magistrali I2C
- /*
- * ZMIENNE POWIĄZANE Z SYSTEMEM ALARMOWYM
- */
- int TRYB = 0; //Deklaracja zmiennej i ustawienie trybu zero - alarm rozbrojony.
- int ALARM_CZAS = 9; //Czas do rozbrojenia alarmu
- String NAGLOWEK = "HackMe Security";
- /*
- * PRZYPISANIE NUMERU DLA PINÓW
- */
- int CZUJNIK = 12;
- int BUZZER = 3;
- /*
- * FUNKCJA SETUP()
- */
- void setup()
- {
- Serial.begin(9600); //Inicjalizacja serial monitora
- SPI.begin(); //Uruchomienie magistrali SPI
- mfrc522.PCD_Init(); //Uruchomienie czytnika RFID
- lcd.begin(16,2); //Konfiguracja wyswietlacza (16x02)
- pinMode(BUZZER,OUTPUT); //Konfigracja pinu wyjściowego dla buzzera
- pinMode(CZUJNIK,INPUT); //Konfiguracja pinu wejściowego dla buzzera
- lcd.home(); //Ustawienie pozycji kursora na wyswietlaczu na pozycje startowa
- lcd.clear(); //Wyczyszczenie wyswietlacza
- }
- /*
- * Funkcja LOOP()
- */
- void loop()
- {
- if(TRYB==0) function_tryb_0();
- else if(TRYB==1) function_tryb_1();
- else if(TRYB==2) function_tryb_2();
- else if(TRYB==3) function_tryb_3();
- }
- /*
- * TRYB: 0
- */
- void function_tryb_0(){
- lcd.clear();
- lcd.setCursor(0,0);
- lcd.print(NAGLOWEK);
- lcd.setCursor(0,1);
- lcd.print("Rozbrojony...");
- delay(2000);
- if ( ! mfrc522.PICC_IsNewCardPresent())
- {
- return;
- }
- if ( ! mfrc522.PICC_ReadCardSerial())
- {
- return;
- }
- String content= "";
- byte letter;
- for (byte i = 0; i < mfrc522.uid.size; i++)
- {
- content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
- content.concat(String(mfrc522.uid.uidByte[i], HEX));
- }
- content.toUpperCase();
- if (content.substring(1) == "77 B1 3C 5B")
- {
- lcd.setCursor(0,1);
- lcd.print("Prosze wyjsc: ");
- lcd.setCursor(14,1);
- lcd.print("10");
- analogWrite(BUZZER,230);
- delay(300);
- digitalWrite(BUZZER,LOW);
- delay(700);
- lcd.setCursor(14,1);
- lcd.print(" ");
- lcd.setCursor(14,1);
- lcd.print("9");
- analogWrite(BUZZER,230);
- delay(300);
- digitalWrite(BUZZER,LOW);
- delay(700);
- lcd.setCursor(14,1);
- lcd.print("8");
- analogWrite(BUZZER,230);
- delay(300);
- digitalWrite(BUZZER,LOW);
- delay(700);
- lcd.setCursor(14,1);
- lcd.print("7");
- analogWrite(BUZZER,230);
- delay(300);
- digitalWrite(BUZZER,LOW);
- delay(700);
- lcd.setCursor(14,1);
- lcd.print("6");
- analogWrite(BUZZER,230);
- delay(300);
- digitalWrite(BUZZER,LOW);
- delay(700);
- lcd.setCursor(14,1);
- lcd.print("5");
- analogWrite(BUZZER,230);
- delay(300);
- digitalWrite(BUZZER,LOW);
- delay(700);
- lcd.setCursor(14,1);
- lcd.print("4");
- analogWrite(BUZZER,230);
- delay(300);
- digitalWrite(BUZZER,LOW);
- delay(700);
- lcd.setCursor(14,1);
- lcd.print("3");
- analogWrite(BUZZER,230);
- delay(300);
- digitalWrite(BUZZER,LOW);
- delay(700);
- lcd.setCursor(14,1);
- lcd.print("2");
- analogWrite(BUZZER,230);
- delay(300);
- digitalWrite(BUZZER,LOW);
- delay(700);
- lcd.setCursor(14,1);
- lcd.print("1");
- analogWrite(BUZZER,230);
- delay(300);
- digitalWrite(BUZZER,LOW);
- delay(700);
- lcd.setCursor(0,1);
- lcd.print(" ");
- analogWrite(BUZZER,230);
- delay(300);
- digitalWrite(BUZZER,LOW);
- delay(700);
- lcd.setCursor(0,1);
- lcd.print("Sys. uzbrojony!");
- analogWrite(BUZZER,240);
- delay(1000);
- digitalWrite(BUZZER,LOW);
- TRYB=1;
- }
- }
- void function_tryb_1(){
- /* Tryb 1 sprawdza stan czujnika. Jesli jest duzy to wywołuje tryb 2*/
- if(digitalRead(CZUJNIK)==HIGH){
- TRYB=2;
- lcd.setCursor(0,1);
- lcd.print(" ");
- ALARM_CZAS = 10;
- TRYB=2;
- }
- }
- void function_tryb_2(){
- if (mfrc522.PICC_IsNewCardPresent())
- {
- if (mfrc522.PICC_ReadCardSerial())
- {
- String content= "";
- byte letter;
- for (byte i = 0; i < mfrc522.uid.size; i++)
- {
- content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
- content.concat(String(mfrc522.uid.uidByte[i], HEX));
- }
- content.toUpperCase();
- if (content.substring(1) == "77 B1 3C 5B")
- {
- TRYB=0;
- }
- }
- }
- else{
- lcd.setCursor(0,1);
- lcd.print(" ");
- lcd.setCursor(0,1);
- lcd.print("Alarm za...");
- lcd.setCursor(12,1);
- lcd.print(ALARM_CZAS);
- ALARM_CZAS=ALARM_CZAS-1;
- analogWrite(BUZZER,230);
- delay(200);
- digitalWrite(BUZZER,LOW);
- delay(200);
- analogWrite(BUZZER,230);
- delay(200);
- digitalWrite(BUZZER,LOW);
- delay(400);
- if(ALARM_CZAS==0)
- {
- lcd.setCursor(0,1);
- lcd.print(" ");
- lcd.setCursor(0,1);
- lcd.print("ALARM!!!!!!");
- TRYB=3;
- }
- }
- }
- void function_tryb_3(){
- if (mfrc522.PICC_IsNewCardPresent())
- {
- if (mfrc522.PICC_ReadCardSerial())
- {
- String content= "";
- byte letter;
- for (byte i = 0; i < mfrc522.uid.size; i++)
- {
- content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
- content.concat(String(mfrc522.uid.uidByte[i], HEX));
- }
- content.toUpperCase();
- if (content.substring(1) == "77 B1 3C 5B")
- {
- TRYB=0;
- }
- }
- }
- else{
- int i =0;
- for(i = 1; i <= 10; i++)
- {
- analogWrite(BUZZER, 200);
- delay(100);
- analogWrite(BUZZER, 100);
- delay(100);
- analogWrite(BUZZER, 0);
- }
- }
- }
- void wyczysc_ekran(){
- lcd.setCursor(0,1);
- lcd.print(" ");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement