用状态机代替长时间 delay,让红黄绿灯切换时仍能响应行人按键。
一、准备材料
Arduino兼容板、红黄绿LED各1、3个330Ω电阻、按键、面包板。先对照数据手册确认供电电压、引脚和极性;所有接线在断电状态完成,并给电源设置合理限流。
二、搭建步骤
定义车辆绿、黄、全红、行人通行四个状态;用millis比较时间;按键只提交请求;每次状态转换统一更新输出。
不要一次把所有模块都接上。每完成一个功能块,就检查电源对地是否短路、连接点是否和原理图一致,再进入下一步。线色保持统一:红色表示电源、黑色表示地,信号线使用其他颜色。
三、验证与调试
连续按键与长按都不应打乱顺序;millis溢出时用无符号减法仍应工作。
故障时按“电源→地→输入→处理→输出”的顺序测量。记录期望值和实测值,比反复拆线更有效。若现象与预期不符,先回到最小电路,逐个恢复模块。
四、安全和容易踩的坑
每个LED都串限流电阻,按键使用内部上拉并做好消抖。
元件外观相同不代表引脚和参数相同;购买链接或别人的接线图不能替代当前批次的数据手册。首次通电若出现过热、异味或异常电流,应立即断电。
五、完成标准
能解释每根线的作用,重复断电上电三次仍稳定,并保存接线图、参数和测试记录,才算完成。后续焊到洞洞板或PCB前,再按原理图重画一次,避免把面包板位置误当电气连接。
本文为中文原创入门教程,资料依据:官方开发文档。示例参数用于安全低压实验,实际器件以制造商数据手册为准。
评论一下?