实验四 基于Arduino开发板的电位器控制RGB灯颜色变化实验

本文介绍了基于Arduino开发板的实验,通过电位器读取模拟输入并控制RGBLED灯颜色变化,学习了模拟输入处理和颜色映射。实验涉及电路设计、程序编写和解决常见问题的过程。
摘要由CSDN通过智能技术生成

目录

4.1 实验题目

4.2 实验目的

4.3 实验原理

4.4 实验步骤

4.5 实验仪器

4.6 电路设计

4.7 程序设计

4.8 实验总结


​B站搜索:Wm锰


4.1 实验题目

  • 本次实验题目为:基于Arduino开发板的电位器控制RGB灯颜色变化实验

4.2 实验目的

  • 通过基于Arduino开发板的电位器控制RGB灯颜色变化实验,学习如何使用电位器读取模拟输入,并通过程序控制RGB LED灯的颜色。

4.3 实验原理

  • 电位器产生的模拟信号通过Arduino的模拟输入引脚读取,然后通过程序将该值映射到RGB LED的颜色,实现电位器控制RGB灯颜色的变化。

4.4 实验步骤

  1. 将电位器的三个引脚连接到5V电源、GND和Arduino的模拟输入引脚。
  2. 将RGB LED通过3个电阻连接到Arduino的数字输出引脚。
  3. 使用Arduino IDE编写程序,读取电位器的值,并将其映射到RGB LED的颜色。
  4. 上传程序到Arduino开发板。
  5. 观察RGB LED的颜色随电位器旋钮的旋转而变化。

4.5 实验仪器

完成本次实验所需的元器件如表 4所示。

表 4 器材清单

元器件

数量

备注

Arduino开发板

1个

/

串口线

1条

/

面包板

1个

/

按钮

1个

/

250 kΩ 电位器

1个

/

1 kΩ 电阻

6个

/

LED RGB

1个

/

LED

1个

/

杜邦线

若干

/


4.6 电路设计

如图 4所示,为本次实验的电路设计图。

图 4 继电器RGB电路图


4.7 程序设计

以下是结合本次实验的电路设计图编写的实验程序,可以直接复制到Arduino单片机中进行烧录,烧录完成后即可实现本次实验要求达到的效果。

int i;//i循环
int led=6;//led接口6
int potpin=0;//电位器接口0
int val=0;//暂存变量
int inpin=7;//接口7
int val3;//暂存变量
int R=11;//R接口11
int G=10;//G接口10
int B=9;//B接口9
void setup()
{
pinMode(led,OUTPUT);//output led
Serial.begin(9600);//波特率9600
pinMode(inpin,INPUT);//按键接口为输入接口
pinMode(R,OUTPUT);//output R
pinMode(G,OUTPUT);//output G
pinMode(B,OUTPUT);//output B
}
void loop()
{
val3=digitalRead(inpin);//赋值
//检测按键是否按下
if(val3==LOW)
{
digitalWrite(led,LOW);
//循环语句,控制PWM亮度增加
for(i=0;i<=255;i++)
{
analogWrite(led,i);
delay(5);//持续5ms
}
//循环语句,控制PWM亮度减小
for(i=255;i>=0;i--)
{
analogWrite(led,i);
delay(5);//持续5ms
}
delay(500);//延迟500ms
val=analogRead(potpin);//赋值
Serial.println(val);//显示
analogWrite(R,val);//打开RGB并设置亮度
analogWrite(G,val);//打开RGB并设置亮度
analogWrite(B,val);//打开RGB并设置亮度
if(val>=0&&val<300)
{
analogWrite(R,255);
analogWrite(B,0);
analogWrite(G,0);
}
else if(val>=300&&val<700)
{
analogWrite(R,0);
analogWrite(B,0);
analogWrite(G,255);
}
else
{
analogWrite(R,0);
analogWrite(B,255);
analogWrite(G,0);
}
delay(10);//延迟10ms
}
else
{
digitalWrite(led,HIGH);
}
}

4.8 实验总结

  • 随着电位器旋钮的旋转,RGB LED的颜色逐渐改变。旋钮旋转到不同位置时,红、绿、蓝三个通道的亮度相应地调整,从而产生不同颜色的混合效果。
  • 通过这个实验,我学到了如何使用电位器读取模拟输入,并通过程序映射到RGB LED的颜色。实验中,我遇到了一些问题,例如电路连接错误或映射函数的调整,但通过仔细检查和学习相关知识,我成功解决了这些问题。这个实验为我理解模拟输入和PWM输出在控制多通道LED颜色中的应用提供了实际经验。
  • 22
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值