基于行空板M10+扩展板的刷开锁项目

2025-06-30146
AI 快速预览详细 收起
本文介绍了如何使用行空板M10和扩展板实现刷卡开锁项目。硬件清单包括行空板M10、扩展板、PN532模块和舵机。通过PN532读取RFID卡,并控制舵机实现开锁和关锁功能。该项目适合STEM教育和初学者,能够帮助孩子在实践中学习编程,体验科技的乐趣。

行空板M10有了自己专属的扩展板了,还自带电池,可以离线运行程序,真是太棒了。看看下面这张图,左边M10,右边扩展板,多了两个舵机接口P0和P3,接口那里,靠边的是P0,靠里面的是P3,这里需要注意一下。

M10Shield.png

接线图

image.png

dajian.png

代码
#  -*- coding: UTF-8 -*-

# MindPlus
# Python
import time
from unihiker import GUI
from pinpong.board import Servo
from pinpong.board import Board
from pinpong.board import Board,Pin
from pinpong.extension.unihiker import *
from pinpong.libs.dfrobot_pn532 import PN532_I2C


Board().begin()
u_gui=GUI()
servo1 = Servo(Pin((Pin.P0)))
p_pn532 = PN532_I2C()
p_pn532.begin()
while True:
    while not (p_pn532.scan()):
        pass
    time.sleep(0.5)
    rfid=u_gui.draw_text(text=p_pn532.read_uid(),x=10,y=60,font_size=20, color="#0000FF")
    rfid.config(origin="left")
    if p_pn532.scan("5cd65549"):
        rfid.remove()
        ScanRfid=u_gui.draw_text(text="欢迎回家!",x=10,y=60,font_size=20, color="#00FF00")
        # 开门
        servo1.write_angle(0)
        time.sleep(2)
        # 关门
        servo1.write_angle(150)
        time.sleep(2)
        ScanRfid.config(origin="left")
        time.sleep(2)
        ScanRfid.remove()
    else:
        rfid.remove()
        ScanRfid=u_gui.draw_text(text="无效卡,请联系管理员。",x=10,y=60,font_size=15, color="#FF0000")
        ScanRfid.config(origin="left")
        time.sleep(2)
        ScanRfid.remove()

附件

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -