自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Hi3861 OpenHarmony 机械臂 (三)

写到这里想说一个我写代码的原则,第一遍代码是给自己看的,用人的思维方式写,方便自己看,面向过程。第二遍是给别人看的,因为过一段时间自己再修改,已经看不懂自己写的繁琐过程了,还要重新理顺一遍,这个时候代码考虑结构性,方便可读,能重用,容易修改,面向结构,最后一遍是给机器运行用的,删除冗余代码过程化,提高运行效率,面向设备。网络控制写一个Window下的上位机实现,上位机用C#写,C#我是一点都没学过,以前写过Java,用C#感觉非常容易,当然没系统学过就是看工具提示写,代码肯定有很多不太合理。

2024-07-18 15:27:00 281

原创 hi3861 OpenHarmony 网络应用

常用的网络协议就是TCP / UDP,我采用的是TCP协议,让hi3861作为服务端,外部应用做为客户端连接hi3861, 这个方式主要是为了方便,hi3861运行中再设置参数很麻烦,不如就被动接入,用TCP协议发现发送没有被接收,可以认为客户端以断开,就可以关闭网络,或者重启网络。觉得这个功能也许有些场合能用上,实现过程挺碎的,如果代码看不懂,就加我QQ:1164192255,也许能交换出更好的方法。先检查,是否加载,没加载就加载一下,如果有问题返回0,添加回调,实时反馈网络状态信息。

2024-06-19 09:28:05 483

原创 Hi3861 OpenHarmony 机械臂 (二)

第二个是方向问题,比如你按遥控的左键,你看到的舵机是右转,舵机的转向方向是固定的,操作习惯认为是反的,这个时候我添加一个方向的参数,可以按右键的时候向左转,就是将舵机的工作模式进行镜像的操作。第三个问题是,代码堆到一定程度,就很难维护,一个函数里关联的参数太多,需要修改功能的时候,就连带的改动很大,搞不好就要推倒重写,所以函数的功能独立,将代码解耦到可控的程度。剩下的就是在运行的时候,先通过遥控器设置舵机端口,然后控制相应的舵机的运行。单个舵机控制写完,就将单个舵机堆成一组舵机,先从2台舵机开始。

2024-05-30 21:18:22 306

原创 Hi3861 OpenHarmony 机械臂 (一)

随着一步步推进,基本情况也是这样的,但是想法和实际的情况还是有些不同的,最后多舵机的控制复杂度太高,单片机的处理能力就不足,然后通过联网,用上位机完成控制。其他部分是需要用到功能的驱动,hx1838红外遥控器,ssd1306液晶模块,pca9685舵机驱动。1. 1度1度的转向,1次转1度,加个时间延迟,再转1度,这种方式主要是防止舵机砸机,一次转到预定角度速度过快,20KG的力量容易出现意想不到的事故。我的需求就是结构简单,结实易用,实现容易。2. 按预设跨度转向,我预设了3个跨度,1, 10, 30。

2024-05-29 11:13:45 438

原创 hi3861 OpenHarmony DevEcoDeviceTool 声控灯例子

这么看系统跟应用几乎完全脱离,就是你只考虑功能的实现,不用考虑底层的问题,这就是有系统的好处啊,只需要专注实现功能,工作就变的很单纯。安装VS Code最好用DevEco Device Tool Windows安装工具里自带的,现在新版本可能有兼容问题,VS安装扩展只安装C/C++,其他都不要装,装C插件可以帮助检索代码,其他任何提示都不要装,他会修改Ubuntu里的环境变量,最后编译都不行了,我还不会改回来了,又重做环境。先写到这,也没目的,也没头绪,简单做个记录,想哪写哪,以后做例子,再来分享。

2024-01-15 15:24:10 416

原创 Hi3861 OpenHarmony 运行Hello World

我是个野生玩家,首选都是货架产品,就是一搜一大把信息的产品,接口都大众化,连接各种模块容易。开始我也是选择的套件产品,买套件的目的不仅仅是买产品,更是买服务,各种教程,问题帮助等。选好串口,自动烧写选中,打开“选择文件”,选择影响盘里 、\out\hispark_pegasus\wifiiot_hispark_pegasus\Hi3861_wifiiot_app_allinone.bin。以前在淘宝买3861wifi模块挺多的,还很便宜,现在变的很少了,还涨价了,难道又被卡脖子吗?要把串口驱动先装好。

2024-01-13 05:39:37 1150 1

原创 OpenHarmony 设备开发 命令行方式 搭建开发环境

到这里基本完成,这一溜下来,真佩服当初那些开发系统的工程师,最早放出鸿蒙系统的时候,是内部版本,先放出来看看大家的感受接收点反馈,所以这些琐碎的安装也就流出来了,现在的环境安装已经打包了,都自动完成这些流程了。下面正式开始: 这里要说明一下,环境配置的过程有一定的时效性,OpenHarmony更新很快,新版本编译依赖可能会改变,Ubuntu源里的软件也会更新变化。所以这个过程只代表当前情况。7. 下载源码,下载oh3版,源码大小比较小,后面的版本支持的内容多,源码很庞大,写Hi3861也用不上。

2024-01-10 11:41:37 1082

原创 hi3861 OpenHarmony PCA9685 舵机控制板

模块处理的数据是16位整数,1个寄存器长度不够,所以由2个寄存器组成1个数值,LED0_ON_L,LED0_ON_H,是开始时间,LED0_OFF_L,LED0_OFF_H,是结束时间。PCA9685设置占空比, 通过4个1组,共16组LED0_ON_L,LED0_ON_H,LED0_OFF_L,LED0_OFF_H,寄存器设置。[ 3 ] SUB1 0* PCA9685不响应I2C总线子地址1 / 1 PCA9685响应I2C总线子地址1。

2023-12-31 21:39:57 1360

原创 hi3861 OpenHarmony SH1106 OLED 模块

再使用I2C协议前,先打开 device/hisilicon/hispark_pegasus/sdk_liteos/build/config/usr_config.mk看看I2C设置是否是被注释掉,如果显示是 # CONFIG_I2C_SUPPORT is not set,就修改成CONFIG_I2C_SUPPORT=y。首先做一个高效的6x8的字库,做成4x8也是可以的但是字太小了,挨在一起根本看不清楚,所以用6x8。SH1106的初始化,复制样例里的设置就行,一般实际使用中没什么需要再设置的了。

2023-12-15 22:05:21 533

原创 hi3861 OpenHarmony HX1838 红外遥控器

遥控器按键按下,发送一组脉冲给遥控器上的红外灯,跟单片机点亮小灯的逻辑一样,高电平小灯灭,低电平小灯亮。红外光照射到接收模块上,模块就会产生电压,然后通过检索端口电压状态值,转化为接收的信息。接收数据分为4组,每组1个字节,前2位为地址码,后2位为数据码,数据需要进行反码效验。引导码 - 地址码8位 - 地址码反码8位 - 数据码8位 - 数据码反码8位 - 结束码。简单总结:遥控器发送高电平,单片机接收低电平,遥控器发送低电平,单片机接收高电平。数据码0:0.56ms高 - 0.56ms低。

2023-12-01 17:44:00 1104 1

Hi3861 OpenHarmony 机械臂 (三)

Hi3861 OpenHarmony 机械臂 (三)

2024-07-18

hi3861 OpenHarmony 网络应用 代码

hi3861 OpenHarmony 网络应用 代码

2024-06-19

Hi3861 OpenHarmony 机械臂 (二)

Hi3861 OpenHarmony 机械臂 (二)

2024-05-30

Hi3861 OpenHarmony 机械臂 (一)

调试舵机代码

2024-05-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除