RA_Lance 发表于 2022-5-23 17:27:05

基于瑞萨MCU制作的具有刷卡开箱功能的快递盒

RA MCU&立创EDA的训练营活动已经落下帷幕,其中有不少优秀的开源项目,让我们一起来看看小伙伴们一些优秀的作品吧
基于瑞萨MCU制作的具有刷卡开箱功能的快递盒
https://image.lceda.cn/pullimage/T7KBwK7Fl8IV9qbtCDRPAGOte6wbOv8gDeWr1zzs.png
开源作者:Eilgnaw

项目简介:
基于瑞萨RA2E1 MCU制作的具有刷卡开箱功能的立创快递盒子

基本功能:
使用串口与 PN532 进行通信.
快递盒打开时,刷卡以录入开箱NFC卡信息,录入成功后蜂鸣器发出长音.可以用于更换卡片.
快递盒关闭时,刷卡,当NFC卡正确时,盒子自动开箱并发出短音,当 NFC 卡非录入卡片时,蜂鸣器响两声.


原理图:


电路说明:
引脚说明:
配置 P000 为输入模式,作为快递盒开关状态信号.根钛丝锁商家提供的说明得知,当锁在开启时两根信号线开路,关闭时信号线导通,以此来判断盒子开关状态.
配置 P915 为输出模式,控制钛丝锁.钛丝锁电气参数为5V/1.2A,搭配 NMOS 作为钛丝锁开关.
配置 P407 为输出模式,控制蜂鸣器作为工作时成功与失败提示.
配置 P212/P213 为串口与 PN532 通讯.

程序说明:
根据 PN532 通讯协议对数据进行解析,代码如下

void user_uart1_callback (uart_callback_args_t * p_args)
{
    if(p_args->event == UART_EVENT_TX_COMPLETE)
    {
      uart1_send_complete_flag = true;
    }

    if(p_args->event == UART_EVENT_RX_CHAR)
    {
      RxBuff = p_args->data;
      RxLine++;                      //每接收到一个数据,进入回调数据长度加1
      DataBuff=RxBuff;//把每次接收到的数据保存到缓存数组
      Rx_flag=1;
      Rx_len++;
      if (Rx_len == 0x09) { //开始读取长度
            Rx_clen = RxBuff + 13;
      }

      if(Rx_len == Rx_clen)
      {
            Rx_flag_finish=1;
            Rx_len--;
      }
      RxBuff=0;
    }
}当钛丝锁开启时,读取到卡号进行存储处理
    err = R_FLASH_LP_Erase(&g_flash0_ctrl, FLASH_DF_BLOCK_0, 1);
    assert(FSP_SUCCESS == err);
    printf("R_FLASH_LP_Erase\n");
    while (!interrupt_called)
    {
    ;
    }
    assert(FLASH_EVENT_ERASE_COMPLETE == flash_event);
    interrupt_called = false;
    flash_status_t status;
    err = R_FLASH_LP_Write(&g_flash0_ctrl, (uint32_t) cardId, FLASH_DF_BLOCK_0, cardId_length);

当钛丝锁关闭时,读取到卡号与存储的卡号进行对比并进行处理
if (0 == memcmp(cardId, (uint8_t *) FLASH_DF_BLOCK_0, 4))
    {
      open_box();
    }else
    {
      err_beep();
    }

成品展示:
https://image.lceda.cn/pullimage/T7KBwK7Fl8IV9qbtCDRPAGOte6wbOv8gDeWr1zzs.png
https://image.lceda.cn/pullimage/PcRvFeXmlEKb0xrVHHWvEqMM7Kn8MI9aZQhemtf4.png
https://image.lceda.cn/pullimage/EnOhtX1V36CtDXUOnmRIUSd6fAa7ENqGFEUAs8im.png

代码:

工程详细内容及项目开源地址:https://oshwhub.com/eilgnaw/eilgnaw001
更多优秀开源作品:
https://oshwhub.com/recommend/LC&RAMCU










页: [1]
查看完整版本: 基于瑞萨MCU制作的具有刷卡开箱功能的快递盒