- 博客(7)
- 收藏
- 关注
原创 pid 算法代码
// pid.c#include "pid.h"#include "main.h"// pid结构体的初始化void PIDStructInit(_PID *pid,float target,float p,float i,float d){ pid->p = p; pid->i = i; pid->d = d; pid->target = target; pid->err_curr = 0; pid-&
2023-12-08 12:14:29 499
原创 PID算法,增量式和位置式控制,实现代码
在我们学习PID之前在程序经常会写if(温度 < 温度阈值) {加热 } else {不加热 }他就是直接判断当前的测量值是否跟我的阈值相同,如果相同做什么,不相同就做什么。这样虽然可以做出判断保证这个事件有被处理但是不精确,就比如这个加热模块,我要保证这个温度保持在这个阈值上,如果我当前温度大于阈值我要停止加热,但是由于我保险丝或者加热器还有温度,这个温度就会影响我现在这个温度,导致我们测量的温度会比我们想要的温度高那么一点点,反之亦然。
2023-12-08 12:11:10 3355
原创 STM32F103c8t6+ESP8266(esp-01s)+MQTT固件+HAL库 连接阿里云(最详细+可移植)教程
利用stm32和esp-01s+MQTT固件连接阿里云平台
2023-07-29 11:59:20 14524 12
原创 STM32F407的串口接收不定长数据两种方式HAL库
在stm32f4xx_it.c中,分别判断是否是接收中断还是空闲中断,如果是接收中断调用HAL_UART_Receive去接收一个数组,当一个数据帧接受完,就触发了空闲中断,以为串口接不到数据了,就直接放开串口,进入空闲中断后操作。开启串口接收和串口的空闲中断之后就是一直等待 ,等待串口接收到数据,一旦接收数据就触发串口中断进入USART1_IRQHandler函数。还是在usart.c的MX_USART1_UART_Init这个函数在后面加上开启中断的代码,开启DMA的接收。来搞这个串口的不定长接收。
2023-05-26 15:19:24 3822 12
原创 GY39测量温湿度和光照强度用C51单片机实现
GY-39 是一款低成本,气压,温湿度,光强度传感器模块。工作电压 3-5v,功耗小,安装方便。其工作原理是, MCU 收集各种传感器数据,统一处理,直接输出计算后的结果。在此模块中,有两种方式读取数据,即串口 UART( TTL 电平)或者 IIC( 2 线)。这里就是利用C51的串口采集GY-39的数据。通信协议串口通信参数可以有以下两种选择:1、波特率: 9600 bps 校验位: N 数据位: 8 停止位: 1。
2023-05-20 10:18:06 3382 1
STM32F103c8t6+ESP8266(esp-01s)+MQTT固件+HAL库 连接阿里云
2023-07-29
C51单片机采集GY-39模块的数据,显示在LCD1602
2023-05-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人