【电子竞赛预热赛】国旗升降系统
本帖最后由 caijie001 于 2017-11-28 10:49 编辑第一次发帖,不知道该怎么说,借助21ic提供的平台,自己利用课余时间做了国旗升降系统。采用大家最熟悉的的52单片机,io口刚好够用,用到定时器(200ms读取DS1302时间,1602显示)还有串口(蓝牙)。此外还用到isd4004芯片,能够录制音频,而且保真度也挺高,并且能指定播放和停止等。因此用起来录制国歌。音频信号采用lm386进行信号放大,直接驱动0.5W的喇叭播放。时间信息采用ds1302芯片,用法也比较简单,采用32.768KHz,+-10ppm精度的晶振,几天下来误差还是可以接受。
电机采用便宜而且又很常见的DC5V-28BYJ-48 步进电机,驱动芯片采用ULN2003。国旗杆方面,因为手头没有定滑轮,就用螺丝和螺母还有一个不知道叫做什么的东西做了个,感觉还可以。
,
目前可以实现国旗时间,日期,星期的显示,国旗的升降和暂停,国旗升国歌同时播放。国旗达到顶端国歌刚好停播放完全。另外还实现蓝牙遥控国旗暂停,升降,同时也具有国旗升国歌同时播放,国旗达到顶端,国歌刚好播完。最后一个功能是定时升降的,因为IO口基本没有了,所以就没有从硬件上考虑增加,想通过蓝牙进行定时时间设置,不过最近有单时间比较忙也没有搞。
给出相应的
功能结构图
程序框图
当时想用直接用AD画图之后打板来做,但是看到实验室啥都没有,就用洞洞板自己焊,而且还有师兄留下的isd4004模块。
附件给出AD的原理图,初学者,画的真的很一般,见谅。
最后给出用洞洞板焊接的实物图。老实说,这算是自己第一次DIY制作的小东西,感觉学到挺多东西,哈哈
杰杰帮你放视频:让网友们不用看百度网盘的视频1)http://v.youku.com/v_show/id_XMzE1OTQ4NzAzNg==.html?spm=a2hzp.8253869.0.02)http://v.youku.com/v_show/id_XMzE1OTU0MDU4MA==.html?spm=a2hzp.8244740.0.03)http://v.youku.com/v_show/id_XMzE1OTU0MzUyOA==.html?spm=a2hzp.8244740.0.0作者的代码已经打包好,在12楼杰杰帮忙放到前面来
66666厉害啊
做的不错啊,期待后续分享哦~ 楼主可以拍个视频 让大家都学习下 啥也不说,点赞吧 山东电子小菜鸟 发表于 2017-10-31 21:02
楼主可以拍个视频 让大家都学习下
这个可以有, 山东电子小菜鸟 发表于 2017-10-31 21:02
楼主可以拍个视频 让大家都学习下
好的,等下发 今天终于把最后一个时间设定的做完了,原本打算用蓝牙发送数据得,自己尝试了很久,发现有一个点自己没能突破,最后采用了按键定时的方式。由于按键有限,Isd4004的录制和播放按键不能复用,因此利用蓝牙进行蓝牙的开始设置和退出设置。
这是主函数
void main()
{
P2=0xf0;// 让电机停止,不给高电平,否则电机会发热
Mplaymode=0;
InitISD();
stoppd();
SetHigRes();
Delay_xms(50);//等待系统稳定
LCD_init(); //LCD初始化
LCD_clear();//清屏
// ds1302_init();//DS1302初始化
Delay_xms(10);
//ds1302_write_time(); //写入初始值
Init();
Init_timer2(); //定时器2初始化
while(1)
{
SingleRecord(); //isd4004录制播放遍历
Display(); //1602显示时间信息 我把判断定时时间放在这个函数里面
stop_satr();//步进电机启动停止遍历
// MultiRecord();
rise(); //国旗升起扫描
check_blue(); //检测蓝牙指令
}
} 用了以前的一部手机,用蓝牙串口,设定时间时,因为1602显示空间有限,
设定的时间就连续显示,图片中就是设定14点47分04秒自动升国旗奏国歌。
不错嘛
国旗升的过程中,可以随时控制停止,百度云视频:http://pan.baidu.com/s/1dFEmThf
定时设置国旗升起并伴奏:http://pan.baidu.com/s/1c1YXzvM
最后一个调试视频:http://pan.baidu.com/s/1mhRV7Yw
当然,最重要的自然是开源,代码已经打包,希望我们大家在21ic中共同成长,向各位大神学习!!!
拍摄的角度不好拍摄的水平很低,各位真不好意思!!!!
PS:国歌放完之后,红绳结点并未达到顶端,原因是开始的位置并非设定位置,因为升国旗前,进行了正转和反转操作,因此造成误差。
最后,自己给自己鼓掌顺利结贴。
不错不错 我已经帮你把视频放到前面了,不用看百度网盘的视频 旗子呢 为什么我结帖说未分配积分,积分分配失败,然后试下点击没有满意答案结帖就可以结帖,新人,很是不好意思,没能给积分给各位。 感谢楼主分享,看的出好多都是楼主亲自动手做的,非常认真,相信自己也学到了不少知识,有不少收获;
期待楼主开新贴谈谈自己的感受,与大家共勉
页:
[1]