版权声明:欢迎任何形式的转载,但请务必注明出处,共创知识服务 https://blog.csdn.net/ASUKA2020/article/details/83957792
Arduino LED 灯显示电位器位置
/*
利用 A0 输入的模拟量。控制 LED 点亮状态
*/
// 模拟输入引脚定义
const int analogPin = A0;
// 引脚定义 LED 个数
const int LEDCount = 8;
// 对应的 LED 引脚
int LEDPins[] = {
0,
1,
2,
3,
4,
5,
6,
7,
};
void setup() {
// 循环设置,把对应的 LED 都设置成输出
for (int thisLED = 0; thisLED < LEDCount; thisLED++) {
pinMode(LEDPins[thisLED], OUTPUT);
}
}
void loop() {
// 读取电位器的值
int sensorReading = analogRead(analogPin);
// 把对应的值转化成 0 - 最大 LED 个数,这里设置的是 8
int LEDLevel = map(sensorReading, 0, 1023, 0, LEDCount);
// 循环对比输出到 LED
for (int thisLED = 0; thisLED < LEDCount; thisLED++) {
if (thisLED < LEDLevel) {
digitalWrite(LEDPins[thisLED], HIGH);
}else{
digitalWrite(LEDPins[thisLED], LOW);
}
}
}