Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Расширенная система посещаемости версии 2.0 (без Ethernet)

Компоненты и расходные материалы

Arduino UNO
× 1
Перемычки (общие)
× 1
Модуль RFID RC522
× 1

Приложения и онлайн-сервисы

http://www.parikshacrack.com/gadgetProgrammers/addrfidwin64 .zip
Только для пользователей Windows
http://www.parikshacrack.com/gadgetProgrammers/markattendancewin64 .zip
Только для пользователей Windows

Об этом проекте

Первая версия нашей «Онлайн-системы посещаемости RFID (без Ethernet)» может показаться немного сложной для тех любителей, у которых нет навыков программирования. С онлайн-системой учета посещаемости RFID версии 2 , мы сделали шаг вперед и устранили часть кода. Выполнив всего лишь несколько подключений, вы сможете создать свою собственную систему онлайн-посещаемости.

В этой версии системы посещаемости мы планируем запустить систему посещаемости с учетом всех требований реальной системы посещаемости. Он имеет ЖК-дисплей.

Как это работает?

Схема:

Если у вас возникла путаница в соединениях, см. Раздел схемы для соединений контактов.

Схема для ЖК-ЭКРАНА:

pin3 к grd с резистором 220 Ом

Вывод ЖК-дисплея RS на цифровой вывод A0

Вывод включения ЖК-дисплея на цифровой вывод A1

Вывод ЖК-дисплея D4 на цифровой вывод 5

Вывод ЖК-дисплея D5 на цифровой вывод 4

Вывод ЖК-дисплея D6 на цифровой вывод 3

Вывод ЖК-дисплея D7 на цифровой вывод 2

Вывод LCD R / W на массу

Вывод VSS ЖК-дисплея на массу

Вывод VCC ЖК-дисплея на 5 В

Программирование:

Шаг 1. Чтобы использовать нашу онлайн-систему посещаемости RFID, вам необходимо выполнить следующие действия:

  • · Создать группу пользователей посещаемости
  • · Создать Ключ проверки

Чтобы выполнить указанные выше действия, перейдите по указанному ниже URL-адресу и создайте группу пользователей посещаемости и сгенерируйте бесплатный ключ проверки.

Сохраните этот ключ проверки.

URL: http://www.parikshacrack.com/gadgetProgrammers/user_group.html

Шаг 2 :Загрузите файлы по указанному ниже URL-адресу, который необходим для синхронизации Arduino и нашего веб-приложения .

http://www.parikshacrack.com/gadgetProgrammers/ addRFIDTagsProg.zip

http://www.parikshacrack.com/gadgetProgrammers/markattendancewin64.zip

Примечание :Это только для ОС Windows. мы много работаем для других ОС.

Извлеките файлы из двух вышеупомянутых zip-папок, сохраните эти файлы на своем ПК и выберите в соответствии с архитектурой Windows. (32- или 64-битный ПК).

Шаг 3 :Подключите Arduino и RFID Reader к одному компьютеру.

Шаг 4: Скопируйте и вставьте код Arduino, как указано в разделе кода, в редактор Arduino. Теперь запустите и загрузите код Arduino на устройство.

Шаг 5: Теперь запустите настольное приложение « addRFIDTagsProg . », Который можно найти в папке« addRFIDTagsProg.zip ».

Если все подключено идеально, то Приложение «addRFIDTagsProg» будет открыто, и текстовое поле будет показано, как на изображении ниже, в противном случае будет показан пустой экран.

На приведенной ниже диаграмме запрашивается порт, который следует выбрать для связи, пожалуйста, выберите в соответствии с вашей доступностью.

после этого вы увидите окно, приведенное ниже.

Теперь введите ключ проверки, который вы создали на шаге 1 . и нажмите кнопку подтверждения ключа.

Это подтверждает вас.

После проверки вы можете добавлять пользователей. Используя указанное выше окно, он запросит ключ проверки только один раз.

Для добавления пользователя запустите указанную выше программу после проверки, после чего она покажет вам экран, как показано ниже, снова выберите доступный порт:

После выбора правильного свободного порта появится экран, показанный ниже.

Вышеуказанный экран используется для добавления пользователя, для этого вам необходимо приблизить свою карту к RFID RC522. Затем он покажет вам TAG UID перед UID, а затем вам просто нужно ввести имя пользователя, которое будет принадлежать этой карте, и нажать ввод (кнопка появится после приближения карты).

Если пользователь будет добавлен, он покажет вам сообщение об успехе, и вы сможете просмотреть пользователя на веб-панели.

URL:http://www.parikshacrack.com/gadgetProgrammers/index.php

Шаг 6 :Теперь вы можете добавить пользователя (сотрудников / студентов) в свою группу пользователей. Для этого вам необходимо войти в наше веб-приложение. Перейдите по ссылке ниже и войдите в систему.

URL:http://www.parikshacrack.com/gadgetProgrammers/index.php

Перейдите на вкладку Пользователи -> Список ожидающих пользователей . отсюда вы можете назначать RFID-метки их сотрудникам / студентам.

Шаг 7 :Запустите приложение для ПК « markOnlineAttendance », Который находится в папке« markattendancewin64.zip ».

Откроется экран, показанный на изображении ниже, на котором отображается Статус:подключено . .

Чтобы отмечать посещаемость, сохраните метки RFID . рядом с RFID-считывателем на несколько секунд, и посещаемость будет отмечена для человека, которому принадлежат эти RFID-метки.

Шаг 8 :Чтобы увидеть посещаемость всех сотрудников / студентов за месяц или год, выполните следующие действия.

  • Перейдите на вкладку Управление посещаемостью -> Просмотр посещаемости .
  • Выберите месяц и год.
  • Нажмите кнопку «показать».

Список должен быть показан как изображение ниже.

Ура !!! Сделано.

Если хотите, проявите уважение.

Пожалуйста, крикните в поле для комментариев, если у вас есть какие-либо вопросы.

Код

  • Код Arduino
Код Arduino Arduino
Этот код используется для чтения 8-значного UID пользователя (ID CARD), печати на последовательном принтере и отправки его на обработку.
 / * -------------------- -------------------------------------------------- ---------------------------------------------- Пример скетча / программы показывает, как читать новый NUID из PICC в серийный номер. -------------------------------------------------- -------------------------------------------------- ---------------- Это пример библиотеки MFRC522; для получения дополнительных сведений и других примеров см .:https://github.com/miguelbalboa/rfid Пример эскиза / программы, показывающий, как считывать данные с PICC (то есть RFID-метки или карты) с помощью считывателя RFID на основе MFRC522 на Интерфейс Arduino SPI. Когда Arduino и модуль MFRC522 подключены (см. Схему контактов ниже), загрузите этот эскиз в Arduino IDE, затем проверьте / скомпилируйте и загрузите его. Чтобы увидеть результат:используйте Инструменты, Serial Monitor IDE (нажмите Ctrl + Shft + M). Когда вы предъявляете PICC (то есть RFID-метку или карту) на расстоянии считывания MFRC522 Reader / PCD, на последовательном выходе будет отображаться тип и NUID, если была обнаружена новая карта. Примечание:вы можете увидеть сообщения «Тайм-аут связи», если слишком рано удалите PICC с расстояния для чтения. @license Выпущено в общественное достояние. Схема для ЖК-ЭКРАНА:контакт 3 к grd с резистором 220 Ом Вывод RS ЖК-дисплея на цифровой вывод A0 ЖК-дисплей Включить вывод на цифровой вывод A1 ЖК-дисплей D4 вывод на цифровой вывод 5 ЖК-дисплей D5 вывод на цифровой вывод 4 ЖК-дисплей D6 вывод на цифровой вывод 3 ЖК-дисплей D7 вывод к цифровому выводу 2 ЖК-дисплей R / W вывод к заземлению Вывод VSS ЖК-дисплея на заземление Вывод VCC ЖК-дисплея к резистору 5 В 10 кОм:выводы к выводу + 5 В и очиститель заземления к выводу VO ЖК-дисплея (вывод 3) Схема RFID:Используется типовая схема расположения выводов:- -------------------------------------------------- ------------------------------------- MFRC522 Arduino Arduino Arduino Arduino Считыватель Arduino / PCD Uno / 101 Mega Nano v3 Leonardo / Micro Pro Микро-сигнал Контакт Контакт Контакт Контакт Контакт Контакт ------------------------------------ -------------------------------------------------- --- RST / Reset RST 9 5 D9 RESET / ICSP-5 RST SPI SS SDA (SS) 10 53 D10 10 10 SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 * / # include  #include  // включить код библиотеки:#include  // инициализируем библиотеку путем связывания любого необходимого вывода интерфейса ЖК-дисплея // с номером вывода Arduino, к которому он подключен const int rs =A0, en =A1, d4 =5, d5 =4, d6 =3, d7 =2; LiquidCrystal lcd (rs, en, d4, d5, d6, d7); # определить SS_PIN 10 # определить RST_PIN 9int writeVal; int greenLedPin =A2; int redLedPin =A3; int orangeLedPin =6; int buzzerPin =A4; boolean chkConn =false; MFRC522 rfid (SS_PIN, RST_PIN); // Экземпляр класса MFRC522 ::MIFARE_Key key; // Инициализирующий массив, в котором будет храниться новый NUIDbyte nuidPICC [4]; логическое isValidating =false; void setup () {Serial.begin (9600); SPI.begin (); // Инициализация шины SPI rfid.PCD_Init (); // Запускаем MFRC522 pinMode (greenLedPin, OUTPUT); pinMode (redLedPin, ВЫХОД); digitalWrite (buzzerPin, ВЫХОД); для (байт я =0; я <6; я ++) {key.keyByte [я] =0xFF; } lcd.begin (16, 2); lcd.setCursor (0, 0); // lcd.print ("Добро пожаловать в GadgetProgrammer"); // for (int i =0; i <26; i ++) {// lcd.scrollDisplayRight (); // delay ( 100); //} lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print ("Программист гаджетов"); задержка (100); lcd.setCursor (0, 1); lcd.print («Не подключен!»); installConnection ();} недействительный цикл () {lcd.setCursor (0, 1); char retOutput; если (Serial.available ()> 0) {retOutput =Serial.read (); lcd.blink (); если (retOutput =='A') {chkConn =true; analogWrite (orangeLedPin, 0); lcd.print («Проведите карту!»); } если (retOutput =='V') {analogWrite (orangeLedPin, 1000); lcd.print («Группа проверки»); isValidating =true; задержка (1000); } if (retOutput =='S') {lcd.print ("Проверка завершена!"); glowGreenLed (1000); isValidating =false; задержка (1000); }} if (chkConn &&! retOutput! ="") {if (retOutput =='1') {lcd.print ("Посещаемость завершена!"); glowGreenLed (1000); задержка (4000); } else if (retOutput =='0') {lcd.print ("Ошибка сети!"); glowRedLed (1000); задержка (4000); } else if (retOutput =='2') {lcd.print ("Пользователь не найден!"); glowRedLed (1000); задержка (4000); } else if (retOutput =='5') {lcd.print ("Ошибка сети!"); glowRedLed (1000); задержка (4000); } // если не в процессе проверки, смахните карту if (isValidating ==false) {lcd.setCursor (0, 1); analogWrite (orangeLedPin, 0); lcd.print («Проведите карту!»); } //lcd.clear (); // Ищем новые карты} if (! Rfid.PICC_IsNewCardPresent ()) return; // Проверяем, был ли прочитан NUID if (! Rfid.PICC_ReadCardSerial ()) return; //Serial.print(F("PICC type:")); MFRC522 ::PICC_Type piccType =rfid.PICC_GetType (rfid.uid.sak); //Serial.println(rfid.PICC_GetTypeName(piccType));// Тип печати карты // Проверить, является ли PICC классического типа MIFARE if (piccType! =MFRC522 ::PICC_TYPE_MIFARE_MINI &&piccTYPE_MIFARE_MINI &&piccType_ype_ype_piccType! =MFRC522 ::PICC_TYPE_MIFARE_4K) {//Serial.println(F(" Ваш тег не относится к типу MIFARE Classic. ")); возвращение; } String s; для (байт i =0; i <4; i ++) {nuidPICC [i] =rfid.uid.uidByte [i]; } //Serial.println(F(" Тег NUID:")); //Serial.print(F(" В шестнадцатеричном формате:")); printHex (rfid.uid.uidByte, rfid.uid.size); Serial.println (); lcd.setCursor (0,1); lcd.print («Чтение карты ...!»); // Остановить PICC rfid.PICC_HaltA (); // Остановить шифрование на PCD rfid.PCD_StopCrypto1 (); delay (1000);} / ** Подпрограмма-помощник для вывода массива байтов в виде шестнадцатеричных значений в Serial. * / void printHex (byte * buffer, byte bufferSize) {for (byte i =0; i  0) {задержка (время задержки); digitalWrite (greenLedPin, LOW); noTone (buzzerPin); }} void glowRedLed (int delaytime) {digitalWrite (orangeLedPin, LOW); digitalWrite (greenLedPin, LOW); digitalWrite (redLedPin, HIGH); digitalWrite (buzzerPin, HIGH); задержка (1000); тон (buzzerPin, 5000); // noTone (buzzerPin); если (время задержки> 0) {задержка (время задержки); digitalWrite (redLedPin, LOW); noTone (buzzerPin); }} void glowOrangeLed () {analogWrite (orangeLedPin, 100); задержка (100); } // связываемся с обработкой отправки A в Serial Portvoid installConnection () {while (Serial.available () <=0 &&! chkConn) {Serial.println ("A"); glowOrangeLed (); задержка (200); }} void printLcdMsg (String msg, int col, int row) {if (msg.equals ("") || row <0 || col <0) {row =0; col =1; } lcd.setCursor (столбец, строка); lcd.print (сообщение);} 

Схема

pin_connections_of_arduino_and_lcd_yD9G43NUd9.tiff pin_connections_of_arduion_and_rfid_7DFKgigFOA.tiff

Производственный процесс

  1. Скалка
  2. Боулинг
  3. Солнечная система отопления
  4. Английская булавка
  5. Экспонат:первичный дисплей
  6. Материалы:усовершенствованная система LSR с низкотемпературным отверждением
  7. Расширенная система охлаждения для компьютеров и аккумуляторов
  8. Система посещаемости с использованием Arduino и RFID с Python
  9. Понимание конвейерной системы
  10. Понимание системы подвески