亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

2.0 版高级考勤系统(无以太网)

组件和用品

Arduino UNO
× 1
跳线(通用)
× 1
RFID RC522 模块
× 1

应用和在线服务

http://www.parikshackrack.com/gadgetProgrammers/addrfidwin64 .zip
仅适用于 Windows 用户
http://www.pariksacrack.com/gadgetProgrammers/markattendancewin64 .zip
仅适用于 Windows 用户

关于这个项目

对于没有编程技能的爱好者来说,我们的“在线 RFID 考勤系统(无以太网)”的第一个版本可能看起来有点复杂。使用 在线 RFID 考勤系统第 2 版 ,我们向前迈进了一步,消除了编码部分。只需进行一些连接,您就可以创建自己的在线考勤系统。

在这个版本的考勤系统中,我们将推出具有真实考勤系统所有要求的考勤系统。它有一个液晶显示器。

它是如何运作的?

电路:

如果您对连接有疑问,请参阅引脚连接的原理图部分。

液晶屏电路:

pin3 到 grd 用 220 ohm 电阻

LCD RS 引脚转数字引脚 A0

LCD 使能引脚到数字引脚 A1

LCD D4 引脚到数字引脚 5

LCD D5 引脚到数字引脚 4

LCD D6 引脚转数字引脚 3

LCD D7 引脚到数字引脚 2

LCD R/W 引脚接地

LCD VSS 引脚接地

LCD VCC 引脚至 5V

编程:

第 1 步:要使用我们的在线 RFID 考勤系统,您需要执行以下步骤:

  • · 创建考勤用户组
  • · 生成 验证密钥

要执行上述步骤,请转到以下 URL 并创建考勤用户组并生成免费验证密钥。

保留此验证密钥。

网址: http://www.pariksacrack.com/gadgetProgrammers/user_group.html

第 2 步 :请从以下 URL 下载文件,同步 Arduino 和我们的 Web 应用程序。

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

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

注意 :这仅适用于 Windows 操作系统。我们正在为其他操作系统努力工作。

从以上两个 zip 文件夹中提取文件并将这些文件保存在您的 PC 中,并根据您的 Windows 架构进行选择。 (32 或 64 位电脑)。

第 3 步 :将 Arduino 和 RFID Reader 连接到同一台 PC。

第 4 步: 请将代码部分中给出的 Arduino 代码复制并粘贴到 Arduino 编辑器。现在运行并将 Arduino 代码上传到设备。

第 5 步: 现在运行桌面应用程序“addRFIDTagsProg ”,您可以在文件夹“addRFIDTagsProg.zip”中找到 ”。

如果一切都完美连接,那么应用程序“addRFIDTagsProg” 将被打开,文本框将显示如下图,否则将显示一个空白屏幕。

下图是要求选择通信的端口,请根据您的可用性选择。

之后你会看到下面给定的窗口。

现在输入您在 步骤 1 中生成的验证密钥 并按下按钮验证键。

它验证了你。

验证后,您可以添加用户使用上述相同的窗口,它只会提示输入验证密钥一次。

要添加用户,请在验证后运行上面给定的程序,然后它会显示如下屏幕再次选择可用端口:

选择正确的自由端口后,它会显示在给定的屏幕下方。

上面的屏幕是用来添加用户的,你需要在RFID RC522前面近似你的卡然后它会在UID前面显示TAG UID,然后你只需要输入属于这张卡的用户名,然后按回车(逼近卡片后会出现按钮)。

如果用户被添加,它会向您显示成功消息,您可以在 Web 面板上查看用户。

网址:http://www.pariksacrack.com/gadgetProgrammers/index.php

第 6 步 :现在您可以在您的用户组中添加用户(员工/学生)。为此,您需要登录到我们的 Web 应用程序。转到以下网址并登录。

网址:http://www.pariksacrack.com/gadgetProgrammers/index.php

转到标签用户 -> 待处理用户列表 ,从这里您可以将 RFID 标签分配给他们的员工/学生。

第 7 步 :运行桌面应用程序“markOnlineAttendance ”,您可以在文件夹“markattendancewin64.zip”中找到。

将打开一个屏幕,如下图所示,显示状态:已连接 .

要标记出勤,请保留 RFID 标签 靠近 RFID 阅读器 几秒钟后,就会为这个RFID标签所属的人标记出勤。

第 8 步 :要查看所有员工/学生在一个月或一年内的出勤情况,请按照以下步骤操作。

  • 转到标签出勤控制 -> 查看出勤。
  • 选择月份和年份。
  • 点击“显示”按钮。

列表应如下图所示。

万岁!!!完成了。

如果你喜欢,请给予尊重。

如果您有任何疑问,请在评论框中留言。

代码

  • Arduino 代码
Arduino 代码Arduino
此代码用于读取用户 8 位 UID (ID CARD) 并在串行打印机上打印并将其发送给处理。
/* -------------------- -------------------------------------------------- ---------------------------------------------- 示例草图/程序显示如何从 PICC 读取新的 NUID 到串行。 -------------------------------------------------- -------------------------------------------------- ---------------- 这是一个 MFRC522 库示例;有关更多详细信息和其他示例,请参阅:https://github.com/miguelbalboa/rfid 示例草图/程序显示如何使用基于 MFRC522 的 RFID 阅读器从 PICC(即:RFID 标签或卡)读取数据Arduino SPI 接口。当 Arduino 和 MFRC522 模块连接时(参见下面的引脚布局),将此草图加载到 Arduino IDE 中,然后验证/编译并上传它。要查看输出:使用 IDE 的工具、串行监视器(按 Ctrl+Shft+M)。当您在 MFRC522 读卡器/PCD 的读取距离处出示 PICC(即:RFID 标签或卡)时,串行输出将显示类型,如果检测到新卡,则显示 NUID。注意:过早将 PICC 移出读取距离时,您可能会看到“通信超时”消息。 @license 发布到公共领域。 LCD屏幕电路:pin3转grd,带220欧姆电阻 LCD RS pin转数字pin A0 LCD Enable pin转数字pin A1 LCD D4 pin转数字pin 5 LCD D5 pin转数字pin 4 LCD D6 pin转数字pin 3 LCD D7引脚到数字引脚 2 LCD R/W 引脚到地 LCD VSS 引脚到地 LCD VCC 引脚到 5V 10K 电阻:端到 +5V 和接地雨刷到 LCD VO 引脚(引脚 3) RFID 电路:使用的典型引脚布局:- -------------------------------------------------- ------------------------------------- MFRC522 Arduino Arduino Arduino Arduino Arduino 读卡器/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro 微信号 Pin Pin Pin Pin Pin ------------------------------------ -------------------------------------------------- --- RST/复位 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 // 通过将任何需要的 LCD 接口引脚与连接到 const int rs =A0, en =A1, d4 =5, d5 =4, d6 =3, d7 =的 arduino 引脚号相关联来初始化库2;LiquidCrystal lcd(rs, en, d4, d5, d6, d7);#define SS_PIN 10#define RST_PIN 9int writeVal;int greenLedPin =A2;int redLedPin =A3;int orangeLedPin =6;int buzzerboolean =A4 =false;MFRC522 rfid(SS_PIN, RST_PIN); // classMFRC522::MIFARE_Key key 的实例;// 初始化数组,将存储新的 NUIDbyte nuidPICC[4]; boolean isValidating =false;void setup() { Serial.begin(9600); SPI.begin(); // 初始化 SPI 总线 rfid.PCD_Init(); // 初始化 MFRC522 pinMode(greenLedPin, OUTPUT); pinMode(redLedPin,输出);数字写入(蜂鸣器引脚,输出); for (byte i =0; i <6; i++) { key.keyByte[i] =0xFF; } lcd.begin(16, 2); lcd.setCursor(0, 0);// lcd.print("Welcome To 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("未连接!");建立连接();}无效循环(){ lcd.setCursor(0,1);字符 ret 输出;如果 (Serial.available()> 0) { retOutput =Serial.read();液晶.闪烁(); if (retOutput =='A') { chkConn =true;模拟写入(orangeLedPin,0); lcd.print("刷卡!"); } if(retOutput =='V'){analogWrite(orangeLedPin,1000); lcd.print("验证组"); isValidating =true;延迟(1000); } if(retOutput =='S'){ lcd.print("验证完成!");发光绿色LED(1000); isValidating =false;延迟(1000); } } if (chkConn &&!retOutput !="") { if (retOutput =='1') { lcd.print("出勤完成!");发光绿色LED(1000);延迟(4000); } else if (retOutput =='0') { lcd.print("网络错误!");发光红灯(1000);延迟(4000); } else if (retOutput =='2') { lcd.print("用户未找到!");发光红灯(1000);延迟(4000); } else if (retOutput =='5') { lcd.print("网络错误!");发光红灯(1000);延迟(4000); } //如果不在验证过程中,则刷卡 if(isValidating ==false){ lcd.setCursor(0, 1);模拟写入(orangeLedPin,0); lcd.print("刷卡!"); } //lcd.clear(); // 寻找新卡片 } if ( !rfid.PICC_IsNewCardPresent()) return; // 验证是否已读取 NUID if ( !rfid.PICC_ReadCardSerial()) return; //Serial.print(F("PICC 类型:")); MFRC522::PICC_Type piccType =rfid.PICC_GetType(rfid.uid.sak); //Serial.println(rfid.PICC_GetTypeName(piccType));//卡片打印类型//检查是Classic MIFARE类型的PICC if (piccType !=MFRC522::PICC_TYPE_MIFARE_MINI &&piccType !=MFRC522::PICC_TYPE_MIFARE_1K! &&piccType =MFRC522::PICC_TYPE_MIFARE_4K) { //Serial.println(F("你的标签不是 MIFARE Classic 类型。"));返回;字符串; for (byte i =0; i <4; i++) { nuidPICC[i] =rfid.uid.uidByte[i]; } //Serial.println(F("NUID 标签是:")); //Serial.print(F("十六进制:"));打印十六进制(rfid.uid.uidByte,rfid.uid.size); Serial.println(); lcd.setCursor(0,1); lcd.print("阅读卡...!"); // 停止 PICC rfid.PICC_HaltA(); // 停止对 PCD 的加密 rfid.PCD_StopCrypto1(); delay(1000);}/** 帮助程序将字节数组作为十六进制值转储到串行。*/void printHex(byte *buffer, byte bufferSize) { for (byte i =0; i  0){延迟(延迟时间);数字写入(greenLedPin,低); noTone(蜂鸣器Pin); }}void glowRedLed(int delaytime) { digitalWrite(orangeLedPin,LOW);数字写入(greenLedPin,低);数字写入(redLedPin,高);数字写入(蜂鸣器引脚,高);延迟(1000);音调(蜂鸣器Pin,5000); //noTone(buzzerPin);如果(延迟时间> 0){延迟(延迟时间);数字写入(redLedPin,低); noTone(蜂鸣器Pin); }}无效glowOrangeLed(){analogWrite(orangeLedPin,100);延迟(100); }//联系处理发送A到Serial Portvoid createdConnection() { while (Serial.available() <=0 &&!chkConn) { Serial.println("A");发光橙灯();延迟(200); }}void printLcdMsg(String msg, int col, int row) { if (msg.equals("") || row <0 || col <0) { row =0;列 =1; } lcd.setCursor(col, row); lcd.print(msg);}

示意图

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. 基于Arduino和谷歌电子表格的考勤系统
  10. Arduino 指纹考勤系统,带云数据存储
  11. 了解输送系统
  12. 了解悬挂系统