前言: 本篇博客加入了PID调控,基于黑线对于图像中线位置的偏移量与黑线的角度进行的上位机PID调参,输出的是电机的目标转速。传给下位机左进一步处理。(今晚上先放上代码,明天再继续更新) PID简述: 广义上的PID可以分为数字式PID和模糊式PID,这里我对数字式PID进行了简单的学习,本篇文章也主要是对数字式PID的一个讲解。 用一句
#!/usr/bin/env python3 # 识别的是中线为白色 import cv2 import numpy as np # center定义 center = 320 # 打开摄像头,图像尺寸640*480(长*高),opencv存储值为480*640(行*列) cap = cv2.VideoCapture(0) while (1): ret,
前言: 本篇文章是前两篇文章的进阶版本(基于python-opencv实时识别黑线赛道(一)与基于python-opencv实时识别黑线赛道(二)),在实时识别黑线的基础上标注了黑线的角度,同时,本篇文章也是作为使用树莓派作为上位机调节PID的第一步。后续内容将与我的博客(从零开始制作STM32F103RCT6小车系列)有联系。 本篇博客是基于如图所示的小车的体
目录 前言: IIC协议简介: 1、起始信号和停止信号: 2、应答信号: 3、读写字节: AT24C02: 字节写操作: 页写操作: 读操作: MCP4017: 写操作: 读操作: 前言: 本篇文章主要介绍IIC通信协议,同时给大家介绍一下蓝桥杯嵌入式的模块的AT24C02和MCP4017,此外本篇博客会采用按键控制PB14来读取可编程电阻MCP分的
前言: 博主对STM32的学习是在大一的暑假,跟着正点原子的课程学习的,当时用到的开发软件用的是KEIL 5 MDK版本,在新建工程的时候,那叫一个麻烦。最近在了解蓝桥杯嵌入式的时候发现了一个新大陆------->STM32Cubumx!!!这款软件让编写STM32变得更加的轻松。这里我将以系列文章来记录自己的学习过程,同时也是在了解一下蓝桥杯嵌入式。 硬件:
前言: 仅以此系列给实验室的学弟学妹作为小车制作教程来使用,后续的内容我会在这个暑假陆续更新出来,本篇的内容是新建一个适用于STM32F103RCT6的工程 准备工作: 接下来的操作几乎是基于STM32F1xx系列的固件库,这里我给大家列出链接 STM32F1xx系列固件库 提取码:2471 我是以智然学长制作的板子来制作小车
前言: 本篇主要讲解一下在上一篇遇到的重映射问题,编码器2和编码器3的管脚采用重映射,这里我会给大家简单讲解一下重映射过程中需要注意的问题。 重映射和端口复用: 我们先从定义上区分一下端口复用和重映射。 端口复用的定义 STM32有许多的内置外设(如串口、ADC等等),这些外设的外部引脚都是和GPIO复用的。也就是说,一个GPIO如
前言: 定时器的三大功能还剩下最后一个捕获,而这在蓝桥杯嵌入式开发板上也有555定时器可以作为信号发生器供定时器来测量。 原理图部分: 开发板上集成了两个555定时器,一个通过跳线帽跟PA15相连,最终接到了旋钮R40上,另一个接到了旋钮R39上。了解了这些,我们下一步到STM32Cubemx上配置就有数了。 STM32Cubemx配置:
前言: 蓝桥杯嵌入式LCD是必考的一个点,虽然官方已经提供给我们LCD的驱动,但是经过博主实践发现,LCD自带的函数存在一点小瑕疵。比如我使用LCD_DisplayStringLine()函数来显示了10个字符,下一次我又需要在这一行上显示5个字符,那么后面这5个字符不会自动刷新掉,这需要我们去用空格连填补,可这样的工作量就大了起来,所以我就想了个一劳永逸的方法:直接修改LCD驱
目录 前言: 正文开始: 573锁存器: 管脚操作: 代码编写: 前言: 本篇博客建立在新建工程的基础上,大家如果感兴趣的话,可以去看一下,这里我就不再展示新建工程的部分了。 正文开始: 根据官方提供的数据手册,我们在驱动LED模块的时候不得不使用74HC573锁存器。 在开始驱动之前,我们了解一下573锁存器。
前言: 这段时间里,我被区区定时器给困住了很久很久,定时器竟然进不去中断!这让我从怀疑智商,到怀疑人生,再到怀疑自己。在这段时间里,我一直没能发现这个问题,直到昨天才是“守得云开见月明”,这竟然是STM32Cubemx上的一个不起眼的小部分,这里写下这篇博客记录一下,同样也是给大家提个醒,避一下坑。 正篇开始: 首先是对GPIO的配置,蓝桥杯嵌入式的原理图如图
前言: 本篇将实现通过TIM1高级定时器使用互补输出的方式驱动一个310直流减速电机,同时本篇会涉及到Keil5在线仿真来观测管脚输出PWM 高级定时器: STM32分为3种定时器,功能由低到高可以分为基本定时器(TIM6,TIM7)通用定时器(TIM2,TIM3,TIM4,TIM5)和高级定时器(TIM1,TIM8),这里呢,由于小车的硬件设计方面将TIM1
前言: 本篇主要讲述实现PID闭环操作之前的通过霍尔编码器计算出单个电机的转速,同时会涉及到一点编码器原理,这里我会给大家简单讲解一下。 霍尔编码器: 这是在某宝界面上获取的编码器接线图,在开始的时候一定要确保接线是正确的,最开始我们这边的小车上就因为接线错误而导致编码器一直没有回传会值来,一直是0。 那么,什么是编码器呢?一句话概括的话
前言: 本篇将使用串口与电脑进行通信,同时也会捎带着提一下串口的部分知识,后续会将树莓派与STM32建立通信 浅谈STM32串口: STM32F103RCT6芯片上拥有3个USART外设,(分别是UASRT1、UASRT2、UASRT3)以及两个UART外设(UART4、UART5)。 USART即通用同步异步收发器,它能够灵活地与外部设备进
前言: 本篇讲述的是如何使用JLink向STM32F103RCT6烧写程序,同时会用滴答定时器来实现一个LED灯亮灭的程序(该程序在以后的代码里依旧会存在,主要起监控单片机是否工作以及代码是否跑飞的作用) 准备工作: 首先要准备一个下载器,这个大家可以在网上买到,如下图所示此外,我们这里依靠的是我们上次建立的工程文档,我们这里是用的Jlink线,对SWD接口进行烧写 正篇开始: 在ARM
目录 前言:效果展示:车体展示: 前言: 在前两周的时间里,我对上个版本的小车进行了一个更新换代,将原本的4驱小车换成了4轮两驱小车,舍弃了树莓派4B作为上位机。新版小车采用两个520直流减速电机搭配AS4950电机芯片来差速行进,后面采用两个万向轮带着,5路灰度传感器循迹,用HC_SR04超声波模块中断式测距,用HC_08蓝牙模块与手机进行通信,同时搭载MPU6
目录 前言:原理简述:代码部分:大坑来了: 前言: 对于这篇文章,我在制作小车并且调试的时候遇到了一个非常大的坑,电机响应有延迟!这对于后续的PID调控来说非常致命,不过好在是最后解决了,写下这篇博客来给大家避一下坑。 原理简述: 在强调这个致命错误之前,简单给大家说一下输出比较的原理。 中文版的数据手册上给我们介绍了这一功
前言: 寒假已经过了一半了,前段时间跟学弟一起从零开始搞了一下深度学习,现在才想起来这个系列还没有更完。本篇博客主要介绍一下这个小车转直角弯的神器----MPU6050 MPU6050介绍: 我所采用的MPU6050是某宝上十几块钱的这种,这种MPU6050有个缺点是带有零点漂移,这个接下来我会在博客里给大家提供我的解决方案,优点显而易见是便宜,如果坏了也不心疼,
目录 前言:小车效果展示:5路数字灰度传感器:巡线思路:加入PID调节的代码: 前言: 之前买了一批5路灰度传感器,想用这传感器进行循迹,无奈网上和官方的资料提供的还是比较少,这里还是做一下当初的学习记录。 小车效果展示: STM32RCT6主控,5路灰度寻迹,超声波HC_SR04中断式测距,蓝牙模块HC_08通信,AS4950电机驱动芯片,减缓了MPU605
前言: 在我没接触蓝牙之前,我觉得蓝牙模块应用起来应该挺麻烦,后来发觉这个蓝牙模块的应用本质无非就是一个串口 蓝牙模块: 这是我从某宝上买到的蓝牙模块HC-08,价格还算可以,而且可以适用于大多数蓝牙调试软件。回到刚开始说的话,蓝牙模块的应用和单片机的串口几乎是一样的,我们可以用USB转TTL模块与HC-08模块进行通信,虽说HC-08有6个引脚,但是我
积分
粉丝
勋章
TA还没有专栏噢
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信