大学的第一个项目,也算是电赛的第一步吧,液位控制系统。
今天终于验收完毕了,完结撒花*★,°:.☆( ̄▽ ̄)/$:.°★* 。
说实话,这个项目真的收获挺多的,刚拿到题的时候32才学到Gpio,然后继电器,超声波,啥的还是第一次接触,当时也就有代码的思路…还好,有值得信赖的队友,我们四个人回去先确定了基本的思路。因为他要求只能两人一队嘛,我们想的是两队独立制作,互相帮助。当时先下单了要用的零件:
然后,没办法了,知识不够,只能噌噌往前学呗。另一队的进度比我们快,他们学到中断后发现用中断写不出来,用用简单的逻辑判断就行,是我们想复杂了。然后我们就开始做…经过了长达一个星期的“坚持”,差不多是把硬件和软件都弄好了,这一个星期是地狱啊,就没睡过好觉
然后开始组装,装起来也是各种问题…然后又是一晚上的奋斗,把问题定在了超声波,发现我们的超声波波动特别大,他总是在两个值之间来回跳动,有时候差别不大,有时候误差很大…索性我们换了一个超声波,发现波动小了一点但还是在波动,目前也没找到好的解决办法…
大体思路,根据题目,水位大于50或小于10时自动化关闭并报警(蜂鸣器
led闪烁),在10到50之间水位交由自动化(半)管理,我们初始设定水位是20,两个按键,一个加一个减,然后我们使用两个水泵,一个抽水一个注水,用超声波测距,当然水位大于设定值抽水,小于设定值注水。然后通过stm32控制继电器开关进而控制水泵开关,继电器外接5v供电。
总结来说,软件层面很简单,对于新手来说主要是硬件的连接,配置等有难度
最开始我们遇到的主要的问题就是如何用继电器控制水泵,当时看完那个水泵接线的教程我大概理解了,就是继电器本质是一个开关,他需要额外供电,作用是控制电路闭合或者断开的,当in输入高电平(默认高电平有效)的时候会把公共端和常开端闭合,这样这两端就导通了,但是接在继电器的DC+/DC-口是给继电器供电的,不给用电器供电,用电器也是要额外供电的;看那个接线教程的思路是把DC-和公共端连在一起,然后用电器的正极是接在DC+口上的,负极是接在公共端,这样就相当于用电器也借用了继电器的DC+供电。但是我这样连接后发现一个奇怪的现象:我给继电器接3.3V(单片机直接供电)供电的时候发现它是能运行的,接在5V(外置5V供电,因为当时以为32只能提供最高3.3V的电压,不知道还有5V供电引脚(笑哭),方法就是剥开一个USB充电线,直接用那个公头供电)就不行了(只亮绿灯,不亮红灯,也不开起)当时问ai,问群里的大佬,也没解决…一看时间已经凌晨3点50多了,那天还有早八…求此时的心理阴影面积()
然后到了第二天,我翻了翻那个视频底下的评论,找有没有大佬的解决方法,然后看到有人说继电器要和单片机共地才能用,然后我仔细一想还真是,我接3.3V是单片机供电,共地,接5V是外置供电,不共地;然后我再把那个负极引脚接到单片机的地上,果然,成功了ヽ(✿゚▽゚)ノ
这只是其中一个大问题,过程中还有很多这样的问题…

下面是程序的代码:

ps:虽然但是,和朋友们一起通宵还是挺快乐的:
(这个时候已经是凌晨两点左右了)


我们组合起来的作品的样子(谁家C4())


然后是验收:我们本以为验收很严格,还在担心那个超声波误差很大会不会不合格,但没想到他验收就是简单测试一下功能,比如声光报警啥的,连抽水注水都没让我们演示(笑哭)
下面是验收完的合照:我们四个人+两套作品(无奖竞猜:哪个是博主)

最后还有一个脱裤子放屁的行为,用32控制继电器给手机充电(补药尝试,纹波很大会损伤手机电池)

部分信息可能已经过时