自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(139)
  • 资源 (9)
  • 收藏
  • 关注

原创 OpenCV-Python函数库

其次,库中的一些函数可能需要调用底层库(例如 BLAS 和 LAPACK),这些库可能需要单独安装才能正常使用。是 OpenCV 的一个 Python 接口库,允许 Python 开发者使用 OpenCV 中广泛使用的图像处理工具。例如,在图像分类、目标识别和人脸识别等任务中,用 OpenCV 提取图像的特征后,再将其输入到其他机器学习算法中进行分类或识别。是一个非常实用的图像处理工具库,如果需要进行图像或计算机视觉相关的开发工作,这个库可以为您提供丰富的功能和便捷的接口。以字母“m”开头的函数。

2023-05-25 11:49:43 1609

原创 STM32_HAL库—ADC采集数据

STM32 的ADC精度为 12 位,且每个 ADC 最多有 16 个外部通道。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。ADC 的转换时间跟 ADC 的输入时钟和采样时间有关,公式为:Tconv = ( 采样时间 + 12.5 个周期 ) / 预分频一般我们设置 PCLK2=72M,经过 ADC 预分频器能分频到最大的时钟只能是12M,然后设置 “ 采样时间 ” 为 1.5 个周期。

2022-12-09 10:14:08 10672 2

原创 基于Arduino设计的OLED游戏机

自己设计制作的一个Arduino游戏机,有两个简单的小游戏。一个是贪吃蛇的小游戏,另外一个游戏则是躲避陨石的小游戏。可以用来做成mini手掌游戏机,在上班的路上,放学的路上,坐公交的空隙玩一玩。来消磨时光的同时,还能吸引别人的眼球。 (((o(*゚▽゚*)o)))♡ 使用的编程平台是Arduino平台进行的开发。 Arduino IDE可以在Windows、Macintosh OS X、Linux三大主流操作系统上运行,而其他的大多数控制器只能在Windows上开发。Arduino是一款便

2022-12-05 16:21:41 1423 2

原创 CRC_8 计算方法及代码实现

3). 检测相异或后的CRC寄存器的最高位(第7位),若最高位为1,CRC寄存器先左移1位,再与多项式0x07H进行异或;(2). 把第一个 8 位数据与 8 位 CRC 寄存器的相异或,把结果放于 CRC 寄存器;(1). 预置 8 位寄存器为十六进制 0x00(即全为 0) ,称此寄存器为 CRC 寄存器;(4). 重复步骤 3 ,直到右移 8 次,这样整个 8 位数据全部进行了处理;(5). 重复步骤 2 到步骤 4,进行下一个 8 位数据的处理;(1). CRC寄存器。......

2022-08-04 10:39:11 12735 2

原创 STM32软件复位方式

在很多时候我们外部硬件方式不能复位或者不方便操作的情况下,软件复位的方式就变得很实用了。可以写入到串口,当串口发送特定字符就复位;也可以某个按键设置了长按就复位等等快捷的方式进行复位。在复位发生器执行复位命令时,往往会有一个延时。在此延时期间,仍然可以响应中断请求这里就有可能触发中断,所以在复位前最好先关闭全部中断。//软件复位函数void System_Reset(void) { __set_FAULTMASK(1); //关闭所有中断 NVIC_SystemReset(); //进行软件复位

2022-04-13 11:55:12 9899 4

原创 CRC_16---ModBus 计算方法及代码实现

1、 CRC寄存器初始值为 0xFFFF;即16个字节全为1;2、 CRC-16 / ModBus的多项式0xA001H (1010 0000 0000 0001B) ; ‘H’表示16进制数,‘B’表示二进制数。计算步骤为:(1).预置 16 位寄存器为十六进制 0xFFFF(即全为 1) ,称此寄存器为 CRC 寄存器;(2).把第一个 8 位数据与 16 位 CRC 寄存器的低位相异或,把结果放于 CRC 寄存器;(3).检测相异或后的CRC寄存器的最低位,若最低位为1,CRC寄存器

2022-03-18 10:29:17 16802 4

原创 STM32_HAL库串口printf函数重定义

总的来说,这段代码实现了将标准输入输出函数 printf 和 scanf 重定向到串口,从而可以通过串口进行数据的输入和输出,这在嵌入式系统中非常常见,用于与外部设备或调试工具进行通信。接下来,通过宏定义选择了串口发送数据的类型,有两种选择,分别是 HAL_USART 和 HAL_USART_DMA。根据不同的宏定义,可以使用不同的方式来发送数据,一种是阻塞式的串口发送,另一种是使用DMA(直接内存访问)来发送数据。类似地,定义了一个 fgetc 函数,该函数用于重定向 scanf 函数,从串口接收数据。

2022-03-04 10:39:34 11386

原创 STM32_HAL库—PWM输出

(一)CubeMX设置:1. 晶振配置(72M)2. PWM引脚参数配置

2022-02-01 01:12:24 19429 1

原创 STM32_HAL库—串口通信

(一)CubeMX设置:1. 晶振配置(72M)2. 基础配置==>Mode(模式选择): Asynchronous: 异步通信 Synchronous: 同步通信 Single Wire (Half-Duplex): 单线/半双工 Multiprocessor Communication: 多处理器 支持局域互连网络LIN、智能卡(SmartCard)协议与lrDA(红外线数据协会) SIR ENDEC规范。...

2022-01-26 14:29:10 12668

原创 STM32_HAL库—TIM定时器

(一)CubeMX设置:1. 晶振配置(72M)2. 选择内部时钟3. 基础配置(1秒)

2022-01-18 09:11:59 3392

原创 STM32_HAL库_常用函数库

【代码】STM32_HAL库_常用函数库。

2021-12-30 17:06:03 6016 1

原创 精密运放与普通运放的区别

精密运放和普通运放之间的区别主要体现在性能、设计、应用场合以及关键参数上。

2024-09-20 16:42:55 212

原创 基于STM32智能控制水晶球_Ver 1.0

智能水晶球灯项目以STM32F103C8T6微控制器为核心,通过其强大的处理能力和丰富的外设接口,实现了对灯光的智能控制。在当今智能家居日益普及的时代,我们设计并实现了一个集创意、科技与美学于一体的项目——基于STM32F103C8T6微控制器的智能水晶球灯。这个项目不仅融合了硬件编程的精髓,还巧妙地将物联网技术(IoT)应用于日常生活之中,让传统的水晶球灯焕发出智能的光芒。我们相信,随着物联网技术的不断发展和普及,越来越多的传统设备将被赋予智能属性,为我们的生活带来更多的便利和乐趣。

2024-09-13 17:25:41 185

原创 Python使用Tesseract OCR识别文字

Tesseract-OCR是一款由Google维护的开源光学字符识别(OCR)引擎,它能够从图像中识别出文本,并将其转换为可编辑的文本格式。

2024-08-27 10:44:22 862

原创 Excel表格添加趋势线_数据拟合

一个曲线通过补偿算法拟合为另一个曲线,通常可以通过多种数学和计算技术实现。这里也可以通过Excel表格添加趋势线,然后对趋势线进行拟合,得到趋势预测公式来达到数据补偿。当获取到 x = 1.8 ,通过上方补偿公式 y = 0.2631x5 - 1.8401x4 + 4.7681x3 - 5.6122x2 + 3.5165x + 0.0012 进行计算。通过 “ 插入 ” --> “ 添加离散点 ” --> “ 添加趋势线 ”。然后调整趋势线的拟合度即可得到想要的补偿算法公式。

2024-08-22 14:53:02 233

原创 基于Arduino平台通过ESP8266进行MQTT通信

ESP8266 是一款流行的低成本 WiFi 微控制器,广泛用于物联网(IoT)项目。使用 Arduino IDE,你可以很容易地编写代码,使 ESP8266 连接到 MQTT 服务器,从而实现设备间的通信和数据交换。以下是一个基本的步骤指南,展示如何使用 Arduino IDE 和 ESP8266 连接到 MQTT 服务器。

2024-08-21 16:12:46 488

原创 基于Arduino平台开启ESP8266的SmartConfig(一键配网)

将ESP8266连接到Arduino IDE,并上传你的代码。通常,这涉及到在手机端打开一个特定的网页或使用一个特定的APP,并输入你的Wi-Fi网络的SSID和密码。如果没有,你需要在Arduino IDE的“文件”菜单下选择“首选项”,然后在“附加开发板管理器URLs”中添加ESP8266的URL,之后就可以在“工具”->“开发板”->“开发板管理器”中搜索并安装ESP8266了。通过合理利用ESP8266的WiFi库和Arduino IDE的强大功能,你可以轻松地为你的项目添加一键配网的功能。

2024-08-21 15:49:32 492

原创 控制WS2812B实例代码(新_PWM方式)

WS2812B数据协议采用单线归零码的通讯方式,像素点在上电复位以后,DIN端接受从控制器传输过来的数据,首先送过来的24bit数据被第一个像素点提取后,送到像素点内部的数据锁存器,剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的像素点,每经过一个像素点的传输,信号减少24bit。

2024-08-21 13:58:24 411

原创 最小二乘法_曲线拟合

一个曲线通过补偿算法拟合为另一个曲线,通常可以通过多种数学和计算技术实现。最小二乘法:这是一种广泛使用的曲线拟合技术,通过最小化误差的平方和来找到数据的最佳函数匹配。在Matlab中,可以使用polyfit函数来实现多项式曲线拟合,而在Java中,可以通过类似的最小二乘算法库或自定义实现来完成。最小二乘法是一种常用的数学优化技术,用于拟合一组数据点到一个模型(如线性方程、多项式等)。以下是一个基于C语言的简单示例,展示了如何使用最小二乘法来拟合一组数据点到一条直线(即找到最佳拟合直线的斜率和截距)。

2024-08-16 16:33:50 305

原创 (3)基于巴法云+MQTT+微信小程序控制esp8266点灯

然后点击下方导入即可。(导入时需注意,在选择导入的文件夹时,要选择含有app.json文件的文件夹导入,不然会报错。处 ,分别添加域名:https://api.bemfa.com 和wss://bemfa.com 保存提交即可。打开微信开发者工具,小程序项目,导入项目。这里有两个主题,一个主题用于传输温度和湿度和反馈LED状态,另一个主题用于控制LED。里面可以看到,长的大概是这样:wx34a2063de5yyc04b,下面导入项目的时候会用到。信息为自己的即可,这里的。的后面,点击修改,在。

2024-08-01 11:19:29 152

原创 (2)基于巴法云+MQTT+微信小程序控制esp8266点灯

查询/设置 Wi-Fi 模式 (Station/SoftAP/Station+SoftAP):连接 AP:查询/设置 Wi-Fi 重连配置:设置命令扫描结果的属性:扫描当前可用的 AP:断开与 AP 的连接:配置 ESP32 SoftAP 参数:查询连接到 ESP SoftAP 的 station 信息:断开 station 与 ESP SoftAP 的连接:启用/禁用 DHCP:查询/设置 ESP SoftAP DHCP 分配的 IP 地址范围:上电是否自动连接 AP。

2024-08-01 09:22:05 199

原创 (1)基于巴法云+MQTT+微信小程序控制esp8266点灯

ESP-AT 是乐鑫开发的可直接用于量产的物联网应用固件,旨在降低客户开发成本,快速形成产品。通过 ESP-AT 指令,您可以快速加入无线网络、连接云平台、实现数据通信以及远程控制等功能,真正的通过无线通讯实现万物互联。ESP-AT 是基于 ESP-IDF 或 ESP8266_RTOS_SDK 实现的软件工程。它使 ESP 模组作为从机,MCU 作为主机。MCU 发送 AT 命令给 ESP 模组,控制 ESP 模组执行不同的操作,并接收 ESP 模组返回的 AT 响应。

2024-07-31 16:59:10 113

原创 一阶卡尔曼_数据平滑滤波

卡尔曼滤波器(Kalman Filter)确实是一种非常有效的递归滤波器,它能够在存在测量噪声和系统噪声的情况下,通过结合上一状态的估计和当前状态的观测值,来估计系统的真实状态。这种方法特别适用于那些需要连续估计系统状态,并且测量值包含不确定性的场景。卡尔曼滤波器结合了上一状态的结果和当前状态的测量值预估出真正状态的测量值。很多人可能会想:我直接那测量值作为真实值不可以吗?可以,但测量仪器总有误差,人们总想通过一些状态取获取真正的状态,这样就可以提高系统的稳定性。

2024-07-23 13:14:03 717

原创 (3)图像识别yolov5—训练自定义模型

YOLOv5 是一个用于目标检测的深度学习模型,它非常流行且易于使用。

2024-06-13 13:53:31 209

原创 (2)图像识别yolov5—识别图片视频等文件

这里需要自己准备一个 .MP4 的视频文件,然后保存到 yolov5 文件夹中,通过命令行对source 进行配置,然后对视频文件进行识别。打开命令行,进入到当前yolov5目录,通过运行下面的指令,然后对 “ bus.jpg ” 进行物体的识别。在yolov5文件夹中,有两个示例图片,这里我们对示例图片进行识别。坐标的打印格式通常包括左上角和右下角的(x, y)坐标,如。如果你想要直接获取坐标信息,你可以修改。脚本中的相关部分,以便在检测到物体时打印或返回坐标。),并在其中添加代码来打印或返回坐标。

2024-06-12 15:03:04 965

原创 (1)图像识别yolov5—安装教程

首先,你需要在你的计算机上下载的文件包,。下载后对压缩文件进行解压。通常使用识别物体,需要安装必要的,如PyTorch、torchvision、OpenCV等。打开YOLOv5文件夹,在里面打开 “” 文件,里面就是必要的依赖项。然后打开命令行,进入当前文件目录(我这里保存到盘的中)。然后通过下面的指令,系统自动安装这些依赖库。

2024-06-12 14:05:28 213

原创 Python使用多线程

然而,值得注意的是,由于Python的全局解释器锁(GIL, Global Interpreter Lock)的存在,Python的多线程在CPU密集型任务上可能并不会带来明显的性能提升。多线程在Python中提供了一种提高程序并行处理能力的手段,尤其是在I/O密集型任务中,如网络请求、文件读写等,多线程能够显著提高程序的运行效率。总的来说,Python的多线程提供了一种在单个程序中并发执行多个任务的能力,尽管在CPU密集型任务上可能受到GIL的限制,但在I/O密集型任务上仍然非常有用。

2024-05-29 10:20:55 240

原创 教程6_特征匹配(Brute-Force匹配器)

在Python的OpenCV库(cv2模块)中,"Brute-Force匹配"(也被称为暴力匹配)是一种用于特征点匹配的方法。

2024-05-29 09:49:34 203

原创 香橙派 AIpro初体验

2024-05-28 17:25:34 1211

原创 OpenCV-Python识别人脸

在下图的路径中,我们可以看到需要xml文件,这些都是OpenCV中自带的分类器,根据文件名我们可以看到有识别眼睛的,身体的,脸的,等等。

2024-05-28 14:45:35 172

原创 Python基于PyQt6制作GUI界面——单、多行文本输入

当涉及到 Qt 框架中的QLineEdit和QTextEdit控件时,它们是两种不同类型的文本输入/编辑控件,具有不同的用途和功能。

2024-05-21 17:24:37 399

原创 Python基于PyQt6制作GUI界面——多选框

是 PyQt6 中的一个复选框控件,它允许用户通过单击来选择或取消选择某个选项。控件并不互斥,这意味着用户可以同时选择多个。

2024-05-21 17:11:34 505

原创 Python基于PyQt6制作GUI界面——单选框

都表示一个选项,并且当用户点击它时,它会被选中或取消选中。是互斥的(即一次只能选中一个),你可以将它们添加到。是一个常用的控件,用于在多个选项中选择一个。在 PyQt6 中,以下是如何在 PyQt6 中使用。中来管理它们的状态。

2024-05-21 15:58:21 510

原创 Python基于PyQt6制作GUI界面——按钮

示例对应的制作的 ui文件 界面如下所示。

2024-05-21 15:40:22 401

原创 Keil编译自动生成bin文件

请注意,上述步骤可能因Keil版本和项目设置的不同而略有差异。确保你的路径和文件名正确无误,并且你已经正确设置了所有必要的选项。

2024-05-20 13:36:27 2299

原创 STM32使用旋转编码开关

总的来说,旋转编码开关是一种功能强大、应用广泛的电子元器件,在工业自动化、机器人技术、伺服控制系统、电梯、电机控制、音视频设备、游戏控制器以及其他需要精确位置控制和速度反馈的各种机械设备中都有重要的应用。当A或者B引脚触发后,然后通过检测另外一个引脚的状态来确定波动旋转编码开关的方向,具体操作如下所示。首先需要在CubeMX中选择适当的引脚连接旋转编码开关的输出引脚,并将其设置为EXTI模式,然后对引脚启用中断功能。当改变状态时,如果 A:下降沿,B:为高电平,则顺时针转动旋钮。

2024-05-18 08:45:02 1033

原创 驱动PCA9555扩展IO芯片

通用性:PCA9555是一款24引脚的CMOS器件,为I²C总线/SMBus应用提供16位通用并行输入/输出(GPIO)扩展。它旨在增强恩智浦半导体的I2C总线I/O扩展器系列,具有更高的驱动能力、5V I/O容差、更低的电源电流、独立的I/O配置和更小的封装。配置灵活性:PCA9555由两个8位配置(输入或输出选择)组成,包括输入、输出和极性反转(高电平有效或低电平有效操作)寄存器。系统控制器可以通过写入I/O配置位来启用I/O作为输入或输出。每个输入或输出的数据保存在相应的输入或输出寄存器中。

2024-05-14 11:30:38 2121

原创 Keil编译自动生成定制的HEX文件

实现了一个自动化功能,主要用于keil编译时对项目生成的.hex文件进行管理,并基于特定的版本号和当前编译时间对hex文件进行重命名。

2024-05-10 16:31:13 1240

原创 Python文件转exe文件

要将Python脚本(.py文件)转换为可执行文件(.exe文件),你通常会使用第三方工具,如。下面是一个简单的步骤说明,演示如何使用将Python脚本转换为Windows上的可执行文件(.exe。

2024-05-10 15:09:30 650

原创 树莓派的几种登录方式、及登录失败解决方式

使用TF卡安装树莓派的系统后,可以通过编辑TF卡里的文件来设置和启用 “ VNC ” 、“ SSH ” 和 “ 串口 ” 功能。不过,在使用中打开VNC和SSH可能并不直观或方便,因为这些服务通常在树莓派的系统内部配置和启动。最后,一旦你设置了WIFI、SSH和VNC,你就可以通过网络远程访问和控制你的树莓派了。请注意,以上步骤假设你已经将树莓派的系统镜像写入到TF卡中,并将TF卡插入到树莓派的SD卡插槽中。另外,为了使用SSH和VNC,你需要在树莓派上安装相应的软件包,并可能需要进行一些额外的配置。

2024-05-06 16:34:59 498

基于STM32智能水晶球台灯-3D模型底座及硬件PCB原理图

基于STM32F103C8T6制作的一个物联网控制的水晶球台灯,配备微信小程序进行控制,可以接入小爱同学,以及天猫精灵进行控制。

2024-09-14

基于STM32智能水晶球台灯-代码

基于STM32F103C8T6制作的一个物联网控制的水晶球台灯,配备微信小程序进行控制,可以接入小爱同学,以及天猫精灵进行控制。

2024-09-14

STM32F103C8T6单片机原理图

STM32F103C8T6单片机原理图

2024-09-08

基于STM32F103C8T6制作的T12洛铁(定制版).zip

STM32F103C8T6是一款由意法半导体公司(ST)推出的基于Cortex-M3内核的32位微控制器,具有高性能、低功耗和丰富的外设接口等特点。将其应用于T12烙铁的制作中,可以实现烙铁的温度精确控制、实时显示及用户友好界面等功能。 核心控制器:选用STM32F103C8T6作为主控芯片,负责整个烙铁系统的控制逻辑和数据处理。 显示模块:集成LCD12864寸显示器,用于实时显示烙铁的温度、设置参数及工作状态等信息。 温度传感器:T12烙铁头通常使用热电偶作为温度传感器,将温度转换为电压信号并传送给控制器。控制器利用该信号进行温度监测和调节。 加热元件:T12烙铁头采用陶瓷发热芯,由陶瓷管和发热线圈组成。电流通过发热线圈加热陶瓷管,达到所需的工作温度。 控制电路:设计控制电路以实现烙铁的温度控制。通过PID或其他控制算法维持烙铁头的温度稳定,并根据用户设置调整加热功率。 用户输入:按钮控制,以便用户可以轻松调整温度设置或执行其他功能。

2024-08-29

STM32F103控制WS2812B实例代码(新-PWM方式)

使用STM32单片机做的一个控制WS2812B灯带的驱动API函数。 注意!!! 还有点问题,需要自己去微调程序。

2024-08-21

基于python做的简单的图书管理系统.py

我们可以创建一个稍微复杂一点的Python示例,这个示例将包括类的定义、继承、方法重写、以及使用列表和字典等数据结构。我们将创建一个简单的图书管理系统,该系统能够添加图书、显示所有图书、以及根据书名搜索图书。

2024-08-19

基于巴法云使用MQTT的微信小程序.zip

示例通过微信小程序MQTT控制巴法云物联网的产品

2024-08-19

基于yolov5识别视频文件中物体.zip

基于yolov5识别视频中瓶子,并框选识别到的对应瓶子

2024-08-19

基于STM32F103RCT6的MPU6050飞控算法.zip

mpu6050进行姿态解算

2024-08-15

基于巴法云+MQTT+微信小程序控制esp8266点灯

基础设置: 开发微信小程序需要具备一定的前端开发经验,熟悉HTML、CSS、JavaScript等技术。 使用微信开发者工具进行开发,创建项目并配置相关参数。 集成MQTT客户端库: 微信小程序可以通过引入MQTT.js库来实现MQTT客户端的功能。将MQTT.js库文件添加到小程序项目中,并在需要的地方引入。 实现MQTT通信: 在小程序中编写代码,实现与MQTT服务器的连接、订阅主题、发布消息等功能。 可以通过按钮点击等事件触发消息的发送和接收。 界面设计: 设计小程序的界面,包括控制按钮、状态显示等,以便用户能够直观地操作设备和查看设备状态。

2024-08-01

图像识别yolov5使用示例

图像识别YOLOv5使用示例简介: 此示例展示了如何使用YOLOv5进行高效的图像识别。通过实例代码,您可以了解如何加载预训练模型、进行图像检测,并获取准确的识别结果。YOLOv5以其速度和准确性在图像识别领域备受推崇。 具体的使用方式:http://t.csdnimg.cn/wsJ7h

2024-06-13

中科院自动化所RLIS标注工具

RLIS标注工具是一款功能强大、易于使用的数据标注工具,适用于各种机器学习和深度学习项目的数据预处理工作。通过使用该工具,用户可以高效地完成数据标注任务,提升项目效率和准确率。

2024-06-13

OpenCV图像处理kNN近邻算法-识别摄像头数字

        使用Python的OpenCV库进行图像处理和数字识别的例子。通过下面的步骤对摄像头的黑色数字进行识别(由于我电脑没有摄像头,实际使用需要替换获取图像部分的代码)。这里的代码只能用于识别照片里面最大的单个数字的简单识别算法,需要更多样化的识别就需要自己在这基础上扩展咯!!!

2024-05-29

OpenCV图像处理kNN近邻算法识别数字

OpenCV的KNN(K-Nearest Neighbors)近邻算法是一种基于实例的学习算法,用于分类或回归问题。它通过测量不同特征值之间的距离来找出与待分类数据点最接近的K个数据点,并根据这K个最近邻的数据点的类别(对于分类问题)或特征值(对于回归问题)来预测待分类数据点的类别或值。OpenCV中的KNN算法高效且易于使用,尤其适用于多维数据集中的分类问题。

2024-05-29

特征匹配(Brute-Force匹配器).zip

        在Python的OpenCV库(cv2模块)中,"Brute-Force匹配"(也被称为暴力匹配)是一种用于特征点匹配的方法。这种方法的工作原理是取第一个集合里一个特征的描述子,并与第二个集合里所有其他的特征进行匹配,通过计算它们之间的某种“距离”来找到最佳匹配。

2024-05-29

STM32单片机控制旋转编码开关

旋转编码开关是一种功能强大、应用广泛的电子元器件,在工业自动化、机器人技术、伺服控制系统、电梯、电机控制、音视频设备、游戏控制器以及其他需要精确位置控制和速度反馈的各种机械设备中都有重要的应用。

2024-05-18

STM32单片机控制扩展IO芯片PCA9555的使用实例

PCA9555是一款高性能、低功耗的I/O扩展芯片,是一款基于I²C总线的16位通用并行输入/输出(GPIO)芯片。由两个8位配置(输入或输出选择)组成,包括输入、输出和极性反转(高电平有效或低电平有效操作)寄存器。可以通过写入I/O配置位来启用I/O作为输入或输出。 该代码是基于STM32F103系列单片机做的一个控制扩展IO芯片PCA9555芯片的实例,代码中详细说明了扩展IO芯片PCA9555的使用方法。对于具体工作的输入输出模式都做了示例,对于学习扩展IO芯片PCA9555是一个不错的使用示例。

2024-05-14

对keil生成的HEX文件自动进行复制重命名《自动获取代码版本,及获取最新编译时间》

当我们使用keil编译后,默认输出的hex文件,没有版本,也不知道编译时间,后面很容易下载成老的hex文件,有了这个控制程序,我们就能解决这些烦恼。 功能特点: ①它能检索在main.c文件里面字符串,通过获取“#define SOFTWARE_VERSION "Ver_1.0"”字符串,知道现在的版本,然后生成的hex文件自动的就生成带“Ver_1.0”版本号的hex文件。 ②keil编译时,自动运行该小程序,生成带编译时间的hex文件。

2024-05-10

Python编译软件pycharm-community-2022.2.3.zip

PyCharm是一款专为Python开发者设计的集成开发环境(IDE)。它提供了强大的代码编辑、调试、测试、项目管理和版本控制等功能,旨在帮助开发者提高Python开发效率。 PyCharm支持智能代码补全、语法高亮、代码导航和搜索等功能,使开发者能够更快速、更准确地编写代码。同时,它还集成了全面的调试器,支持断点、单步调试、变量查看等功能,帮助开发者快速定位和修复问题。 此外,PyCharm还支持多种版本控制工具,如Git、Subversion等,方便开发者进行版本控制和协作开发。它还提供了丰富的插件和扩展功能,可以根据开发者的需求进行个性化定制。 总的来说,PyCharm是一款功能丰富、用户友好的Python IDE,适合从初学者到专业开发者等各类人群使用。

2024-04-30

Python编写软件python-3.11.0-amd64.zip

Python 3.11.0是Python编程语言的一个新版本,它是当前Python编程语言的最新主要版本之一。Python 3.11.0带来了许多新特性和优化,使得Python的性能、一致性和可读性都得到了提升。 首先,Python 3.11.0在性能方面有所提升,特别是在数据科学和数据工程领域,它的运行速度比Python 3.10提高了约10-60%,甚至在某些情况下可以达到60%的速度提升。这使得Python在处理大规模数据集和运行复杂算法时更加高效。 其次,Python 3.11.0改进了语言的一致性和可读性,引入了新的字符串插值语法和其他语言特性,使得代码更加简洁、直观和易于理解。这使得Python成为一种更加易学易用的编程语言,无论是初学者还是专业开发者都能够快速上手。 最后,Python 3.11.0还提供了一系列的标准库和第三方库,用于处理各种常见任务和问题。这些库包括用于科学计算的NumPy、用于网络编程的Requests以及用于数据可视化的Matplotlib等。这些库的存在使得开发者可以更加快速地实现各种功能,无需从头开始编写复杂的代码。

2024-04-30

串口通信软件sscom5.13.1.zip

SSCOM 5.13.1是一款功能强大的串口通信工具软件,它提供了与串口设备进行通信、数据发送和接收的能力,以及调试和监控的功能。通过SSCOM 5.13.1,用户可以方便地连接到计算机上的串口端口,并通过用户友好的界面进行串口通信的相关操作。 该软件支持多种串口通信参数设置,如波特率、数据位、停止位、校验位等,以适应不同的串口设备需求。同时,SSCOM 5.13.1还支持发送和接收各种类型的数据,包括文本、二进制和十六进制数据,满足用户不同的数据通信需求。 此外,SSCOM 5.13.1还提供了自定义命令、日志记录、脚本支持等功能,方便用户进行更加灵活和高效的串口通信任务。同时,它支持多串口设备连接,方便进行多设备的调试和测试。总之,SSCOM 5.13.1是一款非常实用的串口通信工具软件,能够帮助用户轻松进行串口通信的调试和测试。

2024-04-30

虚拟机VMware-workstation-full-16.1.2.zip

VMware是一款功能强大的桌面虚拟化软件,它允许用户在一台物理计算机上运行多个操作系统,从而提高了计算机资源的利用率和灵活性。该软件支持广泛的操作系统,包括Windows、Linux等,用户可以轻松创建、配置和管理虚拟机。 VMware提供了直观的图形用户界面和丰富的功能,如虚拟机快照、克隆、挂起和恢复等,这些功能可以帮助用户快速备份和恢复虚拟机,以及在多个虚拟机之间轻松切换。此外,该软件还支持高级网络配置、USB设备直通、图形性能优化等特性,满足了专业用户和开发人员的需求。 总之,VMware是一款功能全面、易于使用的桌面虚拟化软件,它可以帮助用户轻松管理和运行多个虚拟机,提高工作效率和灵活性。

2024-04-30

Python编程软件thonny-4.1.1.exe

Thonny是一款专门针对Python初学者设计的编程学习软件。它提供了一个简洁直观的图形用户界面(GUI),使得初学者能够更快地熟悉Python编程语言。Thonny内置了Python 3.6,用户无需额外安装Python环境即可开始学习。此外,Thonny还提供了多种有用的学习工具,如语法错误可视化、代码高亮、代码补全和自动缩进等,帮助用户更加高效和准确地编写代码。 Thonny的调试器功能也非常强大,支持逐行执行代码、查看变量的值和跟踪代码的执行流程等,有助于用户快速找出并修复代码中的错误。此外,Thonny的界面设计简洁清晰,没有复杂的设置和选项,使初学者能够专注于学习编程而不被繁琐的设置所困扰。总之,Thonny是一款非常适合Python初学者使用的编程学习软件。

2024-04-30

STM32程序下载器FlyMcu.zip

FlyMcu.exe是一款轻量级的STM32串口下载软件,它专为STM32微控制器设计,用于实现程序的快速下载和烧录。这款软件具有简单易用、操作方便的特点,通过串口连接STM32芯片,支持一键下载程序,极大提升了开发效率。 使用FlyMcu.exe时,用户只需通过数据线将电脑和STM32开发板连接,打开软件后选择正确的串口和波特率,然后选择要下载的hex文件,点击开始编程即可将程序烧录到STM32硬件系统中。在下载过程中,FlyMcu.exe会自动识别系统环境和设备参数,确保下载过程的可靠性和稳定性。 此外,FlyMcu.exe还提供了丰富的设置选项,如串口设备选择、下载参数设置等,用户可以根据实际需求进行灵活配置。总之,FlyMcu.exe是一款功能强大、操作简便的STM32串口下载软件,是STM32微控制器开发人员的得力助手。

2024-04-30

图形化STM32配置软件SetupSTM32CubeMX-6.8.0-Win.exe

STM32CubeMX是由ST公司开发的一款图形化代码自动生成工具,专为STM32微控制器设计。它能够直观选择STM32微控制器并进行图形化配置,包括自动处理引脚冲突、动态设置时钟树、配置外设和中间件等。通过STM32CubeMX,用户可以快速生成初始化代码,如GPIO、时钟树、中间件等的配置,从而极大地减少了手动编写初始化代码的繁琐过程,降低了出错率,提高了开发效率。此外,STM32CubeMX还支持多种STM32系列微控制器,并提供了丰富的功能库和示例代码,帮助开发人员快速搭建应用程序的框架,加速产品开发过程。总之,STM32CubeMX是一款功能强大、易于使用的开发工具,能够极大地提升STM32微控制器的开发效率。

2024-04-30

Arduino-ide-2.0.4-Windows-64bit版本

Arduino IDE是一款专为Arduino平台设计的集成开发环境,它开源且兼容多种操作系统。用户可以使用C/C++语言编写程序,并通过Arduino IDE轻松编译和上传代码到Arduino板上。IDE界面直观友好,支持自动缩进和语法高亮,使编程更加便捷。此外,Arduino IDE拥有庞大的社区支持,用户可以在社区中获取丰富的教程、示例代码和项目分享。无论是初学者还是资深开发者,Arduino IDE都是进行Arduino项目开发的强大工具。

2024-04-30

电源模块输出12V(3A)、5V(1A)

LM2596-12V是一款降压型电源管理单片集成电路的开关电压调节器,具体特点和应用如下: 性能参数: 输入电压范围:4.5V~40V,意味着它能够接受较宽的电压输入范围。 输出电压:固定版本有12V,最大输出电压为37V,能够满足多种应用需求。 输出电流:最大可达3A,具有较高的驱动能力。 转换效率:在70%~90%之间,具有较高的能源利用率。 工作模式:提供低功耗和正常两种模式,可以根据实际应用需求进行选择。 内部包含150KHZ振荡器、1.23v基准稳压电路、热关断电路、电流限制电路、放大器、比较器和内部稳压电路等,确保了芯片的稳定性和安全性。 内部原理: ON/OFF引脚:当该引脚为低电平时,芯片启动并产生一个1.235V的参考电压,用于与反馈电压比较,实现稳压。 限流保护与过热保护:当经过芯片的电流大于4.5A时,或者芯片温度过高时,芯片会自动关闭,防止损坏。 输出反馈:通过FEEDBACK脚接在电路的输出端,比较输出端的反馈电压与基准电压,从而确保输出电压的稳定。

2024-04-29

视频动画转换为素描动画

pencv-python 库提供了非常多的图像处理功能,包括图像滤波、变换、特征检测、物体识别等。通过调用这些功能,开发人员可以轻松地在 Python 中实现各种常见的图像处理应用。

2024-04-29

XL7015芯片12V供电输出模块

XL7015是一款高效、高压降压型DC-DC转换器,固定150KHz开关频率,可提供最高0.8A输出电流能力,低纹波,出色的线性调整率与负载调整率。XL7015内置固定频率振荡器与频率补偿电路,简化了电路设计。

2024-04-25

CRC16-MudBus示例函数(计数法+查表法)

CRC16_MudBus(通常写作CRC-16/MODBUS)是一种常用于Modbus通信协议的循环冗余校验(Cyclic Redundancy Check,简称CRC)算法。它通过对数据进行计算得到一个校验值,用于检测数据传输过程中是否发生错误,以确保数据的完整性和准确性。 Modbus是一种串行通信协议,最初由Modicon(目前属于施耐德电气公司)于1979年开发,并在工业控制中得到了广泛的应用。该协议支持多种通信接口,如RS232、RS485、以太网等,不同厂商生产的控制设备通过Modbus协议可以连成通信网络,进行集中监控。 CRC-16/MODBUS是基于多项式计算的一种CRC算法,其多项式为0x8005。在计算过程中,首先初始化一个16位的寄存器为0xFFFF,然后按照特定的算法对给定的数据进行处理,最终得到一个16位的校验值。这个校验值会附加在数据的末尾,接收方在接收到数据后,也会使用相同的算法进行计算,并将结果与附加的校验值进行比较,以判断数据在传输过程中是否发生了错误。

2024-04-16

位置式PID使用示例代码

 PID控制器是一种广泛应用的调节器控制规律,其核心在于通过比例(P)、积分(I)和微分(D)三个环节对控制目标进行精确调节。这种控制方法主要适用于基本线性和动态特性不随时间变化的系统。         在PID控制中,比例环节的作用是根据偏差e的大小调整控制器的输出信号u,使系统能够快速响应偏差的变化。然而,过大的比例系数Kp可能导致系统产生激烈的振荡和不稳定,因此在设计时需要合理优化Kp。         积分环节的作用是对偏差e进行积分,以实现无差调节。当系统平衡后,偏差为0,积分控制器的输出不再发生变化。积分环节有助于消除系统的稳态误差,但积分作用过强可能导致系统响应过慢。         微分环节则是根据偏差e的变化率调整控制器的输出信号u,有助于改善系统的动态特性,减小超调和振荡。然而,微分环节对噪声干扰信号敏感,需要在实际应用中加以注意。

2024-04-16

自制3D打印机-全文件

先占楼,后面会出这个设计的设计教程

2024-04-13

GD32F103VBT6核心板原理图

代码示例链接:https://download.csdn.net/download/qq_26043945/89115993 GD32F103VBT6核心板是一款基于GD32F103系列微控制器的创新型核心板,为嵌入式系统开发提供了强大的支持。 该核心板集成了ADC功能,可以实时采集模拟信号,实现精确的电压、电流等参数测量。蜂鸣器功能则方便用户进行状态提示或报警。LCD功能则为用户提供了直观的图形界面,提升了用户体验。 此外,核心板还配备了按键控制功能,用户可以通过简单的按键操作实现系统的基本控制。IIC功能则使得核心板可以与多种IIC设备无缝连接,扩展了系统的应用场景。 GD-Link编程调试功能使得开发者能够方便地对核心板进行编程和调试,大大提高了开发效率。SPI通信功能以及USART通信功能则实现了与其他设备的快速数据传输,满足了系统通信的需求。 值得一提的是,该核心板还支持USB、CAN通信功能,不仅方便了数据的传输,还为用户提供了更多的连接选项。

2024-04-11

GD32F103VBT6核心板代码示例

基于GD32F103VBT6做了一个核心板,代码里面包括有ADC功能、蜂鸣器功能、LCD功能、按键控制、IIC功能、GD-Link编程调试功能 、SPI通信功能、USART通信功能、USB功能、CAN通信功能的代码示例。

2024-04-11

3D打印机固件Marlin-2.1.2.2

Marlin 是一种开源的 3D 打印机固件,广泛应用于各种 3D 打印机的控制系统。它最初是为了 RepRap 3D 打印机而开发的,但随着时间的推移,它已经成为了许多不同类型和品牌的 3D 打印机的首选固件。 以下是 Marlin 固件的一些主要特点和功能: 开源与可定制:Marlin 是开源的,这意味着用户可以访问和修改其源代码,以满足特定的打印需求或硬件要求。用户可以根据自己的打印机配置进行定制,调整各种参数和设置。 广泛的硬件兼容性:Marlin 支持多种类型的 3D 打印机,包括 FDM(熔融沉积建模)和某些其他类型的打印机。它支持各种步进电机驱动器、加热元件、温度传感器和输入/输出设备。 丰富的配置选项:Marlin 提供了大量的配置选项,允许用户调整打印速度、加速度、温度控制、回抽设置、层高等参数,以优化打印质量和性能。 先进的运动控制:Marlin 固件具有高效的步进电机控制算法,可以精确控制打印机的运动。它支持多种插补模式,如线性插补和圆弧插补,以实现更平滑的打印轨迹。 温度管理:Marlin 提供了先进的温度控制功能,可以精确控制挤出机和热床的温度。它

2024-04-10

ESP32获取图像,并通过电脑端服务器显示图像

​这段Python程序是一个基于UDP协议的图像接收和显示应用。 它通过创建一个UDP socket,绑定到本地IP地址和端口,通过ESP32-CAM获取JPEG的图像数据流,然后通过UDP通信把数据传输到服务器端,服务器获取到数据后,将数据解码为图像并在窗口中显示。用户可以通过按下键盘上的"q"键来退出程序。

2023-10-17

STM32F103RCT6驱动LCD12864屏(驱动IC:ST7567A)

使用STM32RCT6单片机,经过精心编程与控制,实现了LCD12864的卓越功能,包括字符显示与图片展示。这一系统的设计和实施充分发挥了STM32RCT6的性能和可编程特性,使LCD12864能够以高效、可靠的方式显示各种字符和图像,为应用提供了卓越的用户界面体验。

2023-10-11

基于单片机STM32制作T12烙铁

当使用STM32来制作T12型号的烙铁,并集成LCD12864显示器时,你将进入一个令人兴奋的嵌入式系统开发领域。这个项目将涉及硬件和软件的复杂工作,以实现一个功能强大的烙铁控制器。

2023-10-09

STM32移植U8g2图形库-驱动OLED显示(模拟IIC)

U8g2 是一个用于嵌入式设备的简易图形库,可以在多种 OLED 和 LCD 屏幕上,支持包括 SSD1306 等多种类型的底层驱动,并可以很方便地移植到 Arduino 、树莓派、NodeMCU 和 ARM 上。 U8g2 包含各种简单及复杂图形的绘制,并支持各种形式的字体,但需要占用一定单片机的内存作为绘图缓存,U8x8 只包含简单的显示文本功能,且只支持简单、定宽的字体。它直接绘制图形,没有缓存功能。         移植到STM32上,进行OLED的图形显示,本实验使用的OLED-0.96寸(SSD1306)作为驱动显示屏。 ​

2023-08-25

U8g2源码文件(驱动OLED显示)

​ U8g2 是一个用于嵌入式设备的简易图形库,可以在多种 OLED 和 LCD 屏幕上,支持包括 SSD1306 等多种类型的底层驱动,并可以很方便地移植到 Arduino 、树莓派、NodeMCU 和 ARM 上。U8g2 库的 GitHub 地址为:https://github.com/olikraus/u8g2 ,可以从中获取到源码与文档帮助。 ​

2023-08-25

空空如也

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

TA关注的人

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