电位器调光

课前学习

单词 含义
rotation 旋转,转动
sensor 传感器

电位器这个名词对我们来说非常陌生,但是在我们生活中非常的常见,对我们的生活也有着很大的影响。也许你并不知道,在很多电器设备中都有应用,那我们来看一下哪些电器设备会用到电位器。
调光台灯

我们所使用的调光台灯的电路中就有应用。今天这节课我们就通过读取电位器输入的电压值来控制LED灯的亮度。

一.电位器

电位器模块

电位器又叫滑动变阻器或者可变电阻器。具有三个引出端,阻值可按某种规律调节电阻的电阻元件。由于它在电路中的作用是获得与输入电压成一定关系的输出电压,因此称之为电位器。
电位器原理图

通过旋转旋钮改变2号脚位置,从而改变2号脚到两端的阻值。实验中将1脚和3脚分别接到开发板的5V的GND,再通过模拟输入引脚A0来读取电位器2号脚分得的电压,其范围在0V和5V之间。

二.实验步骤

1.实验器材

名称 实物 数量
UNO主控板
1
面包板
1
电位器
1
LED
1
导线
若干

2.绘制连线图

三.程序设计

1.函数介绍

米思齐模块:模拟输入

analogRead()
描述:读取指定模拟引脚的值。
函数原型:analogRead(pin)
参数:模拟输入引脚。
返回值:0到1024之间的整数。


米思齐模块:映射

map()
描述:将数据从一个范围映射到另一个范围。
函数原型:map(value, fromLow, fromHigh, toLow, toHigh)
参数:
value: 要映射的数据
fromLow: 当前范围的下限值。
formHigh: 当前范围的上限值。
toLow: 目标范围的下限值。
toHigh: 目标范围的上限值。
返回值:重新映射后的数据。

2.代码部分

 /*
    AnalogRead
    通过电位器改变LED灯亮度
 */
 
 int ledPin = 10;
 
 int readValue = 0; //保存读到的模拟值
 int ledValue = 0;  //保存LED灯占空比
 
 void setup()
 {
   pinMode(ledPin, OUTPUT);     //数字口要选择带~号的具有pwm功能的输出口
 }
 
 void loop()
 {
   readValue = analogRead(A0);     //读取A0模拟口的数值(0-5V 对应 0-1204取值)
   ledValue = map(readValue, 0, 1024, 0, 255); //将0到1024之间的数据映射成0到255之间的数据
   analogWrite(ledPin, ledValue);   //PWM最大取值255  
 }   

你可能感兴趣的:(电位器调光)