程序聚合 软件案例 基于STM32实现USB HID复合设备(支持多轴摇杆+多按键)

基于STM32实现USB HID复合设备(支持多轴摇杆+多按键)

2026-10-04 11:15:24
行业:工业互联网
载体:硬件
技术:C、STM32CubeIDE、STM32

业务和功能介绍

1. 立项背景和目标
在工业自动化控制、测试台架以及特殊设备验证场景中,常常需要密集的多路按键与多轴输入设备来模拟人工操作或进行闭环测试。传统键鼠无法满足高密度、多通道的输入需求,而市面成品控制器往往无法深度定制。本项目旨在提供一套纯硬件、免驱、即插即用的定制化HID输入方案,解决非标输入设备开发周期长、软件依赖复杂的产品痛点。
2. 软件功能、核心功能模块的介绍
本作品为一套工业级USB HID输入设备,硬件层基于STM32实现USB HID复合设备,无需编写任何PC端上位机,Windows系统自带驱动直接识别。针对64路独立按键需求,使用8片74HC165D移位寄存器级联,仅通过3根控制线(时钟、数据、锁存)实现并行采集与去抖。保留原生USB接口(PA11=D-, PA12=D+),底层精心编写HID报告描述符。主要功能包括:64路按键映射上报、多轴ADC采集上报。
3. 业务流程、功能路径描述
设备通过USB线连接电脑后,直接枚举为标准的HID游戏控制器或多轴输入设备,无需安装任何驱动或第三方软件。用户操作按键或摇杆时,STM32通过74HC165D级联芯片读取64路按键状态,同时进行多轴ADC采样,将数据打包成标准HID报文上报给Windows。PC端游戏或工业软件直接读取标准输入,即插即用。

项目实现

1. 整体架构和设计思路,不同模块使用的技术栈
整体采用 C 语言开发,基于 STM32CubeIDE 环境。硬件架构采用 STM32F1系列主控 + 8片74HC165D级联 + 原生USB接口。固件分为三层:底层驱动层(GPIO模拟74HC165D时序、ADC多通道采集)、协议层(HID报告描述符编写、USB中断传输)、应用层(按键去抖、滑动平均滤波、业务逻辑打包)。
2. 我负责的模块和结果(尽可能量化)
独立完成整体硬件方案的原理图核对与修正(AI辅助生成后,逐引脚校验电源、原生USB差分线、晶振、复位、BOOT、8片74HC165D级联电路及ESD保护),独立编写全部STM32底层固件。实现了64路按键的高密度压缩采集,仅占用3个MCU引脚;实现了Windows/Linux系统免驱识别,设备长时间运行不掉线。
3. 我遇到的难点、坑和解决方案
IO资源受限与74HC165D级联时序:单片机原生IO口不足,难点在于8片74HC165D级联时的时钟同步与数据移位时序。解决方案是优化GPIO模拟时序,配合中断触发,实现了64路按键的快速扫描与软件去抖。
USB免驱枚举与HID描述符编写:PA11/PA12作为原生USB D-/D+,差分走线要求极高。难点在于HID报告描述符的编写,必须确保Windows原生识别。解决方案是逐字节核对描述符与固件上报的数据长度、绝对/相对坐标范围,最终实现了免驱识别。
ADC采样噪声导致轴抖动:摇杆轴在静止时数值容易漂移。解决方案是在固件底层实现滑动平均滤波,并对原始数据进行限幅,保证Windows端识别后数据平滑不漂移。

示例图片视频


叫我六老板
5天前活跃
方向: 后端-C++、桌面端-Qt、
交付率:100.00%
相似推荐
潮州非遗
平台业务定位 潮州非遗数智平台是微信端小程序,属于潮州非遗数字化公共服务项目,由潮州市非遗保护中心联合韩山师范学院团队研发,**核心业务是非遗资源数字化保存、文化传播、智慧文旅导览、非遗传承教育**,打通非遗传承人、工坊、展馆、游客、本地市民、海外潮人之间的数字连接,实现潮州非遗 “可查、可听、可游、可学”,推动非遗活化与文旅融合发展潮州市人民...。 业务面向 4 类人群: 1. 游客:非遗打卡、智能规划路线、线下工坊寻访; 2. 本地市民与海内外潮籍乡亲:线上云看展、了解本土非遗文化; 3. 师生群体:非遗科普教学素材; 4. 非遗传承人 / 工坊:线上展示技艺、传播匠人故事,提升曝光。 核心功能模块 1. 非遗生活地图(核心文旅模块) 整合全市 100 + 非遗点位,包含潮绣、金漆木雕、手拉壶、工夫茶等大师工作室、非遗作坊、展馆。 - 点位信息:展示地址、营业时间、匠人故事、业态介绍; - 一键导航:直接跳转地图导航寻访非遗现场; - 周边便民:查询停车场、公厕、充电桩、医疗点等配套设施南方+。 2. VR 云展厅 / 全景云逛展 联动潮州市博物馆、非遗展览馆,360° 全景 VR 展厅,搭配视频、数字人、志愿讲解员语音。足不出户沉浸式浏览文物、非遗展品,了解侨批文化、潮州传统工艺,海外潮人可远程云观展潮州市人民...。 3. 非遗项目数据库 + 三语语音讲解 收录潮州 47 项省级以上非遗(含 17 项国家级非遗),每个非遗项目配套**普通话、潮州话、英语**三种语音讲解。线下展馆扫码,小程序直接播放讲解音频,包含技艺流程、历史典故、传承故事,适配国内游客与海外访客潮州市人民...。 4. AI 智能游览路线规划 用户输入偏好(非遗工艺游、美食非遗游、半日 / 一日游),AI 自动生成个性化非遗主题游览路线,推荐打卡顺序,适配不同游玩时长与人群需求潮州市人民...。 5. 非遗文化知识库 非遗名录:分类查看潮剧、潮州音乐、潮绣、木雕、手拉壶、潮州小吃等非遗项目图文、短视频; 传承人档案:非遗大师简介、作品、传承故事; 图文 / 音频 / 短视频素材,可用于校园非遗教学、文化科普。
地图动态轨迹动画与视频生成SaaS平台-AniRoute
1、立项背景和目标: 随着短视频平台(如小红书、TikTok、YouTube)旅行Vlog与户外骑行内容的爆发式增长,博主对高品质、生动的旅行轨迹展示动画需求日益迫切。传统基于After Effects等专业软件制作门槛高、耗时长。AniRoute致力于打造一款零门槛、开箱即用的Web端地图轨迹动画生成SaaS工具,帮助创作者一键生成电影级航线运镜与旅行路线动画视频。 2、核心功能模块: (1)多源地图交互与地点检索:集成Mapbox数据源,支持多途经点(Waypoints)精准检索、拖拽排序与实时地理编码; (2)三维运镜轨迹动画引擎:基于GSAP与WebGL实现平滑曲线插值,支持飞机、汽车、轮船等多种交通载具图标,自定义路线宽度、配色、阴影及3D俯仰视角动画; (3)客户端离线视频渲染导出:采用Canvas Stream与MediaRecorder硬件加速编码技术,支持1080P/4K多分辨率及16:9横屏、9:16竖屏动画视频导出; (4)用户中心与云端路线同步:提供OAuth快捷鉴权,支持个人行程方案的云端保存、编辑与历史管理; (5)会员订阅商业化闭环:集成国际支付通道,支持7天免费试用、Pro会员订阅权限控制与自动扣费。 3、业务流程与功能路径: 用户登录平台 -> 检索起点并添加途经点与终点 -> 侧边栏配置出行方式、视角相机参数及视频分辨率 -> 实时预览3D轨迹运镜动画 -> 点击一键录制渲染导出MP4视频 -> 路线自动同步至云端控制台。
基于大语言模型的智能旅游出行规划 Web 应用,提供 AI 行程规划与流式智能问答。-旅游助手
智能旅游助手是一个基于大语言模型的 Web 端出行规划应用。用户在首页选择目的地城市(内置近 40 个热门城市)、输入预算与出行天数,一键生成个性化行程方案:行程方案页按天展示上午/下午/晚上三时段的景点安排,提供住宿、餐饮、交通、门票、其他五类预算明细,并给出出行贴士与注意事项;还可携带城市上下文一键跳转 AI 对话,继续追问目的地信息。AI 对话页内置常用快捷问题,回答以打字机方式流式输出,支持随时停止生成。“我的”页面提供应用介绍。整体覆盖行前规划到行中咨询的完整出行场景。
基于微信小程序的火星科普与旅行指南应用-火星旅行指南
立项背景和目标 :随着天问一号、毅力号等火星探测任务的推进,公众对火星的兴趣日益浓厚。本项目面向普通用户,将真实的火星气象数据、地质地标、星际航行知识以可视化方式呈现,降低大众了解火星的门槛。 软件功能、核心功能模块的介绍 : 1. 火星气象查询 :覆盖 42 个中国城市对应的火星地表气象,展示地表温度、风速风向、气压、尘埃光学厚度等核心指标及 24 小时趋势曲线;通过云函数对接法国 LMD 火星气候数据库获取实时数据,失败时自动回退本地 24 小时数据集。 2. 3D 火星地表可视化 :基于 Three.js 构建可旋转、可缩放的 3D 火星模型,支持经纬度定位、城市对应地表展示、大气辉光与尘埃天气联动渲染,单指拖拽旋转、双指缩放。 3. 火星景点导览 :收录奥林帕斯山、水手谷、杰泽罗陨石坑等 10 个真实地标,含 NASA 公共领域实景照片与详细地质/探测资料,点击地标可 3D 定位并查看大图画廊。 4. 出行清单 :按生命维持、能源通讯、个人防护、工具补给四大类提供 20 项火星旅行必带物品,支持本地勾选与进度统计。 5. 星际航行信息 :基于圆轨道近似计算地火实时距离、光程、霍曼转移窗口期与下次冲日倒计时。 业务流程、功能路径描述 :用户进入主页 → 选择或 GPS 定位城市 → 查看实时火星气象与 24 小时趋势 → 点击进入 3D 火星地表页 → 切换地标查看实景与资料 → 通过出行清单准备物资 → 参考星际航行信息规划行程。
基于AI 驱动的行程规划-旅游问答应用
背景:传统旅行规划信息分散在各攻略平台,用户需自行跨渠道查景点、比门票、算预算、排行程,耗时且难以个性化;通用对话助手也无法对 "城市 + 预算 + 天数" 这类结构化输入做建模。目标:构建一个以 LLM 为核心的智能旅游助手 —— 输入目的地、预算、天数即可自动生成结构化行程规划(每日上午 / 下午 / 晚上安排、景点介绍、交通建议、预算分配、小贴士与注意事项),并提供流式 AI 旅游问答,以移动端优先的形态交付。 1. 行程规划模块(Home / Detail):表单选择并校验目的地、预算(≥100 元)、天数(1–30 天),支持热门城市快捷选择;后端调用大模型按固定 JSON 结构生成行程,结果页以折叠卡片展示每日日程、预算分配、小贴士与注意事项,支持失败重试与超时友好提示。 2. AI 对话模块(Chat):支持自由提问与快捷问题,采用 SSE 流式逐字渲染,带 "正在思考" 状态;行程详情页可一键携带城市上下文进入对话。 3. 个人中心模块(Profile):注册、登录、退出(用户名密码 + 头像,localStorage 持久化);历史记录区分对话 / 查询两类,支持滑动删除、一键清空与 20 条进度提示,点击可回跳对应行程或聊天;收藏与设置页当前为占位。 4. 后端服务模块(travel-II):Express 提供 /api/travel/recommend、/api/travel/chat 及心跳接口;通过 LangChain ChatOpenAI 统一封装,支持 SiliconFlow / DeepSeek 双模型供应商切换。 - 行程规划流:首页表单(城市 / 预算 / 天数)→ 前端校验 → 写入历史 → 跳转 /detail → POST /recommend → 后端校验并组装 prompt → LLM 生成整份 JSON → 正则提取与解析 → Detail 渲染每日日程 / 预算 / 贴士 → 底部按钮进入 AI 对话。 - AI 对话流:Chat 输入或点击快捷问题 → 写入历史 → POST /chat(SSE)→ llm.stream 逐块产出 → streamUtils 以 data 事件推送 → 前端 fetchStream 逐字填充气泡 → complete 事件收尾。 - 个人中心流:登录 / 注册 → Profile → 收藏 / 历史 / 设置;历史条目点击回跳对应行程或聊天。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服