Zadání:
Simulace přístupového systému pomocí arduina. Pokud je detekován čip, který má oprávněný přístup, zvonek udělá krátké pípnutí, rozsvítí se zelená LED a na displeji se pozdraví uživatel daného čipu. Pokud se detekuje čip, který není oprávněný, bzučák se rozpípá, rozsvítí se červená LED a na displeji se ukáže text „neoprávněný vstup“.
video: https://photos.app.goo.gl/afK8xV1VY9NqHDxc8
Schéma:
https://www.tinkercad.com/things/lSWuPmMTesC-mcs-pristupovy-system
RFID:
Pin | Wiring to Arduino Uno |
SDA | Digital 10 |
SCK | Digital 13 |
MOSI | Digital 11 |
MISO | Digital 12 |
IRQ | unconnected |
GND | GND |
RST | Digital 9 |
3.3V | 3.3V |
Kód:
Displej:
#include // definice pinu int PinDisplayRS = 3; int PinDisplayE = 4; int PinDisplayD4 = 5; int PinDisplayD5 = 6; int PinDisplayD6 = 7; int PinDisplayD7 = 8; // definice displeje LiquidCrystal lcd(PinDisplayRS, PinDisplayE, PinDisplayD4, PinDisplayD5, PinDisplayD6, PinDisplayD7); void setup() { // inicializace displeje lcd.begin(16, 2); } void loop() { lcd.setCursor(0, 0); // nulty radek, nulty sloupec lcd.print("Hello World!"); // vypsani textu "hello world" lcd.setCursor(0, 1); // prvni radek, nulty sloupec lcd.print(millis() / 1000); // vypsani uplynuleho casu v ms/1000 (takze v sekundach) delay(1000); }
RFID:
#include #include int SS_PIN = 10; int RST_PIN = 9; MFRC522 rfid(SS_PIN, RST_PIN); // vytvoreni objektu RFID void setup() { Serial.begin(9600); // zahajeni seriove komunikace SPI.begin(); // zahajeni SPI pro RFID modul rfid.PCD_Init(); // inicializace RFID Serial.println("Pripraveno na skenovani"); } void loop() { // podminka pokud ctecka nasla kartu if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) { Serial.print("Karta detekovana! UID: "); // vypsani kazde casti UID kodu pomoci hexadecimalniho kodu for (byte i = 0; i < rfid.uid.size; i++) { Serial.print(rfid.uid.uidByte[i], HEX); Serial.print(" "); } Serial.println(); // novy radek rfid.PICC_HaltA(); // ukonceni cteni a priprava na dalsi cteni } }
Přístupový systém:
tajné