光敏阵列

该程序将光敏电阻的读数转换为相应数量的点亮 LED,从而创建一个简单的亮度指示器。

所需元件

在这个项目中,我们需要以下元件。

购买整套套件会更方便,以下是链接:

名称

套件所含项目

链接

Elite Explorer 套件

300+

Elite Explorer Kit

您也可以从下面的链接单独购买。

元件介绍

购买链接

Arduino Uno R4 WiFi

-

面包板

BUY

杜邦线

BUY

电阻

BUY

LED

BUY

光敏电阻

BUY

接线

../_images/04_light_sensitive_array_bb.png

原理图

../_images/04_light_sensitive_array_schematic.png

代码

备注

  • 您可以直接打开路径 elite-explorer-kit-main\fun_project\04_light_sensitive_array 下的 04_light_sensitive_array.ino 文件。

  • 或者将这段代码复制到 Arduino IDE 中。

工作原理

以下是代码的逐步说明:

  1. 常量和变量定义:

    NbrLEDs:定义了 8 个 LED。 ledPins[]:LED 连接到 Arduino 的引脚 5 到 12。 photocellPin:光敏电阻连接到 Arduino 的 A0 引脚。 sensorValue:该变量存储从光敏电阻读取的值。 ledLevel:该变量存储根据 sensorValue 转换后的 LED 数量。

  2. setup()

    将引脚 5 到 12 配置为输出,以驱动 LED。

  3. loop()

    从 A0 引脚读取光敏电阻的模拟值,通常范围是 0 到 1023。 使用 map 函数将光敏电阻的值从 300-1023 范围映射到 0-8 范围。 这意味着如果光敏电阻的读数为 300,则没有 LED 点亮; 如果读数为 1023 或更高,则所有 8 个 LED 都将点亮。

    随后的 for 循环检查每个 LED。如果其索引小于 ledLevel, 则 LED 点亮;否则,它将熄灭。