想了解更多关于开源的内容,请访问:
51CTO 开源基础软件社区
https://ost.51cto.com
经过一段时间的学习积累,想尝试做做产品。也许结果又是一次探索,但是带着问题去解决问题能更好的学习。
最初在Hi3516上使劲,但是很难搞,需要写u-boot,还要自己写驱动,进步艰难就先放一下。在Hi3861上一些简单设想更容易实现一些,Hi3861芯片是内置SRAM和Flash,理论上OpenHarmony自带的hispark_pegasus编译程序生成的bin文件可在烧录到所有的Hi3861模块上。当然鸿蒙系统适配的开发板跟其他hi3861模块会有不一样的地方,在使用中肯定会有一些问题,等遇到问题再想办法解决吧。
Hi3861的模块产品还是挺多的,百度一下能搜索到一大堆产品,在淘宝搜索到一块不贵的Hi3861 Wifi模块,本来人家卖的是Wifi模块,通过AT命令使用。这个模块是个最小系统集成模块,金属壳下面已经做好了运行的最小工作电路,通过简单连线就能工作。
而且它们的产品有鸿蒙认证。Hi-12F跟Hi-07S只是天线形式不同,如果把板子放到金属设备箱里,肯定会对信号有屏蔽作用,通过IPEX接口把天线引出来,根据不同环境使用不同的天线,这样更灵活。
然后买了2块试了一下,没想到真的可以跑起来。又在立创做个扩展板,把端口引出来方便后面使用。最后做好是这个样子。
先写个Hello world,再做个点灯试验,都可以运行。
这种玩法不是一个低成本的玩法,并且在使用中会遇到很多电路方面的问题,如果是要学习入门的话还是开发板更适合一些。这么做主要方便连接各种模块,模拟实际的运行情况。
在试验中万用表是必备的工具,焊接工具也是必备的,串口模块,杜邦线,面包板,各种模块的试错,所以实际使用不是看起来那么简单。
我这里列个必备品清单:
50块钱的学生数字子万用表,40块钱60W电烙铁套件,5块钱USB转TTL烧录串口模块,常用电阻、电容、三极管包100块钱,杜邦线公对母,公对公,母对母,10块钱,面包板大的小的都要有差不多10多块钱。led小灯,电源模块,电池盒,18650电池2个,充电器,50块钱。
这些东西最好一次淘齐,电容电阻很便宜,几块钱就能买100个,但是不确定具体会用到什么型号的,所以直接买个常用包,避免用到了没有那就会很抓急。
先试验OLED模块,可以在运行中显示内部情况,比如智能小车测试,不能连着串口线跑圈试验啊,OLED是必备模块之一。买的时候也没仔细看,只看价格便宜了,收到才发现是sh1106驱动的OLED 显示屏,跟以前学习使用的ssd1306的驱动芯片不同,但是大同小异,根据提供的资料重新写个驱动,上电测试,不能显示……,抓狂,看到其他I2C通信设备有上拉电阻,接一个10K电阻上拉,好了可以点亮了。后来测试如果单独只连接hi3861芯片就可以不用上拉,这是为什么?估计是电路中串联其他模块引起的电压不稳,造成通信出错。如果不试验永远不知道会有这么样的情况,所以电源模块分路输出是很有必要的。
通过屏幕能显示运行数据,再有一个能够跟单片机通信的工具,可以实时输入参数,就避免修改一次参数就要重烧写一次。寻一遍觉得红外遥控器可以试试。
一个不到3块钱的红外遥控器,有接收头,还含纽扣电池。又遇到电路问题,hx1838红外接收头的工作电压是5V,单片机工作电压是3V,单片机直接读取5V模块的端口数据,可能会电流过大读取出错,需要连接一个减压电阻,10-100欧电阻。但是这个红外接头带了一个减压电阻,连接就很方便了。按键不太好,用力按会引发连续发送,3块钱的东西就不要求太高了,通过代码也可以过滤掉。最后通过试验没问题。
然后是电源部分,设备要工作必须要有电源,有些连接的设备需要的电量比较大,比如智能小车的电机,机械臂舵机,仅一个5V电源的输入是不够的,串联后电流损耗很大,到电路末端就带不动了,18650锂电池,单个3.7V两个串联7.4V,然后连接一个电压转换模块。
电压模块具体用什么规格看接入设备的用电情况,这个模块6V-12V输入,5V和3V多路输出。如果是驱动12V的设备还要串联更多电池,换输出更高的电压模块,还有个供电方案就是接个充电宝……
接线看起来很乱,其实连接很简单,所有的模块都是由电源线和数据线组成的,模块必然有一个GND和VCC接口,跟电源端连接就行了,数据通信接单片机相应的端口上,模块接其他设备就看具体情况。hi3861有一组串口通信接USB通信模块上进行数据烧写和通信,复位端口接个按键接GND,VCC和GND接电源,这样就可以了。
一点经验分享,先写到这里,后面做一个具体应用。
文章相关附件可以点击下面的原文链接前往下载:
https://ost.51cto.com/resource/2748
https://ost.51cto.com/resource/2749
想了解更多关于开源的内容,请访问:
51CTO 开源基础软件社区
https://ost.51cto.com