很感谢主办方给了我参与2020意法半导体开发大赛的机会,这次我的创意是NFC台灯。
下面展示是STM32L4开发板,盒子上有简单的说明
接下来是ST25R3916,可以实现NFC全功能,卡模拟,读卡,P2P等功能
下图是STM32L4和ST25R3916组装后的效果,也是今天的主角
接着出镜的是5V继电器
下面是台灯的核心硬件,USB LED灯,没有它也组不了台灯了。
下图的LED灯板是台灯1号,线已经剪好了,后面发现和继电器不匹配(12V),才被迫换上的USB LED 灯
这个NFC台灯中ST25R3916角色是读卡器,当ST25R3916读到指定的nfc卡的时候,通过STM32L4拉高PC10的电平来控制继电器点亮台灯,演示视频已经放在哔哩哔哩【演示视频链接】
代码部分用的官方读取NFC的代码,以及继电器的相关控制实现了该功能,后面有需要会放在码云等平台。
下图是GPOI配置的代码
然后通过
- HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_10);
下面聊下开发中遇到的问题。
1、在开发初期我设计的是用STM32L4的PA0控制继电器,在反复实验失败之后发现ST25R3916在用STM32L4的PA0。后来换了PC10解决问题。
2、在代码开发过程中,想当然的认为NFC的控制代码在demo.c,在读代码和多次修改无效后,惊奇的发现NFC的控制代码在ndef_demo.c中。