21175| 16
|
[项目] 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串口上还不显示,就这么个问题弄了几天,最后也解决了。接收过来的数据我存储到数组里,然后在强制转换成字符串。不过这时候问题来了我写的程序不知道怎么优化了。贴出来让高能给指点指点。 学习ARDUINO快1年了. 最初的目的是想做一个自己在家酿酒的机器,之前发过一个帖子,我本人没啥学历,初中没毕业,靠着爱好的坚持,一直边学边写,到今天有了初步的进程,从程序到项目, 对目前的我来说太难了. 还请高人指点,我吧代码和视频贴出来,望牛人,大神指教. 代码下载. 放到云盘了 http://pan.baidu.com/s/1eSe46zS |
本帖最后由 mieoff 于 2016-5-23 10:19 编辑 汇报今天的进度,代码重新写了一次,用PT的库,用了差不多一个星期,总算还是搞定了。把界面也重新设置了一下,代码重新写了一遍。因为每天都能学到新东西,所以在不断的完善。uart_hmi的屏幕和Arduino的通信改了一下,不然老是报错。用了一组7位的数组传递页面和按钮的事件,用一个8位的数组传递数据和校验按钮状态。贴几张图和代码。另外吧UART—HMI的上位机打包发上来。大家如果需要刚好。代码如下,注释有错误的地方,大家凑合看哈,等都完成了我在检查检查。
代码和上位机程序和素材都放到压缩文件里。不过分辨率比较小。 今天晚上看能不能把这个搞定。 |
980.22 KB, 下载次数: 7574
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed