本帖最后由 物联网爱好者 于 2020-10-11 20:58 编辑

很感谢主办方给了我参与2020意法半导体开发大赛的机会,这次我的创意是NFC台灯。

下面展示是STM32L4开发板,盒子上有简单的说明
IMG_20201011_112830.jpg

IMG_20201011_112835.jpg

接下来是ST25R3916,可以实现NFC全功能,卡模拟,读卡,P2P等功能

IMG_20201011_112852.jpg
IMG_20201011_112847.jpg

下图是STM32L4和ST25R3916组装后的效果,也是今天的主角

IMG_20201011_112908.jpg

接着出镜的是5V继电器

IMG_20201011_112914.jpg

下面是台灯的核心硬件,USB LED灯,没有它也组不了台灯了。

IMG_20201011_112919.jpg

下图的LED灯板是台灯1号,线已经剪好了,后面发现和继电器不匹配(12V),才被迫换上的USB LED 灯

IMG_20201011_190946.jpg

这个NFC台灯中ST25R3916角色是读卡器,当ST25R3916读到指定的nfc卡的时候,通过STM32L4拉高PC10的电平来控制继电器点亮台灯,演示视频已经放在哔哩哔哩【演示视频链接
代码部分用的官方读取NFC的代码,以及继电器的相关控制实现了该功能,后面有需要会放在码云等平台。
下图是GPOI配置的代码
0001.png
然后通过
  1. HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_10);
来实现电平状态切换,达到控制LED等效果。

下面聊下开发中遇到的问题。
1、在开发初期我设计的是用STM32L4的PA0控制继电器,在反复实验失败之后发现ST25R3916在用STM32L4的PA0。后来换了PC10解决问题。
2、在代码开发过程中,想当然的认为NFC的控制代码在demo.c,在读代码和多次修改无效后,惊奇的发现NFC的控制代码在ndef_demo.c中。