光敏阵列
该程序将光敏电阻的读数转换为相应数量的点亮 LED,从而创建一个简单的亮度指示器。
所需元件
在这个项目中,我们需要以下元件。
购买整套套件会更方便,以下是链接:
名称 |
套件所含项目 |
链接 |
|---|---|---|
Elite Explorer 套件 |
300+ |
您也可以从下面的链接单独购买。
元件介绍 |
购买链接 |
|---|---|
- |
|
接线
原理图
代码
备注
您可以直接打开路径
elite-explorer-kit-main\fun_project\04_light_sensitive_array下的04_light_sensitive_array.ino文件。或者将这段代码复制到 Arduino IDE 中。
工作原理
以下是代码的逐步说明:
常量和变量定义:
NbrLEDs:定义了 8 个 LED。ledPins[]:LED 连接到 Arduino 的引脚 5 到 12。photocellPin:光敏电阻连接到 Arduino 的 A0 引脚。sensorValue:该变量存储从光敏电阻读取的值。ledLevel:该变量存储根据 sensorValue 转换后的 LED 数量。setup():将引脚 5 到 12 配置为输出,以驱动 LED。
loop():从 A0 引脚读取光敏电阻的模拟值,通常范围是 0 到 1023。 使用 map 函数将光敏电阻的值从 300-1023 范围映射到 0-8 范围。 这意味着如果光敏电阻的读数为 300,则没有 LED 点亮; 如果读数为 1023 或更高,则所有 8 个 LED 都将点亮。
随后的 for 循环检查每个 LED。如果其索引小于 ledLevel, 则 LED 点亮;否则,它将熄灭。