- 博客(87)
- 问答 (1)
- 收藏
- 关注
原创 三.LVGL学习——(Buttons styles)
三.LVGL学习——(Buttons styles)按钮对象样式//定义三个lv_style_t变量static lv_style_t style_btn; //按钮1按下前的样式变量static lv_style_t style_btn_pressed; //按钮按下时的样式变量static lv_style_t style_btn_red; ////定义颜色过滤器回调函数static lv_color_t darken(const lv_col
2021-11-16 16:28:34
1348
原创 算法——均方根检波
均方根检波什么是均方根检波什么是均方根检波1.均值检波电路通常采用电容充放电电路作为平均值电路。2.由于输出为整流平均值,要求电容充放电时间常数相等。3.电容充放电时间常数取决于电阻。4.充电时,电阻越大,电容越大,流过电阻的电流越小,电容充电电流越大,充电越快。5.放电时,电阻越大,电容越大,放电越慢。为了使充放电速度相同。6.因此,只有在电阻与电容符合特定关系时,才能使充放电速度相同。...
2021-11-16 14:41:12
3130
原创 二.LVGL学习——(lv_obj基础对象)
二.LVGL学习——(lv_obj基础对象)1.介绍2.对象的工作机制3.对象的创建与删除4.Screen 屏幕对象5.实例代码1.介绍LVGL是以对象为概念的,而其最核心的基础对象是lv_obj控件,其他所有专用控件(如按钮,标签,列表)都是在lv_obj对象的基础上衍生出来的,所有的控件对象都具备一些共同属性,例如:1. 位置2. 大小3. 父类4. 是否可拖拽5. 是否可点击共同属性都是通过一套共同的API接口来设置的。除了共同属性外,不同的控件都会有自己的专有属性。2.对象的工作
2021-11-16 14:35:19
5632
1
原创 一.LVGL学习——(VS2019添加自己的测试代码)
一.LVGL学习——(VS2019添加自己的测试代码)在放demo的文件下新建一个lv_demo_mark的文件夹在vs2019找到这个文件夹添加新建项添加C++文件,然后把.cpp改成.c添加头文件(.h)模仿其他的demo修改自己的.h文件模仿其他的.c添加相同的头文件到自己的.c文件中在主函数中添加自己创建的.h头文件调用自己编写的函数添加代码校验printf("lv_demo_my_mark\r\n");...
2021-11-16 14:33:55
692
原创 零.LVGL学习——(模拟器下载)
一.LVGL学习——(模拟器下载)1.下载2.文件移植2.Visual Studio 2019配置3.运行1.下载① 先下载Visual Studio 2019下载好后安装的配置如下:使用C++的桌面开发对v142生成工具的C++/CLI支持(最新)② 趁着安装 Visual Studio 的等待时间,把所需要的LVGL文件都下载下来lv_sim_visual_studiolvgllv_demoslv_driverslv_lib_freetypefreetype2.文件移植打开
2021-11-15 22:53:34
1078
原创 ROS学习笔记(2):自定义消息数据类型
ROS学习笔记(2):自定义messages一.创建自定义的message一.创建自定义的message以下是一个将三个内置消息类型组合成一个自定义的message例子(这三个消息类型的定义都在package std_msgs里面):
2021-04-07 16:14:36
1454
1
原创 ROS学习笔记(1):发布者和订阅者
(1)ROS学习笔记:publishers and subscribers1、ros通信简介2、C++中的类与对象2、publishers/subscribers1、ros通信简介ros的三种通行机制topic 话题publishers / subscribersserve 服务services / clientsaction 动作action-servers/action-clients为了确保这种通信机制能够顺利运行,引入了nodes、topic和messages等等的概念,使得这
2021-04-06 03:53:35
2293
1
原创 (7)ROS多机通信
ROS多机通信一、介绍二、控制模式三、网络连接四、软件设置五、注意事项一、介绍在介绍ROS多机通信之前,首先介绍小车的使用步骤和流程,除了小车之外还需要准备一台用于远程控制的Ubuntu系统的电脑 或者Ubntu虚拟机,下面会用"pc"作为这个远程控制Ubuntu电脑的代号二、控制模式1、操作流程① 给小车上电,小车会发出一个wifi② 通过SSH远程登录小车端③ 在小车终端输入建图或者导航的launch指令,开启建图和导航功能④ 同时在"PC"端使用rviz工具查看具体效果2、用"p
2021-03-21 20:46:55
913
1
原创 (6)ROS与STM32之间的联系
ROS与STM32之间的联系简介ROS主要实现的功能STM32主要实现的功能两者之间的关系两者之间的通信简介1、 如何实现ROS与stm32之间的通信,ROS对stm32发送过来的数据做了哪些处理2、在ROS小车里面有两个核心控制器,一个是ROS主控,一个是stm32控制器3、ROS主控是树莓派等,只要能在ROS上面将ROS系统跑起来都可以作为ROS主控3、ROS主控主要实现的功能有以下三点:采集雷达信息摄像头信息采集路线规划ROS主要实现的功能1、比如建图导航需要用到激光雷达,色
2021-03-21 13:23:26
3429
1
原创 (4)rosLaunch文件与参数服务器
rosLaunch文件与参数服务器一、多节点的启动二、参数配置1、本次以Launch文件为基础,对参数服务器的内容进行一个简单了解2、Launch文件是一种可以实现多节点启动和参数配置的xml文件一、多节点的启动一:Launch文件和package.xml文件一样,内容都是以标签形式书写,Launch文件包含的所有可用标签1、node标签是:启动节点2、include标签是:嵌套(用这个Launch去打开别的Launch)3、Remap标签是:对话题的重命名4、 group的作用是:节点分组
2021-03-19 19:34:34
705
原创 (5)话题与消息数据类型
话题话题通信ros话题的操作指令如何在程序端实现发布话题如何订阅和发布话题怎样去写一个自定义的话题通信程序话题通信1、话题通信是一种支持一对多的异步通信机制2、 一般来说话题有一个发布者和一个接受者3、发布者将消息发布到话题上4、订阅者从话题订阅消息5、一个话题可以有多个话题的订阅者6、异步的通信机制是:① 发布者只管发布话题,而不在意有多少个订阅者,也不在意订阅者有么有成功的订阅到消息② 订阅者也只管订阅话题,话题是谁发布出来的它也不会去管ros话题的操作指令rostopic ec
2021-03-19 15:49:57
949
原创 (3)功能包
功能包概念功能包的内容创建新的功能包概念1、package:存放用户功能diamante的文件夹2、功能包存放在工作空间的src路径下3、功能包里面的内容是用户编写的源代码4、工程里面除了主程序外,还有头文件、参数文件等待功能包的内容文件夹的命名安装下面命名规则来命名,方便寻找① include:.h头文件② src:cpp的一些c代码文件③ launch:一些可执行的launch文件④ urdf:放的是.urdf文件(是在rviz工具里面的三维模型的一个描述文件)⑤ config:
2021-03-15 10:55:03
510
原创 (2)工作空间
工作空间+功能包特点创建工作空间特点1、工作空间的主要作用是存放工程文件和文件代码(存放工作空间和代码的一个文件夹)2、ROS的开发依赖于工作空间3、编写源代码、编译都是在工作空间下完成的4、一般工作空间的目录下有三个文件夹(src、build、devel)src文件夹下放的是用户原代码,也就是功能包bulid文件夹里面是编译过程中产生的中间文件devel文件夹是编译生成的目标文件,也就是一些可执行文件5、build和devel的文件夹在我们使用ros的过程中是可以忽略的创建工作空间
2021-03-15 02:21:06
1142
原创 (12)视觉寻线
视觉寻线1、挂载(wheeltec):roslaunch turn_on_wheeltec_robot map_saver.launch 2、远程登录##登录密码:dongguanssh -Y wheeltec@192.168.0.1003、启动寻线功能(passoni):roslaunch simple_follower line_follower.launch
2021-03-12 07:26:49
551
原创 (11)色块跟踪
色块跟踪一、查看色块追踪的文件位置:在ros_simple_follower文件下的simple_followe的Launch文件二、可调整识别色块的阈值,追踪过程中最大速度,中距值,PID参数三、基本操作1、小车开机,连接wifi,远程登录##登录密码:dongguanssh wheeltec@192.168.0.1002、运行色块追踪(wheeltec):roslaunch simple_follower visual_follower.launch3、查看当前所有话题(passo
2021-03-12 06:51:39
1070
原创 (10)查看RGB摄像头和深度摄像头
查看RGB摄像头和深度摄像头RGB摄像头深度摄像头1、小车开机,连接wifi,远程登录##登录密码:dongguanssh wheeltec@192.168.0.1002、查看RGB摄像头的文件位置:在usb_can文件下的Launch文件RGB摄像头1、运行RGB摄像头(wheeltec):roslaunch usb_cam usb_cam-test.launch2、查看当前所有话题(passoni):roslaunch list3、查看摄像头的信息(passoni):rqt_
2021-03-12 05:48:10
1353
1
原创 (9)激光雷达跟随
激光雷达跟随基本操作1、激光雷达会检测最近的一个物体作为跟随物2、会有一个中距值,大于这个会靠近上去,等于这个值会停下来,小于这个值会后退到等于这个值。基本操作1、小车开机,连接wifi,远程登录##登录密码:dongguanssh wheeltec@192.168.0.1002、挂载(wheeltec):roslaunch turn_on_wheeltec_robot map_saver.launch 3、激光雷达跟随(passoni):roslaunch simple_follo
2021-03-12 03:02:28
1176
原创 (8)发布话题控制移动小车
发布话题控制移动小车基本操作操作例子基本操作1、小车开机,连接wifi,SSH远程登录:##登录密码:dongguanssh wheeltec@192.168.0.100 2、要控制小车,必须启动初始化节点命令(wheeltec终端):roslaunch turn_on_wheeltec_robot turn_on_wheeltec_robot.launch3、发布速度节点控制小车移动(wheeltec/passoni终端):rostopic pub -r 10 /smoother_cm
2021-03-11 15:33:44
1003
2
原创 (7)多点导航
多点导航1、小车开机,连接wifi,远程登录##登录密码:dongguanssh wheeltec@192.168.0.1002、建完图,要把小车放在建图时的起始点,使用"2D Pose Extimste"对小车再次设置新起始点(箭头的方向代表小车头部指向的方向)3、运行导航:roslaunch turn_on_wheeltec_robot navigation.launch5.运行rviz(passoni终端):rviz6.rviz添加 path_ponit(MarkerArray
2021-03-11 15:24:58
696
原创 (6)自主导航(操作过程)
自主导航(操作过程)一、操作过程二、添加地图与路径一、操作过程1.小车开机,连接WIFI,远程连接##登录密码:dongguanssh wheeltec@192.168.0.1002、建完图,要把小车放在建图时的起始点,使用"2D Pose Extimste"对小车再次设置新起始点(箭头的方向代表小车头部指向的方向)3、使用"2D Nav Estimate"来导航,小车会自动导航并且壁障二、添加地图与路径1、导航时,绿色的路径规划以及地图,是需要配置的2、默认时,Map的选项和Path的
2021-03-11 15:03:26
878
原创 (5)激光雷达建图(操作过程)
激光雷达建图(操作过程)一、操作过程二、注意一、操作过程1、小车开机,连接wifi,远程登录##登录密码:dongguanssh wheeltec@192.168.0.1002、启动激光建图roslaunch turn_on_wheeltec_robot mapping.launch 3、查看建图效果(passoni):rviz4、可以使用键盘控制、APP遥控、PS2遥控、航模遥控进行控制小车运动。5、4.建图完成,保存地图① 一键保存(wheeltec):roslaunch
2021-03-11 12:52:12
3738
6
原创 (4)查看里程计、IMU话题信息、小车电压
查看里程计、IMU话题信息查看ROS话题信息的教程,以查看里程计和IMU话题信息为例子,要进行这些功能,得连上小车的wifi1、小车开机,SSH远程登录##登录密码:dongguanssh -Y wheeltec@192.168.0.1002、启动小车的初始化节点(我们小车的绝大部分功能都得启动这个节点)roslaunch turn_on_wheeltec_robot turn_on_wheeltec_robot.launch3、查看当前小车节点发出的话题(passoni 终端):ros
2021-03-10 22:05:06
965
原创 (3)程序修改编译
程序修改编译一、前言一、前言① 在进行程序修改之前肯定要连上我们的小车,我们要修改我们小车程序是需要进行对它的文件进行修改,我们一般的做法是通过NFS挂载,把小车上面的文件挂载到虚拟机或者其他Ubuntu系统电脑上② NFS 挂载代码:把小车上的这一个wheeltec_robot 文件夹下面的所有文件,挂载到我们虚拟机的mnt这一文件夹下面sudo mount -t nfs 192.168.0.100:/home/wheeltec/wheeltec_robot /mnt③ mnt位置:在其他
2021-03-10 09:36:10
346
原创 (2)SSH登录的原理
SSH登录的原理一、直接使用二、登录命令三、使用SSH的原因四、SSH的安装五、两种登录方式六、其他问题一、直接使用1.小车开机,连接WIFI,密码:dongguan2.SSH远程登录:ssh -Y wheeltec@192.168.0.100,密码:dongguan二、登录命令1、SSH指令:①建立在应用层基础上的安全网络协议②使用它主要是方便远程使用ROS小车的功能2、wheeltec:我们这个小车上有个树莓派,它相当于一台电脑,它里面是Ubuntu系统,这个系统的用户名就是wheel
2021-03-10 04:14:11
452
1
原创 (1)快速搭建ROS虚拟环境与常见的故障排查
快速搭建ROS虚拟环境与常见的故障排查一、下载vmware虚拟机二、下载ubuntu系统镜像三、远程登录四、常见问题一、下载vmware虚拟机链接:https://pan.baidu.com/s/1viTNfPhLMAY_4VFW3pTp7A1提取码:yxgl二、下载ubuntu系统镜像链接:https://pan.baidu.com/s/1gMAM4gCuanZ0S21_hD7ijw1提取码:6uwd三、远程登录1、在static模式下:(不可上网,ip不变)(1)电脑连接小车wifi
2021-03-10 02:44:15
843
1
原创 (1)ROS学习——节点、主题、服务的了解与体验
ROS学习——主题体验与服务体验一、启动ROS2、启动小海龟节点一、启动ROSroscore2、启动小海龟节点重新打开一个终端,输入rosrun turtlesim turtlesim_node rosrun:启动一个新节点;turtlesim:功能包turtlesim_node:功能包下的一个节点...
2021-02-07 17:51:32
419
原创 (0)Linux 常用命令
Linux 常用命令cd命令ls命令mv命令gedit命令cat命令cp命令mkdir命令tree命令cd命令用处:跳转到路径“.” 则是表示目前所在的目录‘. .’ 则表示目前目录位置的上一层目录“~” 则表示代码主目录,也就是当前登录用户的用户目录(~ 代表的就是 /home/czh/,我登录用户是czh)实例:跳转到/opt目录下的ros目录:cd /opt/ros跳转到home:cd ~跳转到上级目录:cd ..跳转到上上级cd ../..ls命令用处:显示
2021-02-06 12:13:33
127
原创 (10)蓝桥杯嵌入式——蜂鸣器
蓝桥杯嵌入式——蜂鸣器(1)个人习惯(2)准备(3)编写 void BUZZ_init(void) 初始函数(4)编写 void BUZZ(u16 buzz_temp) BUZZ函数(5)编写 void DealWith_0(void) 处理函数(1)个人习惯会新建单独的 BUZZ.c 和 BUZZ.h 放到HARAWARE文件夹下(2)准备1、CT117E开发板的蜂鸣器接的引脚是PB4,这个引脚同时也是连接在JTAG接口的RST引脚。2、当我们stm32复位后,PB4引脚默认是作为J
2021-02-04 11:52:26
787
原创 (9)蓝桥杯嵌入式——定时器(输入捕获模式)
蓝桥杯嵌入式——定时器(输入捕获模式)(1)个人习惯(2)准备(3)编写 void Capture_init(void) 初始函数(4)编写 void TIM2_IRQHandler(void) 中断服务函数(5)编写 void DealWith_0(void) 处理函数(6)问题(1)个人习惯会新建单独的 Capture.c 和 Capture.h 放到HARAWARE文件夹下(2)准备1、输入捕获模式的配置与输出比较模式差不多(函数差不多,只是配置参数不同)2、因为没有示波器,为了观察到效果
2021-02-03 23:10:14
561
原创 (8)蓝桥杯嵌入式——定时器(输出比较模式)
蓝桥杯嵌入式——定时器(输出比较模式)(1)个人习惯(2)准备(3)编写 void PWM_init(void) 初始函数(4)编写 void TIM2_IRQHandler(void) 中断服务函数(5)问题(1)个人习惯会新建单独的 PWM.c 和 PWM.h 放到HARAWARE文件夹下(2)准备1、通用定时器使用PWM模式产生PWM波有个缺点:PWM模式同一定时器中,不同的通道下,输出的频率固定,占空比可变。2、那么如果想各个通道产生的PWM频率不同,占空比也不同,那我们就需要借助
2021-02-02 21:57:32
482
原创 (7)蓝桥杯嵌入式——定时器(PWM模式)
蓝桥杯嵌入式——单通道PWM(1)个人习惯(2)准备(4)编写 void PWM_init(void) 初始函数(5)编写 void DealWith_0(void) 处理函数(6)问题(1)个人习惯会新建单独的 PWM.c 和 PWM.h 放到HARAWARE文件夹下(2)准备1、STM32 的定时器除了 TIM6 和 7。其他的定时器都可以用来产生 PWM 输出。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出。而通用定时器也能同时产生多达4路的 PWM 输出
2021-02-02 15:17:15
1037
1
原创 (3)ROS学习——创建ROS消息和ROS服务
ROS学习——创建ROS消息和ROS服务一、msg和srv介绍二、 使用 msg三、使用srv一、msg和srv介绍1、 msg(消息):msg文件就是文本文件,用于描述ROS消息的字段。它们用于为不同编程语言编写的消息生成源代码。2、srv(服务):一个srv文件描述一个服务。它由两部分组成:请求(request)和响应(response)。3、msg文件存放在软件包的msg目录下,srv文件则存放在srv目录下。二、 使用 msg下面,我们将在之前创建的软件包里定义一个新的消息。1、在 c
2021-02-01 00:05:27
263
原创 (6)蓝桥杯嵌入式——实时时钟
蓝桥杯嵌入式——实时时钟(1)个人习惯(2)准备(3)编写 void RTC_init(u8 HH,u8 MM,u8 SS) 初始函数(4)编写 void RTC_IRQHandler(void) 秒中断函数(5)编写 void DealWith_0(void)时钟数据处理函数(6)问题(1)个人习惯会新建单独的 RTC.c 和 RTC.h 放到HARAWARE文件夹下(2)准备一、RTC介绍STM32 的实时时钟(RTC)是一个独立的定时器。STM32 的 RTC 模块拥有一组连续计数的计
2021-01-30 17:03:58
460
原创 (5)蓝桥杯嵌入式——ADC
蓝桥杯嵌入式——ADC(1)个人习惯(2)准备(3)硬件连接(4)编写 void ADC_init(void) 初始函数(5)编写 u16 Get_Adc(u8 channel) 读取函数(6)编写 u16 Get_Adc(u8 channel) 处理函数(7)问题(8)采样时间、采样周期、采样频率计算方法(1)个人习惯会新建单独的 ADC.c 和 ADC.h 放到HARAWARE文件夹下(2)准备一、基本特点1、是12位的ADC2、有3个控制器3、有16个外部通道4、可产生中断5、
2021-01-30 01:07:02
440
1
原创 (4)蓝桥杯嵌入式——LCD
蓝桥杯嵌入式——LCD(1)常用函数(1)如何用 void LCD_DisplayStringLine(u8 Line, u8 *ptr); 显示变量(1)常用函数void STM3210B_LCD_Init(void); // LCD液晶初始化void LCD_Clear(u16 Color); //改变背景颜色void LCD_SetTextColor(vu16 Color); //改变字体颜色void LCD_SetBackColor(vu16 Color
2021-01-28 15:47:55
543
原创 (3)蓝桥杯嵌入式——串口
蓝桥杯嵌入式——串口(1)个人习惯(2)准备(3)编写 void USART_init(u32 bound) 初始函数(4)编写 void USART2_Send(u8 *str) 发送函数(5)编写 void USART2_IRQHandler(void) 接收函数(6)编写 void USART2_Purging(void) 清除函数(7)编写 串口数据处理函数(8)问题(1)个人习惯会新建单独的 USART.c 和 USART.h 放到HARAWARE文件夹下(2)准备1、蓝桥杯嵌入式板不能直
2021-01-28 15:18:33
683
原创 (2)蓝桥杯嵌入式——按键
蓝桥杯嵌入式——按键(1)个人习惯(2)编写 void KEY_init (void) 函数(3)编写 宏定义 按键状态位(4)编写 void KEY_read (void) 函数(5)问题(6)长按 / 短按(1)个人习惯会新建单独的 KEY.c 和 KEY.h 放到HARAWARE文件夹下(2)编写 void KEY_init (void) 函数(3)编写 宏定义 按键状态位(4)编写 void KEY_read (void) 函数(5)问题问题一(1)(2):根据它的硬件连接可得
2021-01-24 14:39:21
340
原创 (1)蓝桥杯嵌入式——LED
蓝桥杯嵌入式——LED(1)个人习惯(2)编写 void LED_init (void) 函数(3)问题(4)主程序(1)个人习惯会新建单独的 LED.c 和 LED.h 放到HARAWARE文件夹下(2)编写 void LED_init (void) 函数(3)问题问题一:(1)右键进入函数查看它的枚举类型页可以看到(2)在中文手册25页有问题二:在开源电子网找到一篇可以参考的:STM32的I/O口的8种工作模式问题三(1):C语言基础的:GPIO_Speed_10MHz为什么要
2021-01-23 22:26:41
244
1
原创 兼容C51和ARM的 keil软件操作
问题:1、之前用用kei4l编译C51是可以的,但现在用编译不了STM32,所以就搞了个C51和ARM都兼容能编译的keil52、使用国兴长安的嵌入式开发板无法进行仿真,查了无数方法,尝试了无数次,终于解决了,现在把自己找的那些软件资料都放在网盘里步骤:1、新建一个keil的大文件夹,在里面新建两个小的文件夹,一个给C51放的,一个给ARM放的2、然后先按网盘里的(1)(2)(3)顺序依次下载到ARM那个文件夹中这样就下载好了keil5(ARM版的)3、安装(4)中的 Keil.S
2021-01-23 10:55:40
704
空空如也
VScode提示was not declared in this scope
2022-04-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人