电子说
课程目标
相关知识
电位器是具有三个引出端、阻值可按某种变化规律调节的电阻元件。常用于音量调节,灯光调节,马达调速,温度调节等场合。
电路搭建
所需材料
ArduinoUNO * 1
可调电位器 * 1
220Ω电阻 * 1
任意颜色LED * 1
杜邦线若干
接线方式
程序编写
练习一:串口读取模拟输入
通过串口读取电位器的输入值,并在串口监视器中显示出来。
图形化方式:
通过上传下面的程序,可以在串口监视器中读取到电位器的值,调节电位器旋钮,能清晰发现取值范围为0~1023。
由于传感器表达的是模拟信号,它不会像数字信号那样只有简单的高电平和低电平,而有可能是在这两者之间的任何一个数值。至于到底有多少可能的值则取决于模数转换的精度,精度越高能够得到的值就会越多。
Arduino所采用的ATmega8微处理器其有6个模数转换器(ADC,Analog to Digital Converter),每一个模数转换器的精度都是10bit,也就是说能够读取1024(2^10 = 1024)个状态。
在Arduino的每一个模拟输入管脚上,电压的变化范畴是从0V到5V,因此Arduino能够感知到的最小电压变化是4.8毫伏(5/1024 = 4.8mV)。
代码方式:
/* 项目名称:串口读取模拟值
* 项目日期:2022.02.18
* 项目作者:MRX
*/
int AR = 0;
void setup() {
pinMode(A0,INPUT);
Serial.begin(9600);
}
void loop() {
AR = analogRead(A0);
Serial.println(AR);
delay(1000);
}
练习二:编程实现电位器调节LED灯的亮度
用电位器做输入,LED灯做输出。
电路接线:
图形化方式:
Arduino的模拟输入量是0-1023,而模拟输出却是0-255。所以下面的程序通过映射的方式将模拟输入量和输出量进行了转换。
代码方式:
/* 项目名称:串口读取模拟值
* 项目日期:2022.02.18
* 项目作者:MRX
*/
int AR = 0;
int LEDpin = 3;
void setup() {
pinMode(A0,INPUT);
pinMode(LEDpin,OUTPUT);
}
void loop() {
AR = map(analogRead(A0), 0, 1023, 0, 255);
analogWrite(LEDpin,AR);
}
全部0条评论
快来发表一下你的评论吧 !