В этой стате нам понадобится:
Arduino uno: http://ali.ski/gC_mOa
Servo SG90: http://ali.ski/0pzHo
Модуль RFID RC522: http://ali.ski/C1M6u
Макетную плату: http://ali.ski/rq8wz8
Контактные провода: http://ali.ski/Exjr3
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
В данном примере реализован контроль доступа с помощью модуля считывания карт RFID RC522 сервомашинки которая будет отодвигать засов.
вот эта строчка кода : “if (uidDec == 3763966293)”
В ней нужно написать id карточки которую вы бы хотели чтоб принимало для открытия засова.
Необходимо скопировать программный код приведенный ниже и вставить его в программу Arduino IDE и загрузить этот программный код в саму плату Arduino.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #include <Servo.h> #include <SPI.h> #include <MFRC522.h> // библиотека "RFID". #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); unsigned long uidDec, uidDecTemp; // для храниения номера метки в десятичном формате Servo servo; void setup () { Serial.begin ( 9600 ); Serial.println ( "Waiting for card..." ); SPI.begin(); // инициализация SPI / Init SPI bus. mfrc522.PCD_Init(); // инициализация MFRC522 / Init MFRC522 card. servo.attach( 6 ); servo.write( 0 ); // устанавливаем серву в закрытое сосотояние } void loop () { // Поиск новой метки if ( ! mfrc522.PICC_IsNewCardPresent()) { return ; } // Выбор метки if ( ! mfrc522.PICC_ReadCardSerial()) { return ; } uidDec = 0 ; // Выдача серийного номера метки. for ( byte i = 0 ; i < mfrc522.uid.size; i + + ) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec * 256 + uidDecTemp; } Serial.println ( "Card UID: " ); Serial.println (uidDec); // Выводим UID метки в консоль. if (uidDec = = 3763966293 ) // Сравниваем Uid метки, если он равен заданому то серва открывает. { tone ( 5 , 200 , 500 ); // Делаем звуковой сигнал, Открытие servo.write( 90 ); // Поворациваем серву на угол 90 градусов(Отпираем какой либо механизм: задвижку, поворациваем ключ и т.д.) delay ( 3000 ); // пауза 3 сек и механизм запирается. tone ( 5 , 500 , 500 ); // Делаем звуковой сигнал, Закрытие } servo.write( 0 ); // устанавливаем серву в закрытое сосотояние } |
Скетч: https://yadi.sk/d/GvH602emsFcFC
Демонстрация работы данной программы можно увидеть в видео приведенном в конце статьи.