mieoff 发表于 2015-10-17 02:13:50

2016年新进度-Arduino uno Ustar-HMI 自酿啤酒机项目

   十月初的时候萌生一个想法,想自己做一台自控的设备,用来酿造啤酒。国内这个圈子比较小,因流程复杂每次做啤酒厨房都很乱,所以想自己做一台自动化的设备,国内目前类似设备还很少。所以网上搜索了些方案准备动手开始做,大概讲讲过程吧。
首先我做IT行业的,但是做IT太广泛了。三六九我属于最差那个吧。文化程度对于我来说是个问题,不过谁让咱在IT行业呢,别丢脸。仗着胆子就弄了。刚开始查了差不多半个月的资料。有了些思路就开始弄了。首先说说要解决的问题,1.编程不会、2.电器电路不会(停留在物理世界,比如点灯开关是220V)、3.产品UI设计不会、4.结构设计不会。5.英文不会!当然还有其它不会的多多。
不会好办自己学吧。
一、开始我先设计的产品结构,脑子里有雏形在本子上画了画,然后就网络上搜索了一些教程,最后用选择用Solidworks,学习了3天左右。设计了2个结构框架,见下图:二、有了结构框架,接下来就需要设计自动化程序,查了几天资料,选择有AVR、51、PLC、Arduino纠结了好几天,各有利弊对于初学者来说确实太难了,PLC的设备太大、AVR看了1天有些复杂,不能快速实现。51大概看了下也麻烦.Arduino是最后看每个淘宝店铺都在卖,查了2天资料,关键没套件也可以先编编程序啥的,还有1个原因就是MAC下也可以编程,最终选Arduino了。
三、选择了可以控制的产品,然后应该选个显示设备,看了很多淘宝店。有几种选择OLED、LED、LCD。看几种我都觉不太满意。应该要有个彩色的UI和屏幕。因为之前看过很多PLC控制屏,了解了几天大概知道意思就选了个国产的串口屏幕(这个选择最终没后悔,过程后悔了)。选择的时候也没想过怎么来控制他们之间的显示,我时十一放假开始采购的。Arduino的新手套件儿没到。屏幕先到了所以我就花了几天时间做了几个界面,当然又学习了PS!。


当时因为预算,买了个最小的屏幕,分辨率:400*240的3.2寸,最终看到的效果不是很好不过还是实现了。这个是我用Arduino控制继电器的照片。
四、程序的UI、框架设计完了这时候应该给它个核心了,可这时候我还不会编程,悲催啊!!。不过高兴的事情是Arduino的新手套件到了。一打开就犯愁了,我不认识它,它也不认识我。不过好在相关的资料多,网易上翁叔有套视频教程算是启蒙了,不过用的是图形化编程。教程一共两套,我都看了下挺好的。然后就摸着石头过河,按照教程1个1个整,不过我买的套件和那个不匹配,跟DFRobot上得文字教程到是有些,没有直接用例子程序,自己手打到IDE里面理解的。几天下来大概能完成几个例程了。这时候我就想不用按键控制Arduino。我想用我的屏幕来控制,一开始给自己挖的这个坑太大了。搜索了几天的资料没有做过的。51和SYSTM32到是很多人做过。而且屏幕的厂商也提供了驱动的例程,没提供Arduino的,也没打算提供。这时候就犯愁了想放弃了。不过很快我在串口通讯上有了突破,关键是不断的在网络上搜索资料和实验。自己在笨点儿花了差不多1个星期让它有动静了。可以实现控制啥的了。步骤我是先看了屏幕官方给的51通过串口控制屏幕的例程,然后在根据我自己的理解改成ARduino的程序。这里我要感谢serialEvent这个串口中断,然后也在别的论坛上看了关于串口通信的协议啥的。不会的就手打理解。主要2个问题解决了就OK一个是发送一个是接收,1个是厂商的屏幕要发送3个结束字符串“0XFF,0XFF,0XFF”就这么三个字符串。可是我怎么发送都不行,最后用Serial.write()发送过去了,屏幕也显示了。另外一个就是屏幕厂商发送过来的是“0X65 0X01 0X02 0X00 0XFF 0XFF 0XFF”这么个字符串在Arduino的IDE串口上还不显示,就这么个问题弄了几天,最后也解决了。接收过来的数据我存储到数组里,然后在强制转换成字符串。不过这时候问题来了我写的程序不知道怎么优化了。贴出来让高能给指点指点。
http://v.youku.com/v_show/id_XMTM2MTY5MTIyMA==.html
学习ARDUINO快1年了. 最初的目的是想做一个自己在家酿酒的机器,之前发过一个帖子,我本人没啥学历,初中没毕业,靠着爱好的坚持,一直边学边写,到今天有了初步的进程,从程序到项目, 对目前的我来说太难了. 还请高人指点,我吧代码和视频贴出来,望牛人,大神指教.
http://v.youku.com/v_show/id_XMTU1NDc0MDE1Mg==.html

代码下载. 放到云盘了
http://pan.baidu.com/s/1eSe46zS

mieoff 发表于 2015-10-17 06:58:58

https://v.youku.com/v_show/id_XMTM2MTY5MTIyMA==.html

栽培者 发表于 2015-10-17 08:15:29

楼主谦虚了,这是啥都会的样子啊。动手能力好强。

大连林海 发表于 2015-10-17 18:02:04

太牛掰了

dsweiliang 发表于 2015-10-19 13:37:07

味道如何?

mieoff 发表于 2015-10-19 23:52:05

dsweiliang 发表于 2015-10-19 13:37
味道如何?

还在编程序呢?
一边儿编一边儿学,好处是每天都学会新东西。坏处是不系统,每次当我学到一个新的指令的时候,我才发现之前二了,然后在学一看又二了,老折返回去重新写,这两天让ProtoThreads给折腾死了。 发现怎么调BUG都是越调越多。

mieoff 发表于 2015-10-19 23:54:17

本帖最后由 mieoff 于 2016-5-1 22:04 编辑


mieoff 发表于 2015-10-20 22:17:54

本帖最后由 mieoff 于 2016-5-23 10:19 编辑

汇报今天的进度,代码重新写了一次,用PT的库,用了差不多一个星期,总算还是搞定了。把界面也重新设置了一下,代码重新写了一遍。因为每天都能学到新东西,所以在不断的完善。uart_hmi的屏幕和Arduino的通信改了一下,不然老是报错。用了一组7位的数组传递页面和按钮的事件,用一个8位的数组传递数据和校验按钮状态。贴几张图和代码。另外吧UART—HMI的上位机打包发上来。大家如果需要刚好。代码如下,注释有错误的地方,大家凑合看哈,等都完成了我在检查检查。



代码和上位机程序和素材都放到压缩文件里。不过分辨率比较小。

今天晚上看能不能把这个搞定。

mieoff 发表于 2015-10-21 02:46:56

本帖最后由 mieoff 于 2016-5-23 10:18 编辑

自动程序做了一半,这个温度传感器读过来得温度和控制传感器的事件两个都有抖动,不好调啊。现在调好了估计也没用。 估计还有另外的因素,比如水泵的流量,加热板的加热速度和抖动时间。今天休息了,把今天最后调试的代码发出来吧。哥哥们帮看看那里可以优化,不胜感激。还有就是代码越来越多了,而且我的UNO资源估计不够了,一共3个18B20还有4个继电器,还要担负屏幕的驱动。在等等实在不行在找找其它板子,哥哥们帮推荐一块儿。http://v.youku.com/v_show/id_XMTM2NTM1OTYyOA==.html


mieoff 发表于 2015-11-1 20:09:42

人活着总要接受各种现实世界的烦扰,因为家庭的原因项目目前只能暂停了.驱动UART_HMI屏幕的Ardunio库,磕磕绊绊,学学写写,也算是弄好了,还有些具体的功能还没实现,不过能用了,有另外一件让我必须去做的事儿,所以这个想法暂时需要搁置了,不会阑尾, 不会割掉,以后在继续,我把代码贴上有用到的也算回馈给那些帮助过我的朋友吧.

suoma 发表于 2015-11-14 15:23:31

uno IO不够的话使用mega2560

mieoff 发表于 2016-5-1 22:05:14

更新了. 各位可以看看

zjjn 发表于 2019-4-15 21:43:36

更新的内容在哪里啊

zxwjn0307 发表于 2019-8-16 11:16:23


更新的内容在哪里啊

joone 发表于 2019-8-17 10:40:23

有意识,真不错的想法

ys350 发表于 2020-8-26 15:58:07

谢谢楼主分享,太感谢了

发表于 2022-4-15 13:47:37

好喝吗亲?
页: [1]
查看完整版本: 2016年新进度-Arduino uno Ustar-HMI 自酿啤酒机项目