- 博客(27)
- 收藏
- 关注
原创 兼容新旧项目代码:为新版 Keil MDK 安装 AC5 编译器并集成 CubeMX 完整指南
本文介绍了在新版Keil MDK(5.38+)中手动安装ARM Compiler 5(AC5)的方法,解决因官方移除AC5导致旧工程无法编译的问题。文章详细说明了AC5与AC6的兼容性差异,提供了环境准备清单(包括Keil安装包、AC5离线包等资源链接),重点讲解了如何将AC5编译器添加到新版Keil中,并附带CubeMX的安装与更新指南。通过该方法可实现新旧工程兼容,既支持AC6的新特性,又能编译旧版AC5工程,为嵌入式开发者提供了实用的环境配置方案。
2025-12-12 19:08:00
945
原创 基于STM32的FreeRTOS深度解析:从核心原理到高级应用
FreeRTOS是一款开源的硬实时操作系统内核,专为资源受限的嵌入式环境设计。它采用微内核架构(核心约9千行代码),提供任务管理(4种状态、优先级调度)、队列通信(FIFO/LIFO)、信号量/互斥量(解决优先级反转)、任务通知(直接通信)等核心功能。系统支持5种内存管理方案和Tickless低功耗模式,通过软件定时器实现精确计时。FreeRTOS具有高度可配置性,开发者可根据需求选择功能模块,平衡性能与资源消耗。其精简高效的特性使其成为嵌入式实时系统开发的理想选择。
2025-12-04 15:29:11
873
原创 三个有趣的Python图形界面项目分享:转盘抽奖、动态爱心与幸运大转盘
本文介绍了三个Python可视化项目:1. 自定义抽奖转盘应用,使用Tkinter和PIL库实现图片转盘随机旋转效果,支持动态切换转盘内容;2. 数学爱心动画,通过参数方程生成动态爱心图案,结合随机扩散算法实现跳动和光晕效果;3. 幸运大转盘系统,采用多线程技术实现流畅的转盘动画,包含12个圆形布局的抽奖选项。三个项目均基于Tkinter构建GUI界面,分别实现了图片旋转、数学函数绘图和多线程动画等核心技术,展示了Python在可视化应用开发中的多样性。
2025-11-30 12:42:10
757
2
原创 两个STM32基于RS485通信的原理(含modbus代码可移植)
本文介绍了基于RS485通信和Modbus协议的STM32实现方案。主要内容包括:1. RS485标准特点:差分信号传输、半双工通信、多点连接、长距离传输等;2. Modbus协议框架:RTU/ASCII/TCP三种格式,常用功能码及数据模型;3. 硬件实现方案:使用MAX485芯片搭建RS485物理层;4. 软件设计:提供了基础RS485通信和Modbus协议的完整代码实现,包括CRC校验、帧处理、寄存器读写等功能。通过按键控制演示了线圈状态读写和寄存器读取功能,实现了主从设备间的可靠通信。文中包含详细电
2025-11-20 11:13:06
926
2
原创 stm32基于两个SI24R1(NRF24L01)的遥控控制原理(可移植diy遥控小车)
本教程详细介绍了如何使用两个STM32和两个SI24R1(NRF24L01)模块制作遥控系统。核心原理是通过2.4GHz无线通信实现设备间的遥控控制。可移植代码自行制作遥控小车等遥控产品。
2025-11-11 09:15:46
1083
原创 stm32的gpio模式到底该怎么选择?(及iic,spi,定时器原理介绍)
STM32的GPIO端口支持8种工作模式(4种输入/4种输出),包括模拟输入、浮空/上下拉输入、推挽/开漏输出及其复用模式,适用于不同外设需求。I2C采用双线制(SDA/SCL)实现多设备通信,具有应答机制但速度较慢;SPI使用四线制(MOSI/MISO/SCK/SS)实现高速全双工传输,但需要更多IO资源。定时器功能涵盖中断定时、输入捕获(测量信号)、输出比较(PWM生成)和编码器接口,是嵌入式系统的核心外设。这些模块的灵活配置体现了STM32在嵌入式开发中的强大适应性。
2025-11-07 13:45:13
1464
1
原创 基于ROS与YOLOv3的智能采购机器人设计(智能车创意组-讯飞智慧生活组)
本文设计了一种基于ROS系统的智能采购机器人控制系统,采用主从控制架构,上位机(Jetson Nano)负责路径规划和图像识别,下位机(STM32F407)实现运动控制。系统通过激光雷达实现SLAM建图和自主导航,结合YOLOv3目标检测算法实现货品识别。测试表明机器人能完成路径规划、货物拣选和避障功能,但存在定位精度不足和视觉识别受环境影响的问题。未来可通过多传感器融合和改进算法进一步提升性能。该系统为智能仓储应用提供了可行的解决方案。
2025-11-03 11:10:11
1295
4
原创 STM32基于OLED的多级菜单(控制步进/无刷电机/舵机,含FLASH存储数据掉电不丢失)
本文介绍了一个基于STM32和OLED屏的多功能菜单管理系统,用于管理多个开源项目。系统通过8个一级菜单选项(步进电机、无刷电机、舵机、机械臂控制、四轴PID、实时时钟、音乐和设置)和各级子菜单实现对各项目的控制功能。详细讲解了各模块的硬件初始化、菜单逻辑实现、参数存储及低功耗模式等,并提供了完整的代码实现和演示视频。该系统支持Flash数据保存、RTC时钟和温湿度检测等功能,可作为二次开发的基础框架。
2025-10-31 14:45:05
836
原创 手把手带你复刻stm32四轴飞行器简单易上手(软件篇)
这是一个基于STM32的四轴飞行器软件系统,核心包含陀螺仪飞控、2.4G遥控通信和无线调试串口。系统通过MPU6050陀螺仪数据进行四元数互补滤波姿态解算,得到飞行器的横滚、俯仰和偏航角。采用串级PID控制器,由角度环和角速度环协同输出控制量,结合遥控器指令通过动力分配算法驱动四个电机。2.4G通信模块(SI24R1)实现遥控数据接收与状态回传,串口同时支持有线和无线调试。辅以LED状态指示与电池电压监测报警,共同构成完整的飞行控制系统。
2025-10-22 15:22:02
738
原创 手把手带你复刻stm32四轴飞行器简单易上手(硬件篇)
本文介绍了一款基于STM32的开源四轴飞行器项目。硬件部分参考了小马哥和酷电科技馆的开源方案,包括STM32F103C8T6主控、MPU6050陀螺仪、WS2812B彩灯等核心部件,并对SWD/UART接口进行了优化。遥控器则采用简单设计,包含摇杆、OLED屏等基础元件。整套系统成本约200元,支持蓝牙/ESP8266无线调参。作者强调项目难点在于动手实践,而非技术复杂度,为DIY爱好者提供了一个经济实惠的无人机实现方案。
2025-10-17 11:06:05
502
原创 STM32基于can总线通信控制多个舵机/电机原理及代码
本文介绍了CAN总线的基本原理及其在STM32上的应用实现。CAN总线是一种高可靠性的串行通信协议,具有多主结构、非破坏性仲裁和错误检测等特点,广泛应用于汽车电子和工业控制领域。文章通过STM32开发板展示了CAN通信实例:一个STM32通过按键发送消息,另一个接收并显示消息内容,同时控制舵机转动。详细讲解了CAN消息帧结构、STM32的CAN外设配置、硬件连接方案及软件实现代码,包括初始化、发送接收处理等关键函数。该实例演示了CAN总线在嵌入式系统中的实际应用,为开发者提供了参考实现方案。完整项目代码可通
2025-10-15 15:23:19
1130
2
原创 PCB工艺的校园卡个性化改造与LED视觉反馈(可自行diy)
摘要:本文介绍了一个DIY校园卡改造项目,正面设计包含两个LED灯(位置可调)、电阻和导线线圈,丝印层可自定义校园地图图案;反面为芯片和线圈,采用分层设计确保芯片损坏不影响LED功能。作者提供了简易制作方法:使用线稿提取工具生成校园地图,导入丝印层即可。同时提醒PCB不防水需额外防护,并分享了工程文件获取方式。该项目支持自由创意设计,包括彩色丝印等效果,适合动手爱好者尝试。
2025-07-07 15:25:07
983
原创 STM32实现四自由度机械臂(SG90舵机)多功能控制(软件篇freertos)
摘要:本文详细解析了基于STM32和FreeRTOS的四自由度机械臂控制系统软件设计。系统包含三种控制模式:1)摇杆/蓝牙模式,通过手机或摇杆实时控制;2)示教器模式,使用电位器记录动作;3)记忆模式,执行预存动作序列。文章重点剖析了各模式的核心代码逻辑,包括舵机角度控制、蓝牙指令解析、动作存储与回放等功能实现。硬件篇已搭建的SG90舵机平台配合本文的软件设计,完整实现了可复刻的机械臂控制系统。所有工程文件和蓝牙资料已开源分享。
2025-07-04 14:56:21
2212
3
原创 STM32控制四自由度机械臂(SG90舵机)(硬件篇)(简单易复刻)
摘要:本项目基于STM32F103C8T6开发板实现四自由度机械臂控制,硬件包括SG90舵机机械臂、HC-05蓝牙模块、OLED显示屏、摇杆和电位器等。系统支持三种控制模式:蓝牙手机控制、摇杆控制和电位器示教控制。PCB设计采用模块化布局,包含降压电路和LED指示电路。所有外设通过排针连接,包括4路PWM舵机控制、ADC摇杆/电位器采集、I2C显示屏和USART蓝牙通信。项目资料已开源,包含PCB工程文件和演示视频(B站链接)。该设计成本低廉,采用现成机械臂套件,适合DIY和教学应用。
2025-07-03 15:06:32
2630
2
原创 stm32驱动无刷电调控制无刷电机原理及代码(按键启停与调速)
本文介绍了使用STM32F103C8T6驱动A2212无刷电机的控制方法。无刷电机主要分为BLDC(方波驱动)和PMSM(正弦波驱动)两类,通过电调可简化控制过程,只需提供50Hz的PWM信号(脉宽1.5ms-2ms对应停止到全速)。文章详细讲解了硬件接线方式,并提供了包括电调校准、PWM初始化、速度控制等核心代码实现,其中通过按键控制电机加减速和启停。主要涉及TIM3定时器的PWM输出配置,以及将速度值转换为对应PWM脉宽的算法。
2025-06-23 10:03:39
4304
8
原创 stm32驱动ULN2003控制28BYJ48步进电机(使用定时器,可按键调速,可正反转,可控制旋转角度)
本文介绍了28BYJ48步进电机的原理与控制方法。该四相五线步进电机采用1:64减速比,输出轴单步步距角约0.0879°,八拍模式下每转需4096步。文章详细讲解了驱动原理(八拍和四拍序列)及STM32控制方案,通过ULN2003驱动板实现精确控制。代码部分展示了定时器中断实现的八拍驱动控制,包括初始化、角度控制和正反转功能。文中还提供了完整的工程代码框架,从GPIO配置到中断处理,并附有主程序示例,实现通过按键控制电机旋转90度的功能。
2025-06-10 17:37:15
922
2
原创 STM32+温湿度检测dht11+ID卡识别rc522+语言播报jq8400的简单使用(有代码,移植后可直接使用)
本文介绍了三种常用模块的开发应用:1. DHT11温湿度传感器:通过三线连接STM32,实现数据采集并通过OLED显示,包含温度补偿功能。2. RC522 RFID模块:支持ISO14443A标准,详细说明SPI接口连接和寻卡、防冲撞、认证等操作流程,可用于刷卡控制。3. JQ8400语音模块:通过串口控制音频播放,支持曲目选择和音量调节,需预存音频文件。这三种模块可组合构建公交车系统,实现刷卡乘车、语音报站和环境监测功能。文章提供了完整的硬件连接方案和软件实现代码,开发者可根据需求灵活扩展应用。
2025-04-17 16:53:35
729
原创 stm32+esp8266+机智云手机app
所以前面的一些准备工作(烧录esp8266的固件,机智云app的使用等)大家可以去其他博主那里参考一下(如果大家有需要可以评论区提出,需求多的话也可以给大家写出来),但是esp8266的烧录工具和固件我会放到文章最后的网盘链接中,11.最后是主函数和while循环:初始化的代码中与esp8266通讯的串口是必须的,另一个串口是测试用的,会打印一些信息到上位机上(方便调试),1ms的定时器是必须的,此外下面的三个函数像我一样放着就行了。pwd=0531 提取码: 0531。
2025-04-07 09:02:33
5071
1
原创 python安装了numpy却用不了且报错的解决方案和numpy的简单应用于图像处理及python基础语法
解决方法:降低python和numpy的版本,我一开始下载安装的都是最新版的python和numpy,后来降低了版本后就不报错且可正常使用了,这里给出我使用的版本作为参考(记得卸载之前版本的python和numpy再重新安装),网上有python不同版本适配的python可以自行搜索,建议使用的python版本不要超过3.10。
2024-11-08 12:42:54
3216
原创 ifconfig看不到ens33的解决方法和普通用户sudo命令的配置以及Linux基础命令
useradd【-g -d】【用户名】 创建用户 userdel【-r】 【用户名】 删除用户。wc 【-c -m -l -w】【文件路径】 统计文件(-c字节数,-m字符数,-l行数,-w单词数)chown 【-R】【用户】:【用户组】【文件、文件夹】 修改文件的所属用户和用户组。cp 【-r】 【参数1】 【参数2】 复制文件、文件夹(-r复制文件夹时使用)chmod 【-R】 【权限】【文件/文件夹】 修改文件、文件夹的权限。
2024-10-17 17:00:56
1356
2
原创 Cannot find a valid baseurl for repo: base/7/x86_64(对于Centos 7 不能使用yum源的报错)(已经解决)
然后通过cp CentOS-Base.repo CentOS-Base.repo.back 指令将CentOS-Base.repo进行备份(这一步不能丢,博主就是因为丢失了这一步找了好久)1.su - root 切换至管理员用户,在管理员用户下使用 cd /etc/yum.repos.d 切换工作目录。yum makecache ,如下新的缓存已经构建完毕,开始更新。并再次使用ls列出目录下的内容如下图绿色部分所示即可。
2024-10-17 16:27:57
2041
9
原创 智能车竞赛新手入门摄像头(零基础,通俗易懂)
图中两个绿色的就是编码器,编码器通过齿轮与电机齿轮衔接,另一端接线插在主控板上,随着电机的转动带动齿轮转动,齿轮带动编码器转动实时检测电机的转速反馈电机的实时转速,这也是速度环(速度闭环)的重要组成部分,编码器测的实时转速((左编码器+右编码器)/2)与你设定的目标速度进行比较(类似与中线差值的获得)得到的值作为速度环的输入,通过。(b站同名视频可观看)常见的彩图的每个像素是RGB三个通道的数组值决定的,我们智能车常用的摄像头用的是灰度摄像头,获取到的是灰度图像,只有一个通道,像素点数据用。
2024-08-21 12:50:25
7289
7
原创 智能车模糊pid的简单使用教程
当【E,EC】=【正中,正小】时,根据上表(模糊规则表)对应的值为3,故3的隶属度为为40%×50%=20%,当【E,EC】=【正中,正中】时同理可得4的隶属度为20%,当【E,EC】=【正大,正小】时同理可得4的隶属度为30%,当【E,EC】=【正大,正中】时同理可得5的隶属度为30%,综上所述,输出为3×20%+4×20%+4×30%+5×30%=4.1,再将输出经过一个普通的位置式pid即可,这就是模糊pid大概的原理,为了方便大家理解,我用的都是通俗易的的俗语,没用专业术语,希望可以理解。
2024-08-01 22:06:52
5174
12
原创 基于STM32f103c8t6与ESP8266的天气时钟(文末含完整代码工程可自取)
摘要: 本文介绍了基于STM32和ESP8266的天气时钟系统实现方法。硬件采用STM32最小系统板、ESP8266 WiFi模块和OLED显示屏,通过心知天气API获取实时数据。系统功能包括时间显示(支持网络校时)、天气状况和温度监测。软件部分详细解析了AT指令配置、HTTP请求发送及JSON数据解析流程,并提供了完整的代码实现。该项目可扩展为智能家居控制终端,如联动智能窗户等设备。文中包含硬件连接图、API申请步骤和调试工具下载链接,为开发者提供了完整的参考方案。
2024-06-07 20:44:21
2513
29
原创 智能车电磁组元素处理(圆环、三岔、路障)
(因此此处电感值相比其它的地方也会有明显区别,找到这个特殊点即可识别岔路),当小车的电感提前识别到岔路以后,再像圆环处理那样给一个固定差值打脚一段时间,进入岔路后切换回正常循迹,同样的速度不快时,出岔路也不用处理,与出环岛不同的是出岔路以后不仅要把各个岔路标志位清零,还要把一个次数标志位置1(即第一次识别到岔路时,该次数标志位为0向左打脚入左岔路,第二次识别到岔路时,该次数标志位为1向右打脚入右岔路),这样即可。,我还没说到它的用处,不会用的小伙伴可以先定义一个time,,下面给出我的识别岔路的参考代码。
2023-09-02 17:15:22
9755
25
原创 智能车竞赛新手入门电磁(0基础)(通俗易懂)
对于没有传承代码的普通学校,刚开始接触智能车的时候可能不知所措,会浪费很多时间,我也是在智能车摸爬滚打了两年才从第一年的省三到第二年的国一,在两年的调车生涯里,也曾彷徨,也曾迷茫,还好有一群陪我一起调车的志同道合的朋友们,让我的智能车生涯变得更加精彩难忘,希望未来的车友们不要轻易放弃,坚持下去,对于我们这种没有保研资格的普通学校,支持我们一直坚持下来的大概就是热爱吧,希望车友们能把这份热爱传承下去,让智能车比赛越做越好,接下来我会尽量用通俗易懂的方式帮助大家入门智能车,如有错误的地方还请批评指正。
2023-09-01 02:02:52
12523
38
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅