1 项目简介
基于传智教育Hi3861模组主控的智控节点,该模组为基于海思 Hi3861LV100 芯片的系统封装,采用鸿蒙嵌入式系统,可通过WiFi实现远距离无线控制。
两节18650锂电池供电,引脚资源全部利用。
本项目中主要应用场景有:二轴云台控制、三轴云台控制、宿舍无线控制开关。
2 功能特点
- 3路PWM舵机驱动;
- 3路立式轻触开关;
- 2路可控LED;
- 1路ADC采集引脚;
- IIC的4pin 0096 OLED显示屏;
3 电路模块
(1)主控电路:
- Hi3861主控,3.3V供电,可实现wifi通信,AP模式+STA模式,TCP、UDP等通信协议;
- 串口通讯:CH340N串口芯片+备用4P排针接口.
(2)引脚配置:
- 3路PWM舵机控制:GPIO7(PWM0)、GPIO8(PWM1)、GPIO2(PWM2);
- 3路立式按键开关:GPIO11、GPIO12、GPIO13;[电容硬件消抖]
- 2路可控LED:GPIO6、GPIO14;
- 1路ADC采集:GPIO5(ADC2);[例:声音传感器[MAX4466,实现声控开关功能]
- 1路OLED屏幕I2C接口:GPIO9(SCL)、GPIO10(SDA).
(3)供电设计:
电池接口:7.4~8.4 V-18650-锂电池;
Type-C(800mA)接口:5V供电、串口烧录;
5.0V稳压LDO芯片:LD1117-5.0(1A);
3.3V稳压LDO芯片:AMS1117-3.3(500mA);
5.0V额外供电输入/输出接口:2pin排针.
4 原理图与PCB
(1)原理图:
(2)PCB:
5 三维外壳设计
此外壳采用SolidWorks2020建模软件设计。
- 外壳体组成:底部壳体+顶部壳体;
- 采用FDM式3D打印,无需支撑;
- 前侧底部M3*2:可安装MPU6050模块;
- 后侧背部M3*4:固定孔;
[注!:背部M3孔安装螺栓时,注意勿损坏背部线路]
6 程序设计
环境配置教学网址:https://robot.czxy.com/ohos/
(此次开发环境比较有意思,联动了虚拟机Ubuntu和主系统Win10,编辑器为Clion,烧录工具在附件)
程序框架:
- 主线程:OLED屏幕显示与按键交互
- 定时器:采集ADC2引脚端电压
- 线程Task1:启用WIFI的STA模式 + 接收UDP信息
函数库:
- IIC通讯库(移植自STM32)
- OLED显示库:画点,画线,画圆,显示字符...(移植自STM32)
- 舵机控制库:控制角度,读取角度
- ADC引脚数据读取库
- LED闪烁控制库
无线控制方法:(UDP协议)
前置条件:
(1)控制器与被控制器连入同一WIFI;
(2)受控端的IP地址获取方法:串口获取(115200波特率);
(3)PC端通过cmd,输入ipconfig获取ipv4地址;移动端通过在WIFI设置界面查找。
假设:本机IP:192.168.31.138,控制器IP:192.168.31.80
则,打开网络调试器【在附件】,通过UDP协议,本机向控制器发送控制指令。
- 选择UDP协议;
- 输入本机ipv4地址;
- 输入端口号;
- 点击连接;
- 输入目标ipv4地址;
- 输入端口号;
- 输入指令;
- 点击发送。
(控制器可连入串口查看是否接收到信息)
[源代码在附件]
7 APP设计
基于Android Studio开发的App程序,作为上位机发送指令。由上一章所述,服务端与客户端采用UDP协议通信。
功能:
(1)跳转至WIFI设置界面;(需要定位、通知权限)
(2)获取已连接WIFI信息;
(3)指令发送。
(界面灰常简单,这次主要拿来练手)
[.apk文件在附件]
8 实物展示
(1)主要组成部分:
(2)通电界面展示:
[演示视频在附件V1喔...]
9 应用:宿舍主灯开关实物图
设计要点:
- 舵机型号:MG996R;
- 应用偏心轮结构,解决豆型开关问题;
- 结构均为PLA材质,3D打印制造;
- 主体部分配合M4螺栓组成夹具,固定在灯具开关上;
- 主控板斜角45°,目的在于:[1]错开MAX4466声音传感器与MG996R舵机位置;[2]腾出按键交互空间;
[此开关结构的设计所针对场景特殊,其他场景的灯具开关结构,可参考此例更改优化]
[视频在附件V2,V3喔...]