arduino 旋钮电位器控制LED

旋钮电位器:

在Arduino中,旋钮电位器(通常也被称为旋转电位器或可调电阻)是一个重要的电子元件,用于提供可变的电阻或电压输入。电位器具有三个引出端,其阻值可按某种变化规律进行调节。它通常由电阻体和可移动的电刷组成,通过手动调节转轴或滑柄,改变动触点在电阻体上的位置,从而改变电阻值,实现电压与电流大小的调节。

在Arduino电路中,旋钮电位器的两个固定端通常分别连接到电源的正负极(例如5V和GND),而中间的可变脚则连接到Arduino的模拟输入引脚(如A0)。这样,通过旋转电位器的旋钮,就可以改变中间脚相对于两端的电阻值,从而在模拟输入引脚上产生一个可变的电压信号。Arduino可以读取这个模拟信号,并将其转换为0到1023之间的整数(对于10位ADC来说),这样你就可以在程序中根据电位器的位置来执行不同的操作。

项目要求


①0 关闭所有的灯
②1~250 打开红灯 关闭另外两个灯
③255~500 打开黄灯 关闭另外两个灯
④510~1000 打开绿灯  关闭另外两个灯
⑤1023  打开所有的灯
⑥加上必要的串口打印

实际接线图

源代码:

const int analogPIN = A0;
int sensorValue;
int led_red = 4;
int led_yellow = 3;
int led_green = 2;
void setup() {
  pinMode(led_red, OUTPUT); //引入三个LED的引脚
  pinMode(led_green, OUTPUT);
  pinMode(led_yellow, OUTPUT);
  Serial.begin(9600);  //设置波特率为9600
}

void loop() {
  sensorValue = analogRead(analogPIN); //读取旋钮电位器的数据

  Serial.println(sensorValue);//打印旋钮电位器的数据
  //当sensorValue为0时,sensorValue到达最小值,执行clear_led函数,关闭所有灯
  if (sensorValue == 0)
  {
    clear_led();
  }

  //当sensorValue在1~250时,执行RED函数,点亮红灯,关闭另外两灯
  if (sensorValue > 1 && sensorValue < 250)
  {
    RED();
  }

  //当sensorValue在255~500时,执行YELLOW函数,点亮黄灯,关闭另外两个灯
  if (sensorValue > 255 && sensorValue < 500)
  {
    YELLOW();
  }

  //当sensorValue在510~1000时,执行GREEN函数,点亮绿灯,关闭另外两个灯
  if (sensorValue > 510 && sensorValue < 1000)
  {
    GREEN();
  }

  //当sensorValue为1023时,sensorValue到达最大值,执行HIGH_led函数,点亮全部灯
  if (sensorValue == 1023)
  {
    HIGH_led();
  }
}

void clear_led()
{
  digitalWrite(led_red, LOW);
  digitalWrite(led_green, LOW);
  digitalWrite(led_yellow, LOW);
}

void RED()
{
  digitalWrite(led_red, HIGH);
  digitalWrite(led_green, LOW);
  digitalWrite(led_yellow, LOW);
}

void YELLOW()
{
  digitalWrite(led_red, LOW);
  digitalWrite(led_green, LOW);
  digitalWrite(led_yellow, HIGH);
}

void GREEN()
{
  digitalWrite(led_red, LOW);
  digitalWrite(led_green, HIGH);
  digitalWrite(led_yellow, LOW);
}

void HIGH_led()
{
  digitalWrite(led_red, HIGH);
  digitalWrite(led_green, HIGH);
  digitalWrite(led_yellow, HIGH);
}

实验现象

旋钮电位器控制LED

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值