旋钮没有传数字,单片机为什么能读出位置?

发布时间:2026/10/2 20:53:58

旋钮没有传数字,单片机为什么能读出位置? 旋钮没有传数字单片机为什么能读出位置本文为教学接线与设计预期尚无实物测量记录统一使用 NUCLEO-F030R8。问题旋钮里没有小电脑也没有发出二零四八这个数字。可你一转单片机却能显示位置。它究竟读到了什么先看真实变化滑动端的电压会跟着旋钮位置改变。单片机把这个连续电压换成一个有限范围的数字。物件动作想象一根三点三伏到零伏的长尺小熊拿着探针沿尺子移动。它移到中间探针碰到的就是大约一半的电压。一端接三点三伏另一端接地滑动端就像这支会移动的探针旋钮只是推动它。真实连接回到电路拿一只一万欧电位器。两个固定端分别接开发板三点三伏和地中间滑动端接 A0也就是芯片 PA0。不要把两端都接电源也不要把五伏送进这个三点三伏供电的模数输入。三根线的职责各不相同。原因与结果电位器内部是一条电阻轨。滑动端把电阻轨分成上下两段两段分掉三点三伏所以滑动端得到某个中间电压。芯片里的模数转换器把零到三点三伏近似分成四千零九十六格这里用十二位模式作为例子。完整算例如果滑动端恰在理想中点电压约一点六五伏。拿一点六五除以三点三再乘四千零九十五约等于二千零四十八。旋钮没发送二千零四十八是芯片按测得的电压算出读数。这个数字只是计算例子不是本机实测。验证与边界验证时用万用表量滑动端对地电压同时看程序打印的采样值。慢慢旋转两者应该同向变化若方向反了只是固定端左右接法相反。实际读数会有误差和噪声不能保证每次恰好二千零四十八更不能直接接高于允许范围的电压。从一根电阻轨到一个数字电位器两固定端之间约为 10 kΩ滑动端把电阻轨分成上下两段。按理想分压关系滑动端靠近 3.3 V 端时电压上升靠近地端时下降。A0 是开发板连接器名称真正进入芯片的是 PA0 的 ADC_IN0 功能。模数转换器采的是相对于参考电压的比例并不是辨认旋钮印在外壳上的角度。如果固定端互换电压随旋转方向反过来但依然是同一个分压原理。一次完整计算假设参考电压正好是 3.3 V滑动端恰好是 1.65 V且选择 12 位转换。12 位有 4096 个可能码值从 0 到 4095。理想码值约为 1.65÷3.3×4095得到 2047.5按舍入约 2048。这个值并非旋钮直接传来的数字也不是保证每次采样必为 2048。真实参考电压偏差、接触噪声、ADC 量化以及采样设置都会使读数改变。若程序显示大幅异常先用万用表量滑动端对公共地电压再查 ADC 通道是否选对。接线与安全边界本例用开发板 3.3 V 和 GND不用 5 V 给滑动端供电。先断电接线确定电位器哪一脚是滑动端通电后旋转到两端滑动端对地电压应在允许范围内变化。若要获得稳定角度而非仅是相对位置需要考虑电位器的机械行程、线性误差和校准。将几次读数做平均可以减小随机抖动但不能修复断线、接错线或输入过压。逐线接线清单CN6 3V3 → 电位器固定端 13.3 VCN6 GND → 电位器固定端 3公共地电位器滑动端 2 → CN8 A0/PA0ADC_IN0计算与实施边界理想中点约 1.65 V12 位码 1.65/3.3×4095≈2048计算示例非实测这些参数和数值是本例选择或可复算计算实际测量前应先检查电源极性、公共地、元件额定值、仪器探头连接。完整可运行的核心算例与验收以下 C11 程序可在电脑上用 C 编译器单独编译运行用来复算状态或数值它不是已配置 GPIO、ADC、定时器和驱动的开发板固件。移植到实板时应按前述接线配置外设、检查读取错误并另做实测。#includestdio.hstaticunsignedideal_adc_code(floatvolts){if(volts0.0f)volts0.0f;if(volts3.3f)volts3.3f;return(unsigned)(volts/3.3f*4095.0f0.5f);}intmain(void){constfloatexamples[]{0.0f,1.65f,3.3f};for(unsignedi0;i3;i)printf(%.2f V - %u\n,examples[i],ideal_adc_code(examples[i]));return0;}验收时同时记录输入、关键节点电压或波形、程序输出若发现传感器通信失败、输入超出允许范围或波形明显异常应停止并排查。官方资料https://www.st.com/resource/en/user_manual/dm00105823.pdfhttps://www.st.com/resource/en/datasheet/dm00088500.pdf
延伸阅读

更多相关文章

2026/10/2 20:53:57

RMUX Python与TypeScript SDK入门:librmux与@rmux/sdk自动化实战

RMUX Python与TypeScript SDK入门:librmux与rmux/sdk自动化实战 【免费下载链接】rmux Universal Rust multiplexer with a typed SDK — drive any CLI or TUI app from code. Native on Linux, macOS, and Windows. 项目地址: https://gitcode.com/gh_mirrors/r…

2026/10/2 21:54:01

Unity点击事件与UI穿透冲突的通用修正方案

站在Unity开发者的角度,点击事件和UI“打架”这个问题,尤其是“UI弹出时穿透点击到场景物体”“按钮连点触发多次”这两个症状,几乎每个项目都会遇到。我最早做2D手游的时候就吃过亏:玩家疯狂点“关闭”按钮,结果把按钮…

2026/10/2 21:54:00

AI编程工具三强对决:Cursor、Copilot与Claude Dev实战解析

最近在技术社群里看到一条很有意思的提问:公司打算统一AI编程工具,有人推荐无脑上Cursor,有人坚持GitHub Copilot才是最稳的选择,还有一小撮人悄悄用Claude Dev(现在很多人也叫它Claude Code的VS Code形态)…

2026/10/2 21:54:00

Linux head命令实战:从日志排查到管道组合用法

在Linux终端里摸爬滚打这些年,如果让我从常用命令里挑一个最被低估、却又最高频用到的,我大概率会选head。你测试一个新接口返回的响应,可能只需要看前几行;你在排查一个几GB的日志文件,不会傻到直接cat,第…

2026/10/2 21:54:00

Unity启动Logo隐藏方案:Splash Screen原理与个人版合规做法

打开Unity项目的时候,那个巨大的Logo总是要占掉一两秒,发布出去的游戏也一样,启动画面上先是Unity Logo,然后才是自己的游戏画面。很多开发者对这个启动画面耿耿于怀,尤其做商业项目交付演示的时候,甲方一看…

2026/10/2 21:49:00

C#调用FFmpeg实现视频水印与分辨率处理实战指南

做C#上位机的人,迟早都会碰上音视频需求。我最近的项目就有一项:录像文件要加水印,水印位置还要能调,分辨率按16:9出。需求就一句话,落地的时候才发现一堆问题——FFmpeg命令参数多到能绕晕人,网上教程又大…

2026/10/2 8:16:46

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/10/2 18:20:53

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 10:48:55

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/2 0:02:57

PWN入门:从栈溢出原理到ROP链实战

1. 这不是“学PWN”,是重新理解你每天敲的每一行C代码我第一次在CTF赛场上写出能控制程序流的exp时,手抖得连gdb的c命令都输错三次。那道题只有23行C代码,一个gets()调用,一个printf(),一个return——它甚至没开NX&…

2026/10/2 0:02:57

Windows下cudaMallocHost显存占用之谜:WDDM与TCC模式差异及优化方案

1. 一个反直觉的显存占用现象第一次在 Windows 上看到cudaMallocHost把显存吃掉的时候,我的反应是打开任务管理器反复确认了三遍。明明调用的是主机端锁页内存分配,按 CUDA 文档的说法,这块内存应该落在系统 RAM 里,跟 GPU 的显存…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑