矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 24437|回复: 67

【参赛】给孩子DIY的一个功能齐全十字路口红绿灯模型

[复制链接]
     
发表于 2016-11-24 15:25:49 | 显示全部楼层 |阅读模式
本帖最后由 amo 于 2016-11-24 15:58 编辑

小孩上了幼儿园,对各种交通标志很感兴趣,由此萌生了做一个交通模型送给他的想法,经过对比最终选定了十字路口交通灯:架构简单,不需要太多的机械加工,电路和软件都是我擅长的,声光效果都有。

大家每天经过路口都能看到交通灯可能觉得不稀奇,真要做起来还真不简单。

工程师要做一样东西总喜欢按项目流程去搞:  下面的图片有点大,如果看不清,需要点击图片放大才能看到完整大图

第一步:收集资料,建模
典型红绿灯示意图.png
如图所示,典型十字路口需要56个信号灯,一般人可能都直觉不可能有这么多……
好了,电路架构和程序架构都在图里了。

第二步:设计原理图
红绿灯LED原理图.png
我们用74HC595级联+静态显示的方式驱动56个LED,每个方向的横杆上分配2片,立柱则只放LED,这样好处是只需要做两种PCB:横杆和立柱,立柱焊不同元件和跳线实现左、中、右功能

第三步:设计PCB
PCB.png

为了节约成本,横杆设计成10x1cm,立柱设计成5x1cm,每张PCB放4个立柱,总共占用10x3cm。这样在一张标准打样10x10cm的PCB里只需要占用3/10的面积……现在打样10张10x10cm的PCB是50块钱包邮,就能得到10个横杆,40个立柱,可以做两套模型。


第四步:设计控制电路
用的是1元POS的充电宝护板和锂电池,加一块带小MCU的板子,引出3.3V、GND、SPI的3个信号(MOSI、SCK、CS),总共5根线。这部分原理图没有画,当它是一个模块直接用了。

补充内容 (2016-11-26 18:14):
2016-11-26:本项目可做成套件,有意提供整套横杆、立柱和底座PCB+元件,坛友拿到手后自行焊接,并接上自己手头有的MCU板。PCB长宽比例可调整使得更美观。由于我不用劳心劳力,仅收取成本价+快递费。有意者先报名。
     
 楼主| 发表于 2016-12-7 20:12:31 | 显示全部楼层
immofei321 发表于 2016-12-6 16:50
吊炸天呀!!!!!!秒殺做教具的那幫,,,,,,

没那么厉害,其实就是一个大号的流水灯,单片机入门初学的水平而已
回复 支持 1 反对 0

使用道具 举报

     
 楼主| 发表于 2016-11-24 15:41:08 | 显示全部楼层
PCB打样回来了:
正面:
PCB正面.JPG

底面:
PCB底面.JPG
回复 支持 反对

使用道具 举报

     
发表于 2016-11-24 17:31:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2016-11-24 18:45:49 | 显示全部楼层
看起来有点复杂。作做上严谨!赞一个
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2016-11-24 19:54:16 | 显示全部楼层
焊接:

焊接1.jpg


焊接2.jpg


焊接3.jpg


焊接4.jpg
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2016-11-24 19:55:46 | 显示全部楼层
本帖最后由 amo 于 2016-11-24 20:04 编辑

组装:

组装1.jpg


组装2.jpg

第一个底座,有点小,显得太挤,淘汰掉:
组装3.jpg


第二个底座,加大间距,勉强看得过去:
组装4.jpg


组装5.jpg
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2016-11-24 19:57:40 | 显示全部楼层
调试:
调试1.jpg
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2016-11-24 21:09:47 | 显示全部楼层
本帖最后由 amo 于 2016-11-24 21:30 编辑

视频:
用手机拍了几个,太大了,压缩成flv格式还有十几兆,没法上传;先上传到其它视频网站再贴过来:

http://v.youku.com/v_show/id_XMTgzMzcwMTAyNA==.html
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2016-11-24 21:49:48 | 显示全部楼层
视频2,单步调试:

红绿灯是一个简单的状态循环。这里可以通过按键进入调试界面,然后通过一个按键来单步运行:每按一下按键,就进入下一个状态并保持,直到下一次按键
这样可以实现手动交通管制。当然通过串口进行控制也能达到同样的效果。

http://v.youku.com/v_show/id_XMTgzMzczMTQyOA==.html
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2016-11-24 22:05:36 | 显示全部楼层
简单聊一下编程:
(其实初学程序设计的学生更容易看懂,并且写得更好)
1-使用面向对象思想去编程
2-系统其它通用的如串口、按键、定时器……略
3-只说本系统特有的:每个LED定义为一个对象,这个对象具有常亮(可进一步配置亮多长时间然后熄灭)、闪烁(可进一步配置闪烁周期、占空比)、熄灭这3种操作
4-整个红绿灯由4个“方向”对象通过链表组成。每个方向都是一致的,当前访问的方向称为“本方向”,下一个是“右方向”,再下一个是“前进方向”,再下一个是“左方向”……
5-整个循环是通过有限状态机来控制的。状态机循环切换方向,然后循环切换本方向的几个状态(跟交通规则有关)
6-手动按键单步调试(或串口命令调试)时,状态机会在每个状态切换后等待下一个按键或下一个命令,实现手动交通管制。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2016-11-24 22:11:05 | 显示全部楼层
本想把道路也搞上,但是那样占地面积就大了,不好收纳。现在小孩对这个模型已经很满意了,看这些交通灯循环切换就能看很久;也会自己手动交通管制,嘴里念念有词,当一把交警瘾
回复 支持 反对

使用道具 举报

     
发表于 2016-11-25 21:59:14 | 显示全部楼层
思维严谨,板子做得很漂亮,动手能力超赞,真心佩服!
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2016-11-26 18:03:40 | 显示全部楼层
guangping987 发表于 2016-11-25 21:59
思维严谨,板子做得很漂亮,动手能力超赞,真心佩服!

多谢夸奖,不过动手能力不敢当……焊完板子,剩下的安全岛、道路就要全靠手工去钻、刨、磨了,动手能力实在差,而且工具又不齐全,感到头大就放弃了。前面说的“占地面积大、不容易收纳”只是一个不容易看出漏洞的借口,呵呵
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2016-11-26 18:25:52 | 显示全部楼层
2016-11-26:本项目可做成套件,有意提供整套横杆、立柱和底座PCB+元件,坛友拿到手后自行焊接,并接上自己手头有的MCU板。PCB长宽比例可调整使得更美观。由于我不用劳心劳力,仅收取成本价+快递费。有意者先报名。
报名方式:跟帖写明需要多少套,PCB长宽比例有无需求。其它需求:如“不懂程序,需要MCU控制板”等

另外希望有一名坛友协助出配套底座,要求:会机械设计,有亚克力加工设备,并提供报价。如有业余时间发货或开淘宝店,我也可以提供其它物料供你分发,我不收取利润。
回复 支持 反对

使用道具 举报

发表于 2016-11-26 18:55:11 | 显示全部楼层
这么复杂的硬件设计,在pc上编个软件,多复杂的路况都能模拟到。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-4-25 21:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表