自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 履带式机器人

机械臂的动力学研究机械臂内部各部件之间的相互作用,以及外部施加在机械臂上的力和扭矩对机械臂的影响。其主要控制器为舵机,不同型号的舵机扭矩力不一样,当然价格越贵的舵机扭矩更大,可以支撑起更重的物体。当然机械臂的主要作用是完成简单可重复的性的动作,这里我使用的是三个数组来记录舵机的角度,机械臂每到一个位置就记录到数组里面,实现重复动作就是调用这三个数组。在这个履带式机器人里,机械臂使用了三个舵机,一个舵机控制底座的旋转,一个舵机控制机械臂上下摆动,一个舵机控制夹子。使用履带式作用主要有。

2024-06-09 21:08:02 371

原创 模糊控制PID

在对传统PID控制调参的过程,PID的三个值往往很难确定,特别是运用在硬件机器上,因为不知道输入PID的值给系统时会出现什么情况,这样会有很大的风险,在调参的过程也是非常痛苦。使用模糊PID的注意要在模糊输入限制在设计模糊输入的量程范围内,以免反馈回来的误差值是过大或过小,这样映射不到隶属函数甚至映射到错误的隶属函数。在传统的逻辑中,一个命题要么为真,要么为假,这是二元逻辑。一般隶属函数都是有多个的,当我输入一个值的时候,可以把这个值代入到所有的隶属函数返回其隶属度,然后取最大的值那个为该隶属度函数。

2024-06-09 21:06:36 947

原创 神经网络分类

总的来说,神经网络分类是一种强大的机器学习技术,通过构建多层次的神经元网络来实现对数据的分类预测,具有广泛的应用前景和潜力,其和神经网络预测有点类似的,也是要输入大量训练数据,用误差来调节权值,有所区别的是使用到的。在训练过程中,两者也有些微的差异,比如在数据预处理和评估指标的选择上可能会有所不同,但总体上来说,它们使用的算法是相似的,主要集中在神经网络的设计和训练上。网络训练:使用训练数据集来训练神经网络模型。模型应用:当模型训练和评估完成后,可以将其应用于新的未知数据,进行分类预测。

2024-06-03 23:28:23 465

原创 MATLAB对数字信号的处理(三)

当 X 是一个矩阵时,X 的每一列的长度按照统一的方法进 行调整。3) fftshift Y=fftshift(X) Y=fftshift(X,dim) %将零频点移到频谱的中间 如果期望绘制的幅频图的频率范围为 0~fs,则无需运行 fftshift 变换,正频率对应在[0, fs/2],大于 fs/2 的频谱的频率值为对应[-fs/2 , 0 ]。有一个信号,使用频谱分析方法从受噪声污染的信号 x(t)中鉴别出有用的信号,100HZ的sin信号,是我真正想要的信号,而掺杂了200HZ的cos信号。

2024-06-02 17:29:23 268

原创 MATLAB对数字信号的处理(二)

系统的时域特性指的是系统的线性时不变性质/因果性和稳定性。系统的稳定性是指对任意有界的输入信号, 系统都能得到有界的系统响应。实际中检查系统是否稳定,不可能检查系统对所有有界的输入 信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的 方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近于一个常数(包括零),就 可以断定系统是稳定的。如果系统稳 定,则信号加入系统后,系统输出的开始一段称为暂态效应,随着 n 的加大,幅度趋于稳定, 达到稳态输出。其中,x 为输入的离散序列;

2024-06-02 12:42:21 381

原创 MATLAB对数字信号的处理(一)

stem 函数的基本用法和 plot 函数一样,它绘制的波形 图的每个样本点上有一个小圆圈,默认是空心的。由于 MATLAB 中矩阵元素的个数有限,所以 MATLAB 只能表示一定时间范围内有限长度的序列;类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。对离散时间序列实行基本运算可得到新的序列,这些基本运算主要包括加、减、乘、除、移位、反折等。两个序 列的加减乘除是对应离散样点值的加减乘除,因此,可通过 MATLAB 的点乘和点除、序列移位和反折来实现,与连续 时间信号处理方法基本一样。

2024-06-02 10:29:53 226

原创 MATLAB的基础知识

%矩阵,转置矩阵,逆矩阵,随机生成整数,后面两个是5行5列的整数,最大值为6,随机生成5行5列0-1的数。%%把整个幕布划分为2行2列的,然后1是在上面的,从左往右从上往下的数。C=repmat(B,3,2)%%重复B的元素,以行重复3次和以列来重复2次。B=1:2:6%%类似于Python的切片,1开始,步长为2,最大值为6。A=cell(1,6)%%类似于结构体那样的,索引从1开始。A{2}=eye(3)%%在第2索引赋值3*3double。D=ones(2,4)%%生成2行4列的全为1的矩阵。

2024-05-29 16:04:42 287

原创 BP神经网络预测数据

2.这里导入数据,这里我定义的了一个简单的测试数据,是模拟一个与x²相似的关系模型,x的值为1至11的数,而输出y为1、4.1、9.7、16.5、25.4、36.7、49.4、65、83、100、121。指的是利用已知的数据模式和规律来对未知的数据进行推测和预测。神经网络通过学习大量的输入数据和对应的输出结果,能够发现数据之间的复杂关系,并且在接受到新的输入数据时,可以根据这些学习到的规律来做出相应的预测。就会输出预测的结果,当然我这里的数据不是很准,因为训练的数据很少,训练的数据越多会精准些。

2024-05-29 16:02:29 720

原创 ESP32-CAM入门

ESP32-CAM可选用淘宝带的烧录座,这个直接用常见的手机数据线就可以连接了,也可以用USB To TTL,实质也是串口通信,感觉烧录座的原理也一样,我使用的是USB To TTL的。12.注意还需要找到111行这里的代码,这里默认的是OV3660,需要更改为自已购买的摄像头型号,在这里卡了很久,一直下载不成功就是因为这里参数不匹配,我的更改为2640。15. 下载成功后点击右上角的串口监视器,然后把掉IO0和GND的连接,复位重启ESP32-CAM,就会有下图网址出现,复制其到浏览器上。

2023-10-20 10:28:32 3938 3

原创 STM32 串口通信USART

USART(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步收发器(UART是异步收发器)USART是STM32内部集成的硬件外设,可根据数据寄存器的一个字节数据自动生成数据帧时序,从TX引脚发送出去,也可自动接收RX引脚的数据帧时序,拼接为一个字节数据,存放在数据寄存器里自带波特率发生器(相当于分频器),最高达4.5Mbits/s可配置数据位长度(8/9)、停止位长度(0.5/1/1.5/2)

2023-09-25 22:52:30 277 1

原创 OpenMV识别寻找色块

寻找色块的主要函数这个,第一个参数thresholds就是颜色阈值,第二个 roi就是显示画面的大小,无设置的就是显示整个画面,第三个参数x_stride 就是查找的色块的x方向上最小宽度的像素,默认为2,如果你只想查找宽度10个像素以上的色块,那么就设置这个参数为10,小于10像素的色块的无法被找到,第四个参数y_stride和第三个参数同理,第五个 参数invert当值为True的时候就是阈值颜色以为的,例如当阈值颜色为红色的以为颜色,第六个参数area_threshold 面积阈值,如果色块。

2023-09-20 20:38:57 521 2

原创 SU-03T语音识别

这是基础的接线,其他的引脚根据你的需求来制定,例如是A25作为高低电平的输出,用于点亮LED灯或者接入stm32IO口读取引脚高低电平而发生功能的改变。12.剩下的默认或者根据自已的喜爱来设定语音内容,还需要点击右上角的保存,检查无误后再发布版本,为你的设备添加描述。4.选择好第2步骤的bin文件,一定是要update.bin的,再点击烧录,其间要拔掉SU-03T模块的电源再重新接上,不行的可重复多几次。7.这里的引脚不是看pin No.的,是看功能列的GPIO才是SU-03T的引脚,可以进行更改。

2023-08-21 16:32:14 4710 2

原创 stm32控制ESP8266上传数据到阿里云

snprintf(cmd, 256,"AT+MQTTPUB=0,\"/sys/ 是AT指令的第9步/MyDevice/thing/event/property/post\",\"{params:{\\\" 属性标识符参数,后面的%d是你设置的数据类型 \\\":%d}}\",0,0",在mqtt.h中定义了用户产品的数据,这里数据是阿里云平台MQTT连接参数,wifi名字和wifi密码是ESP8266连接的热点。这里的topic发送的指令,是根据自已自定义的topic发送的。

2023-08-14 20:53:06 398 1

原创 Stm32 DMA

DMA(Direct Memory Access)直接存储器存取(数据搬运小助手),可以直接完成对SRAM,程序存储器Flash和寄存器的访问。DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输,无须CPU干预,节省了CPU的资源12个独立可配置的通道: DMA1(7个通道), DMA2(5个通道)每个通道都支持软件触发和特定的硬件触发STM32F103C8T6 DMA资源:DMA1(7个通道)

2023-08-14 20:29:18 135

原创 stm32之ADC

也是通过16个GPIO口进入,模拟通路开关,指定哪个GPIO进入,但这里可以同时选择多个输入,进入规则通道和注入通道,规则通道进到规则寄存器时,寄存器只能读取一个,防止数据丢失可以使用MDA转运。左下角的部分开始触发,也相当于START。其中转换模式分为单次转换非扫描模式(相当于只读取一个通道,转换完成后下次需要再次START开始触发转换)、连续转换非扫描模式(也是只读取一个通道,可以立刻开始转换,直到结束,下次再START)、单次转换扫描模式(读取多个通道就结束,下次就START)、连续转换扫描模式。

2023-08-11 15:43:56 223 2

原创 AT指令控制ESP8266

一开始是在CSDN上参考其他的,下载固件库的引脚普遍很多时IO0接地,VCC接3.3V,RX接CH340的TX,TX接CH340的RX,GND接GND即可。6.配置 MQTT 用户属性,更改第三和第四的参数,这两个参数就是前面提到的MQTT连接参数,找到里面的username和passwd对应的参数。在使用串口助手时,一定要勾上自动换行,对了,此时是CH340和与ESP8266的连接,我的是VCC接3.3V,RX接CH340的TX,TX接CH340的RX,GND接GND,EN接3.3V。

2023-08-10 21:22:59 591 2

原创 STM32 PWM

PWM(Pulse Width Modulation)脉冲宽度调制在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域PWM参数:频率 = 1 / TS 占空比 = TON / TS 分辨率 = 占空比变化步距分辨率是以占空比的变化值的变量名,例如从1%、2、3%等就是以1%的的步距跳变,分辨率就是1%模式描述冻结CNT=CCR时,REF保持为原状态匹配时置有效电平CNT=CCR时,REF置有效电平。

2023-07-22 21:08:21 512

原创 Stm32定时器

TIM(Timer)定时器定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断16位计数器(每来一个时钟,计数器加1)、预分频器(对计数器的时钟进行分频)、自动重装寄存器的时基单元(设定多少个时钟申请中断),在72MHz计数时钟下可以实现最大59.65s(1/(72/65536/65536))的定时,还可用级联(多个定时器串联)增加定时时长。不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能。

2023-07-16 21:53:15 634 1

原创 Stm32 旋转编码器简介

第一个是运动了对射红外线的功能,通过旋转时有透过遮挡透过等感应再输出相应的波形。第二个是通过金属触点,相当于正旋转时先接触B,弹回来再接触A,输出相应的波形,但相反A输出的波形超前B波形90°,根据这个超前判断旋转方向。旋转编码器:用来测量位置、速度或旋转方向的装置,当其旋转轴旋转时,其输出端可以输出与旋转速度和方向对应的方波信号,读取方波信号的频率和相位信息即可得知旋转轴的速度和方向。本文是跟着江科大学习,这是本人的学习笔记,如有侵权请联系本人删除!类型:机械触点式/霍尔传感器式/光栅式。

2023-07-16 21:41:00 728 1

原创 Stm32的EXTI简介

EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序。EXTI的内部框图中20个信号进入输入线,选择条件触发,请求挂起寄存器相当于中断标志位,可以读取这个寄存器是哪个通道触发的中断。注意:选取中断的情况是不确定的突发的,而且输送来的信号很快就消失,需要申请中断函数进行捕获这些信号。本文是跟着江科大学习,这是本人的学习笔记,如有侵权请联系本人删除!

2023-07-16 21:30:02 276 1

原创 stm32中断系统

中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行(放下手上的事情做其他的先,再回到原来的,条件一般有外部中断引脚发生的电平突变、定时器时间到了、串口通信接收到了数据)。中断嵌套:当一个中断程序正在运行时,又有新的更高优先级的中断源申请中断,CPU再次暂停当前中断程序,转而去处理新的中断程序,处理完成后依次进行返回(做着紧急事情接下来又有更紧急的事情)。终端号参考表55的序号。

2023-07-16 21:24:07 71 2

原创 STM32常用的C语言知识要点

Int a=4;Int *p;P=&a;(取a的地址)*p;(读取a地址的内容)P++;(地址向下取,在上述的int类型的时候,地址的值会+4)数组的本质就是指针 int a[]={4,6,11} a就是一个地址,所以不再需要&a。int *p;(表示的是指针类型,空间大少取决电脑的位数)a[0]等同于*(a) a[1]等同于*(a+1) 如果a++;地址会+1,因为数组就是一个整体。指针的应用传递参数。

2023-07-16 21:16:20 346 1

原创 Stm32使用蜂鸣器、按键和光、热、反射、对射传感器

N1电阻是可变电阻,可随着温度光线等因素发生变化,一般是随这些因素升高阻值变小,C一般是滤波电容,用分压定理和上下拉分析(N1变小,下拉作用增强,输出低电平)。无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音。有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定,基级给低电平时导通则蜂鸣器响。按键抖动:由于按键内部使用的是机械式弹簧片来进行通断的,所以在按下和松手的瞬间会伴随有一连串的抖动。按键:常见的输入设备,按下导通,松手断开。

2023-07-16 21:12:53 149 1

原创 Stm32控制LED灯

本文是跟着江科大学习,这是本人的学习笔记,如有侵权请联系本人删除!

2023-07-16 21:03:54 208 1

原创 stm32GPIO口的介绍

开关处是上拉电阻和下拉电阻,设置为上拉电阻是上面开关闭合,接上VDD的高电平,下拉电阻也一样,此作用为了保证不在浮空状态。MOS是一种电子开关,推挽输出模式两个都在工作,寄存器为1时输出高电平,0是输出低电平,都是有较强的驱动能力,也称强推出输出模式。开漏输出只有N-MOS工作,寄存器为1时,下管断开,高阻态模式,寄存器为0时,输出低电平,只有低电平又驱动能力,主要用途有避免设备干扰,在外接5V时可以输出5V信号。输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等。

2023-07-16 21:00:01 170 1

原创 stm32配置介绍

Uer文件里面的.c和.h,在conf.h的找到8296行开始的三行语句放到魔术棒-C/C++-Define栏,这样调用库函数的功能都全部完成。Stm32f10x.h相当于51单片机的头文件一样,描述有哪些寄存器和它对应的地址,两个system文件是配置时钟,两个cm3是内核的寄存器描述。在Keil5新建组添加文件,但只能选择一个启动文件(符合自已单片机类型的),下图就是对应型号,此单片机是选择后缀为md.s的。备注:所学的是江科大的视频,只是我的学习笔记,如有侵权请联系本人删除。

2023-07-16 20:53:55 209 1

空空如也

空空如也

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

TA关注的人

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