基于Maduino Zero的COVID 您所在的位置:网站首页 nfc芯片厂商 基于Maduino Zero的COVID

基于Maduino Zero的COVID

2023-03-22 09:28| 来源: 网络整理| 查看: 265

  本文要介绍的是一款 COVID-19 NFC 口腔检测仪,以确保进出办公室的每个人都可以正常运行。

  冠状病毒疫情的影响,办公楼严格控制工作人员的进出。每个人都应该戴上口罩并测量身体的才能进入。

  在 COVID-19 期间,很多人都有免费口罩,但仍有一些人始终没有提供。这就是我制作这个项目的原因。

  设备好后的人员需要通过专门的 NFC 口罩,出门定制这个普通的办公场所,你不会在外面使用这个设备。可以自由进出,否则您将无法进入。

  第1步:需要的材料

pYYBAGLZFMKAdl1uAANPUQoi5r8359.png

  硬件:

  马杜伊诺零 NFC

  L298N电机驱动板

  NFC 壁纸

  电磁锁

  软件:

  Arduino IDE

  第2步:连接

pYYBAGLZFL2AODd1AAPjFC4BDiU148.png

  L298N 模块 -- Maduino Zero NFC

  ENA——D4 (GPIO4)

  IN1 -- D5 (GPIO5)

  IN2 -- D6 (GPIO6)

  电磁锁 -- L298N OUT2

  第3步:定制NFC口罩

pYYBAGLZFLmAO6y0AAJMlMDEyy8111.png

  我们还定制了NFC口罩、尺寸大小的NFC礼物。

  第4步:安装NFC口罩检测器

poYBAGLZFLWAEKu7AAJYhyaHVJg662.png

  Maduino Zero NFC模块用于固定在门侧,检测工作人员是否在门上,NFC支架固定在门上。

  第 5 步:测试

  工作人员在门口口罩,仪器检测是否自动打开。(同样戴几戴口罩,如果门会自动关闭。)

  NFC代码:

  #include

#include#include "Adafruit_PN532.h"

#define PN532_SS (9)//如果使用带 I2C 的分线器或屏蔽,只定义连接到//到 IRQ 和复位线的引脚。使用下面的值 (2, 3) 作为屏蔽!#define PN532_IRQ (2)#define PN532_RESET (11) // NFC Shield 上默认未连接

Adafruit_PN532 nfc(PN532_SS);

//L298Nconst int ENA = 6 ;常量 int IN1 = 5 ;常量 int IN2 = 4 ;

#if defined(ARDUINO_ARCH_SAMD)// 对于零,在 USB 串行控制台上输出,如果使用编程端口对零进行编程,请删除下面的行!// 同时更改 Adafruit_PN532.cpp 库文件中的   #define #define Serial SerialUSB#endif

无效设置(无效){    pinMode(ENA,输出);    pinMode(IN1,输出);    pinMode(IN2,输出);         序列号.开始(115200);    串行USB.开始(115200);    SerialUSB.println("你好,Maduino Zero NFC!Makerfabs");

  nfc.开始();

  uint32_t 版本数据 = nfc.getFirmwareVersion();  if (!versiondata) {    SerialUSB.print("没找到 PN53x 板");    而(1);// 停止  }    // 得到好的数据,打印出来!  SerialUSB.print("找到芯片PN5"); SerialUSB.println((版本数据>>24) & 0xFF, HEX);   SerialUSB.print("固件版本"); SerialUSB.print((versiondata>>16) & 0xFF, DEC);   SerialUSB.print('.'); SerialUSB.println((versiondata>>8) & 0xFF, DEC);    // 设置从卡读取的最大重试尝试次数  // 这可以防止我们永远等待卡,这是  // PN532 的默认行为。  nfc.setPassiveActivationRetries(0xFF);  

  nfc.SAMConfig();    SerialUSB.println("等待 ISO14443A 卡");}

无效循环(无效){  布尔结果_成功= 0;  uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 }; // 缓冲区存储返回的 UID  uint8_t uidLength; // UID 的长度(4 或 7 个字节,取决于 ISO14443A 卡类型)    // 等待 ISO14443A 类型卡(Mifare 等)。找到时  // 'uid' 将填充 UID,uidLength 将指示  // 如果 uid 是 4 字节(Mifare Classic)或 7 字节(Mifare Ultralight)  result_success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, &uid[0 ], &uidLength);    if (result_success) {    SerialUSB.println("找到一张卡!");    SerialUSB.print("UID 长度:");SerialUSB.print(uidLength, DEC);SerialUSB.println("    SerialUSB.print("UID 值:");    for (uint8_t i=0; i     {      SerialUSB.print("0x");SerialUSB.print(uid[i], HEX);     }    SerialUSB.println("");    结果_成功=0;

    //analogWrite(ENA, 255);    数字写入(ENA,高);    数字写入(IN1,低);//切换方向    digitalWrite(IN2, HIGH);    延迟(2000);    // 等待 1 秒再继续    delay(1000);  }  else  {    // PN532 等待卡片可能超时    SerialUSB.println("等待卡片超时");  }    数字写入(IN1,低);     数字写入(IN2,低);}



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有