酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

arduino光敏控制流水灯1 2 3开关1个按钮控制亮起

要实现这个功能,你需要以下组件: 1. Arduino开发板(如Arduino UNO) 2. 光敏模块 3. 3个LED灯 4. 1个按钮开关 5. 杜邦线若干 接线方法: 1. 将光敏模块的VCC接到Arduino的5V,GND接到GND,AO接到A0。 2. 将3个LED灯分别连接到Arduino的数字引脚(如D2、D3、D4)。 3. 将按钮开关的一端接到Arduino的任意数字引脚(如D5),另一端接到GND。 接下来是Arduino代码: ```cpp const int lightSensorPin = A0; // 光敏模块连接的模拟输入引脚 const int ledPins[] = {2, 3, 4}; // LED灯连接的数字输出引脚 const int buttonPin = 5; // 按钮开关连接的数字输入引脚 int buttonState = HIGH; // 按钮状态,默认为未按下 int lastButtonState = HIGH; // 上一次按钮状态 int ledState = LOW; // LED灯状态,默认为关闭 int ledIndex = 0; // 当前亮起的LED灯索引 void setup() { for (int i = 0; i < 3; i++) { pinMode(ledPins[i], OUTPUT); // 设置LED灯引脚为输出模式 } pinMode(buttonPin, INPUT_PULLUP); // 设置按钮引脚为输入模式,并启用内部上拉电阻 } void loop() { int lightValue = analogRead(lightSensorPin); // 读取光敏模块的值 if (lightValue < 500) { // 如果光线较暗,则切换LED灯状态 ledState = !ledState; digitalWrite(ledPins[ledIndex], ledState); } buttonState = digitalRead(buttonPin); // 读取按钮状态 if (buttonState != lastButtonState) { // 如果按钮状态发生变化 if (buttonState == LOW) { // 如果按钮被按下 ledIndex = (ledIndex + 1) % 3; // 切换到下一个LED灯 digitalWrite(ledPins[ledIndex], ledState); // 更新LED灯状态 } lastButtonState = buttonState; // 更新上一次按钮状态 } } ``` 将这段代码上传到Arduino开发板,即可实现通过一个按钮控制亮起1、2、3个LED灯的功能。当光线较暗时,LED灯会自动切换状态。 [2024-06-20 19:19:38 | AI写代码神器 | 620点数解答]

相关提问