自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

海风的博客

嵌入式

  • 博客(35)
  • 收藏
  • 关注

原创 视觉循迹小车(旭日x3派、opencv)

x3派读取摄像头图像,转换成灰度图像,从灰度图像中选择第 120 行(图像的一个水平线),遍历第120行的全部320列,根据像素值小于或大于阈值,将相应的值(0 或 1)添加到 date 列表中。最后根据小于阈值的像素个数和它们的总和来判断黑色赛道的位置,以此调节左右电机的转速实现循迹。4、小车底盘(直流电机或直流减速电机)1、旭日x3派(烧录好系统镜像)

2024-04-07 20:51:40 502

原创 人体跟随小车(旭日x3派、yolov5、目标检测)

上板运行的后处理使用cython封装了,由于每个版本的yolo输出的形状不一样,这里只能用yolov5-6.2这个版本。

2024-03-25 21:33:23 1264

原创 旭日x3派部署自己训练的模型(安全帽识别、视频流推理、yolov5-6.2)

在yolov5-6.2_hat_2文件夹下新建prepare_calibration存放待校准数据,新建一个prepare_calibration_data.py文件,执行之后就可以在calibration_data下生成校准数据。在挂载目录中的BPUCodes文件夹中新建文件夹yolov5-6.2_hat_2,将上一步得到的onnx模型复制一份进来。我的这个模型只训练了五轮,对图片的识别率不错,后续的视频流推理容易出错,轮次多点应该就好了。转换模型需要yaml参数文件,具体含义参考。

2024-03-18 21:56:59 3304 2

原创 arduino uno R3驱动直流减速电机(蓝牙控制)

我在淘宝购买的电机,减速比是21.3,旋转一圈产生的脉冲数是11,这样实际通过编码区采集到的一圈脉冲数(使用一倍频计数)是11×21.3,如果采用N倍频的话就是:11×21.3×N。

2024-03-11 21:24:05 1587 1

原创 地平线旭日x3派部署yolov5--全流程

原文参考:https://blog.csdn.net/Zhaoxi_Li/article/details/125516265这次部署的过程在windows下进行,深度学习环境和docker都是安装在windows中。系统:win10简单来说就是一块性能拉跨点的笔记本电脑,可以直接插入鼠标、键盘、显示屏,当作电脑使用。这使得可以部署深度学习算法到这块板子上。

2024-03-11 20:52:34 1588 28

原创 【智能家居入门2】(MQTT协议、微信小程序、STM32、ONENET云平台)

这里给出前两篇使用http协议博客的网址:在第二篇的博客结尾提出了服务器经常掉线的问题,使用别人编写好的心跳包也没用,因为程序一直卡死在重连中,所以也可以参照本篇的解决办法:加上独立看门狗,隔一段时间喂狗,如果超过时间没喂狗,说明程序多半卡死,此时看门狗处理逻辑中执行初始化esp8266和连接服务器的操作。

2024-03-04 15:17:48 3045 6

原创 pycharm控制STM32F103ZET6拍照并上位机接收显示(OV7670、照相机、STM32、TFTLCD)

开机的时候先检测字库,然后检测SD卡根目录是否存在PHOTO文件夹,如果不存在则创建,如果创建失败,则报错(提示拍照功能不可用)。在找到SD卡的PHOTO文件夹后,开始初始化OV7670,在初始化成功之后,就一直在TFTLCD上显示OV7670拍到的内容。当上位机按下拍照时,进行拍照,此时DS1亮,照片通过串口发送至上位机,当DS1灭之后,拍照成功。(也可以自己改一改用板子的按键控制拍照)1,串口1(波特率:921600,PA9/PA10通过usb转ttl连接电脑,或者其他方法)上传图片数据至上位机。

2024-02-26 21:30:24 3006

原创 【智能车入门:pcb版】(蓝牙遥控、超声波避障、红外循迹)

基于STM32的智能小车

2024-02-22 09:37:08 1344 9

原创 ROS目标跟随(路径规划、雷达、slam、定位)

在ros开发环境中实现小车跟随

2024-02-19 18:39:51 1966 10

原创 ROS小车跟随(总体流程)

由上述路径规划可知move_base 可以根据给定的目标点,控制机器人底盘运动至目标位置,这样我只需要将小车2相对于robot2/base_footprint的相对位置关系当作此目标点,即可实现小车1跟随小车2的效果,因为小车1有一个话题/robot1/move_base_simple/goal会接收/test03_control_turtle2节点的信息,以此控制小车1向这个目标点运动(/test03_control_turtle2这个节点就是自己实现的用于控制跟随的核心)。注意可能需要改些东西。

2024-02-14 09:13:18 2138

原创 【平衡小车入门】(PID、FreeRTOS、hal库)

低成本平衡小车

2024-02-08 15:58:05 1716

原创 【智能车入门:面包板】(蓝牙遥控、超声波避障、红外循迹)

这里将传感器得DO引脚接到PB6(设置成浮空输入),通过判断PB6引脚的高低电平,来控制led亮灭,led一脚接gnd,另一脚接PB7。这里将四个红外循迹传感器都要做一遍测试,就是看它能否正常工作,当能接收到反射回来的红外线时,这个模块的DO引脚就输出低电平,如果距离过远,或者是射到了黑色的物质上,红外线没法反射回来,此时DO引脚输出高电平,靠这个逻辑就能实现简单的循迹。有了①②③④的测试就可以组装一下车子然后测试超声波避障了,此时可以用充电宝给stm32供电,看看能不能正常工作,可以的话就可以上电池了。

2024-02-05 08:54:05 1646 1

原创 【智能家居入门4】(FreeRTOS、MQTT服务器、MQTT协议、微信小程序)

以FreeRTOS为例子,使用标准库。记录由裸机转到实时操作系统所遇到的问题以及总体流程。相较于裸机,系统实时性强了很多,小程序下发的指令基本立马执行,没有啥延迟,调整任务的挂起时间,可以进一步提高系统效率

2024-02-02 09:09:27 1692 12

原创 【智能家居入门3】(MQTT服务器、MQTT协议、微信小程序、STM32)

前面已经写了三篇博客关于智能家居的,服务器全都是使用ONENET中国移动,他最大的优点就是作为数据收发的中转站是免费的。本篇使用专门适配MQTT协议的MQTT服务器,有公用的,也可以自己搭建(应该要钱),项目源码在最后

2024-01-31 09:47:16 1896

原创 MQTT协议详解

MQTT协议详细介绍,可以用于智能家居领域

2024-01-29 10:36:16 1551

原创 【智能家居入门1之环境信息监测】(STM32、ONENET云平台、微信小程序、HTTP协议)

作为入门本篇只实现微信小程序接收下位机上传的数据,之后会持续发布如下项目:①可以实现微信小程序控制下位机动作,真正意义上的智能家居;②将网络通讯协议换成MQTT协议再实现上述功能,此时的服务器也不再是ONENET,可以是公用的MQTT服务器也可以自己搭建或者租

2024-01-28 15:12:24 2178

原创 STM32读取MPU6050数据并通过角度值控制舵机运动(STM32、GY-521 MPU6050、SG90舵机、MG946舵机)

通过STM32读取MPU6050数据,将其转换成角度之后控制舵机跟着运动

2024-01-25 21:28:27 3106 3

原创 虚拟机、ubantu、ros2安装、工作空间、功能包创建

可以选择去镜像源下载ubantu系统镜像,也可以直接去官网下,还是建议官网下,问题比较少。虚拟机的设置我选择的是两个处理器,每个处理器的内核数量为3;因为如果要使用gazebo这样的仿真软件还是很吃资源的,即便是这种配置还是会有点卡。ubantu安装完成之后首先设置分辨率,使得画面正好铺满整个0屏幕,这需要根据自己的电脑进行设置,多试几个就好了:1920×1080。–dependencies 指的是这个功能包的依赖,这里给了一个ros2的C++客户端接口rclcpp。如果无法下载可以连接手机热点试试;

2024-01-23 18:03:08 1568 1

原创 ROS目标跟随(路径规划、slam、定位、雷达)——接上文,改善跟随的位置

通过代码不难看出,这里的实现就是将检测到的坐标系变换中的四元数转为了偏航角,通过偏航角就可以知道小车此时的朝向,通过测试最终写成四段if多条件判断语句,小车朝向不同,那么第二辆进行跟随的小车它的落点也就不同,这样就可以实现进行跟随的小车始终跟随在前面一辆下车的后面。如果想要更精细的落点可以增加判断的语句。ROS目标跟随改进版。

2024-01-18 15:45:45 1829 3

原创 人体跟随小车(旭日x3派,yolov5,ros2)

底盘主控是stm32f103c8t6,读取左右轮编码器并标定速度,读取mpu6050的yaw值一并传至上位机。上位机通过usb摄像头捕获图像,送入模型进行推理,根据得到的结果生成控制指令下发给底盘进行人体跟随。

2024-04-28 09:49:36 51

原创 【智能家居入门2】(MQTT协议、微信小程序、STM32、ONENET云平台)

这里给出前两篇使用http协议博客的网址:在第二篇的博客结尾提出了服务器经常掉线的问题,使用别人编写好的心跳包也没用,因为程序一直卡死在重连中,所以也可以参照本篇的解决办法:加上独立看门狗,隔一段时间喂狗,如果超过时间没喂狗,说明程序多半卡死,此时看门狗处理逻辑中执行初始化esp8266和连接服务器的操作。

2024-04-27 22:05:41 819

原创 【智能家居入门4】(FreeRTOS、MQTT服务器、MQTT协议、微信小程序)

主控仍旧是STM32F103C8T6,实时操作系统选择的是FreeRTOS。主要功能:①环境信息采集并上传至微信小程序②微信小程序下发指令控制家电③由雨滴传感器和步进电机能够实现下雨自动收起衣服,停雨自动晒出衣服(由于驱动板和步进电机不在身边,这里代码中就用舵机来模拟,之前的项目中有用stm32来驱动步进电机,代码在另外的工程里,有需要的话可以关注我私聊,无偿)环境信息采集(HTTP+ONENET)智能家居(MQTT+ONENET)智能家居(MQTT+MQTT服务器)

2024-04-26 22:15:33 526

原创 STM32读取MPU6050数据并通过角度值控制舵机运动(STM32、GY-521 MPU6050、SG90舵机、MG946舵机)

PWM全称脉冲宽度调制。通过对一系列脉冲的宽度进行调制来获得所需要的模拟参量,参用于电机控速等领域。规定周期为Ts则频率为1/Ts,占空比为Ton/Ts(Ton为高电平时间)。如果频率为50Hz ,也就是说一个周期是20ms,那么一秒钟就有 50次PWM周期。假设高电平为5V、低电平则为0V,那么要输出不同的模拟电压就要用到PWM。通过改变IO口输出的方波的占空比,从而获得使用数字信号模拟成的模拟电压信号。占空比为50%那就是高电平时间一半,低电平时间一半。

2024-04-25 22:51:17 978

原创 ROS目标跟随(路径规划、雷达、slam、定位)

所谓定位就是推算机器人自身在全局地图中的位置,当然,SLAM中也包含定位算法实现,不过SLAM的定位是用于构建全局地图的,是属于导航开始之前的阶段,而当前定位是用于导航中,导航中,机器人需要按照设定的路线运动,通过定位可以判断机器人的实际轨迹是否符合预期。在ROS的导航功能包集navigation中提供了 amcl 功能包,用于实现导航中的机器人定位。这里的效果还是可以继续改进的,比如落点的位置可以进行调整,这样可以实现始终跟随在屁股背后,我已经实现可以在我的主页中找到,这里实现的仅仅是最简单的能跟上。

2024-04-24 23:23:54 874

原创 ROS目标跟随(路径规划、slam、定位、雷达)——接上文,改善跟随的位置

通过代码不难看出,这里的实现就是将检测到的坐标系变换中的四元数转为了偏航角,通过偏航角就可以知道小车此时的朝向,通过测试最终写成四段if多条件判断语句,小车朝向不同,那么第二辆进行跟随的小车它的落点也就不同,这样就可以实现进行跟随的小车始终跟随在前面一辆下车的后面。如果想要更精细的落点可以增加判断的语句。ROS目标跟随改进版。

2024-04-23 23:02:28 162

原创 【智能车入门:面包板】(蓝牙遥控、超声波避障、红外循迹)

这里将传感器得DO引脚接到PB6(设置成浮空输入),通过判断PB6引脚的高低电平,来控制led亮灭,led一脚接gnd,另一脚接PB7。这里将四个红外循迹传感器都要做一遍测试,就是看它能否正常工作,当能接收到反射回来的红外线时,这个模块的DO引脚就输出低电平,如果距离过远,或者是射到了黑色的物质上,红外线没法反射回来,此时DO引脚输出高电平,靠这个逻辑就能实现简单的循迹。有了①②③④的测试就可以组装一下车子然后测试超声波避障了,此时可以用充电宝给stm32供电,看看能不能正常工作,可以的话就可以上电池了。

2024-04-22 22:41:17 410

原创 MQTT协议详解

一、MQTT协议基本介绍二、MQTT协议的数据包结构1、固定报头2、可变报头3、有效载荷三、报文构建再举例:PUBLISH报文1、简介MQTT协议是一种轻量级的、基于发布-订阅(Publish-Subscribe)模型的通信协议。它通常用于设备之间的即时通讯,特别适用于物联网领域。基于发布订阅模型的含义: 在这个模型中,发布者和订阅者之间解耦,发布者无需直接知道订阅者的存在它由IBM在1999年发布。它的最大优点在于:可以用很少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。

2024-04-16 22:34:24 572

原创 STM32读取MPU6050数据并通过角度值控制舵机运动(STM32、GY-521 MPU6050、SG90舵机、MG946舵机)

PWM全称脉冲宽度调制。通过对一系列脉冲的宽度进行调制来获得所需要的模拟参量,参用于电机控速等领域。规定周期为Ts则频率为1/Ts,占空比为Ton/Ts(Ton为高电平时间)。如果频率为50Hz ,也就是说一个周期是20ms,那么一秒钟就有 50次PWM周期。假设高电平为5V、低电平则为0V,那么要输出不同的模拟电压就要用到PWM。通过改变IO口输出的方波的占空比,从而获得使用数字信号模拟成的模拟电压信号。占空比为50%那就是高电平时间一半,低电平时间一半。

2024-04-15 22:37:54 1130

原创 【智能家居入门2】(MQTT协议、微信小程序、STM32、ONENET云平台)

这里给出前两篇使用http协议博客的网址:在第二篇的博客结尾提出了服务器经常掉线的问题,使用别人编写好的心跳包也没用,因为程序一直卡死在重连中,所以也可以参照本篇的解决办法:加上独立看门狗,隔一段时间喂狗,如果超过时间没喂狗,说明程序多半卡死,此时看门狗处理逻辑中执行初始化esp8266和连接服务器的操作。

2024-04-13 22:52:39 1784

原创 【智能家居入门4】(FreeRTOS、MQTT服务器、MQTT协议、微信小程序)

主控仍旧是STM32F103C8T6,实时操作系统选择的是FreeRTOS。主要功能:①环境信息采集并上传至微信小程序②微信小程序下发指令控制家电③由雨滴传感器和步进电机能够实现下雨自动收起衣服,停雨自动晒出衣服(由于驱动板和步进电机不在身边,这里代码中就用舵机来模拟,之前的项目中有用stm32来驱动步进电机,代码在另外的工程里,有需要的话可以关注我私聊,无偿)环境信息采集(HTTP+ONENET)智能家居(MQTT+ONENET)智能家居(MQTT+MQTT服务器)

2024-04-11 22:34:56 622

原创 【智能家居入门2】(MQTT协议、微信小程序、STM32、ONENET云平台)

这里给出前两篇使用http协议博客的网址:在第二篇的博客结尾提出了服务器经常掉线的问题,使用别人编写好的心跳包也没用,因为程序一直卡死在重连中,所以也可以参照本篇的解决办法:加上独立看门狗,隔一段时间喂狗,如果超过时间没喂狗,说明程序多半卡死,此时看门狗处理逻辑中执行初始化esp8266和连接服务器的操作。

2024-04-10 23:51:21 1563

原创 旭日x3派与STM32串口通信

旭日x3派专注于视觉任务,可以部署yolo系列算法,小车底盘的PID控制可以放在STM32上进行,通过串口x3派可以接收stm32上传的速度信息、位姿信息等,也可以下发速度、转向等控制来控制小车运动轨迹。①代码编写:不知道为什么不用记事本写就会报错,应该保存的文件格式需要是utf-8格式的。②x3派发送数据时最好是16进制格式发送,不然容易数据紊乱和报错。x3派烧录ubantu20.04桌面版的镜像。ST-Link/J-Link烧录器。0.96寸oled液晶屏。③波特率都是9600。

2024-03-03 11:35:29 497

原创 ESP8266-01S模块连接服务器(ONENET、HTTP协议)

这种方法是不推荐的,因为调试起来很麻烦,最少需要使用串口打印才能确定进行到哪一步了,所以建议花几块大洋买个烧录器是最方便的。AT+CWJAP=“WZQ”,“1234567890”//连接你手机的热点"WZQ"为热点的名称,"1234567890"为密码。首先进入onenet官网,登录之后进入开发者中心,选择全部产品服务下面的多协议接入,然后点击HTTP,添加产品。ESP8266-01S使用的固件是8MB的,然后是使用ESP-12F的话固件是32MB的。AT//测试模块是否能正常通讯,返回"ok"即为正常。

2024-01-27 20:24:44 1358

原创 软件IIC读取MPU6050(STM32F103)

一共八个引脚,一般只用到四个,其余的我也没有试过。VCC、GND分别接5V电源和地;SCL、SDA分别是IIC通讯中的时钟引脚和数据引脚。MPU6050 是 全球首款整合性 6 轴运动处理组件,免除了组合陀螺仪与加速器时之轴间差的问题。内部整合了 3 轴陀螺仪和 3 轴加速度传感器,可以使用 InvenSense 公司提供的运动处理资料库,非常方便的实现姿态解算,降低了运动处理运算对操作系统的负荷,同时大大降低了开发难度。

2024-01-25 10:12:42 1255 1

原创 旭日x3开发板测试IMU40609D(六轴传感器),包含ros节点发布

或者直接添加进.bashrc的最后一行:source/home/sunrise/Documents/workspace/catkin_ws/devel/setup.bash。将上面的imu_test.cpp进行更改,使其成为ros中的一个节点,将读取到的传感器数据发布至话题:/data,供其它节点使用。⑦catkin_make //编译,会生成build和devel文件夹,编译源码生产的可执行文件会放入devel/lib中。⑧Catkin_make install //生成install空间。

2024-01-17 11:21:43 550

STM32F103C8T6驱动步进电机

使用STM32驱动步进电机运动

2024-01-31

空空如也

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

TA关注的人

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