Arduino爱好者

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: eagler8

[经验] 【Arduino】168种传感器系模块列实验(161)---旋转角度传感器

[复制链接]
 楼主| 发表于 2021-8-26 09:07 | 显示全部楼层
如图显示了结果
测量输出电压的线性度相同的样本,当它的阻抗连接在 1M 和 200k 之间变化欧姆。 可以看到滑动的效果连接时噪音降低阻抗增加。

03-09.jpg

 楼主| 发表于 2021-8-26 09:11 | 显示全部楼层
03-4.jpg
 楼主| 发表于 2021-8-26 09:14 | 显示全部楼层
本帖最后由 eagler8 于 2021-8-26 09:26 编辑

05.jpg

旋转角度传感器模块 SV01A103AEA01R00微调电位器模块
旋转角度传感器采用的是用一个线性电位器,旋转角度变化反应电位器阻值变化,输出端电压也跟随变化

主要参数:
供电电压:DC5V
工作环境温度:-40℃- +85℃
旋转寿命:300K次
旋转扭矩:1mN.m
有效旋转角度:333.3°
线性度:±2%
电位器总电阻阻值:10KΩ±30%

 楼主| 发表于 2021-8-26 10:01 | 显示全部楼层
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百六十一:旋转角度传感器模块 SV01A103AEA01R00微调电位器模块
  项目之一:通过串口显示测试电位器的数值与波形
  实验接线:角度传感器模块OUT接Uno的A0

  实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百六十一:旋转角度传感器模块 SV01A103AEA01R00微调电位器模块
  4.   项目之一:通过串口显示测试电位器的数值与波形
  5.   实验接线:角度传感器模块OUT接Uno的A0
  6. */

  7. void setup()
  8. {
  9.   Serial.begin(9600);  // 设置串口波特率为9600
  10.   pinMode(A0, INPUT);  // 角度传感器模块OUT连接引脚A0,并设置为输入模式
  11. }

  12. void loop()
  13. {
  14.   Serial.println(analogRead(A0)); //将读取的A0模拟值输出到串口监视器
  15.   delay(500); // 延时500毫秒
  16. }
复制代码


 楼主| 发表于 2021-8-26 10:03 | 显示全部楼层
实验串口返回情况(用小螺丝刀旋转角度传感器)

06.jpg
 楼主| 发表于 2021-8-26 10:04 | 显示全部楼层
实验串口绘图器返回情况

07.jpg
 楼主| 发表于 2021-8-26 10:38 | 显示全部楼层
项目之二:通过读取旋转角度传感器输入的电压值来控制LED灯的亮度
模拟输入引脚是带有ADC(Analog-to-Digital Converter,模数转换器)功能的引脚。它可以将外部输入的模拟信号转换为芯片运算时可以识别的数字信号,从而实现读入模拟值的功能。Arduino 模拟输入功能有10位精度,即可以将0~5V的电压信号转换为0~1024的整数形式表示。通过使用analogRead() 函数读取旋转角度传感器模块输入的电压值,然后通过analogWrite()函数来控制LED灯亮度。

参考开源代码(Arduino):

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百六十一:旋转角度传感器模块 SV01A103AEA01R00微调电位器模块
  4.   项目之二:通过读取旋转角度传感器输入的电压值来控制LED灯的亮度
  5.   实验接线:角度传感器模块OUT接Uno的A0,LED灯接D11
  6. */

  7. int ledPin = 11;
  8. int readValue = 0; //保存读到的模拟值
  9. int ledValue = 0;  //保存LED灯占空比

  10. void setup(){
  11.   pinMode(ledPin, OUTPUT); //数字口要选择带~号的具有pwm功能的输出口
  12. }

  13. void loop(){
  14.   readValue = analogRead(A0);     //读取A0模拟口的数值(0-5V 对应 0-1204取值)
  15.   ledValue = map(readValue, 0, 1024, 0, 255);
  16. // 将0到1024之间的数据映射成0到255之间的数据
  17.   analogWrite(ledPin, ledValue);   //PWM最大取值255
  18. }
复制代码

 楼主| 发表于 2021-8-26 10:43 | 显示全部楼层
实验场景图

08.jpg
发表于 2021-8-26 14:38 | 显示全部楼层
这个贴居然没人看。。
 楼主| 发表于 2021-8-26 14:46 | 显示全部楼层
仙人掌树 发表于 2021-8-26 14:38
这个贴居然没人看。。

谢谢鼓励
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino爱好者

GMT+8, 2022-12-10 00:07 , Processed in 0.072354 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表