- 博客(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库—串口通信
(一)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智能控制水晶球_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
原创 (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
原创 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
原创 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原理图
2024-09-14
基于STM32F103C8T6制作的T12洛铁(定制版).zip
2024-08-29
STM32F103控制WS2812B实例代码(新-PWM方式)
2024-08-21
基于python做的简单的图书管理系统.py
2024-08-19
基于巴法云+MQTT+微信小程序控制esp8266点灯
2024-08-01
图像识别yolov5使用示例
2024-06-13
中科院自动化所RLIS标注工具
2024-06-13
OpenCV图像处理kNN近邻算法-识别摄像头数字
2024-05-29
OpenCV图像处理kNN近邻算法识别数字
2024-05-29
特征匹配(Brute-Force匹配器).zip
2024-05-29
STM32单片机控制旋转编码开关
2024-05-18
STM32单片机控制扩展IO芯片PCA9555的使用实例
2024-05-14
对keil生成的HEX文件自动进行复制重命名《自动获取代码版本,及获取最新编译时间》
2024-05-10
Python编译软件pycharm-community-2022.2.3.zip
2024-04-30
Python编写软件python-3.11.0-amd64.zip
2024-04-30
串口通信软件sscom5.13.1.zip
2024-04-30
虚拟机VMware-workstation-full-16.1.2.zip
2024-04-30
Python编程软件thonny-4.1.1.exe
2024-04-30
STM32程序下载器FlyMcu.zip
2024-04-30
图形化STM32配置软件SetupSTM32CubeMX-6.8.0-Win.exe
2024-04-30
Arduino-ide-2.0.4-Windows-64bit版本
2024-04-30
电源模块输出12V(3A)、5V(1A)
2024-04-29
视频动画转换为素描动画
2024-04-29
XL7015芯片12V供电输出模块
2024-04-25
CRC16-MudBus示例函数(计数法+查表法)
2024-04-16
位置式PID使用示例代码
2024-04-16
GD32F103VBT6核心板原理图
2024-04-11
GD32F103VBT6核心板代码示例
2024-04-11
3D打印机固件Marlin-2.1.2.2
2024-04-10
ESP32获取图像,并通过电脑端服务器显示图像
2023-10-17
STM32F103RCT6驱动LCD12864屏(驱动IC:ST7567A)
2023-10-11
基于单片机STM32制作T12烙铁
2023-10-09
STM32移植U8g2图形库-驱动OLED显示(模拟IIC)
2023-08-25
U8g2源码文件(驱动OLED显示)
2023-08-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人