基于ATMEGA328P用3个开关控制3个灯泡,灯泡只需要亮3秒,然后就关闭,再用一个总开关控制所有灯泡
时间: 2023-05-21 17:04:46 浏览: 59
可以考虑使用以下代码实现:
```
const int ledPin1 = 2; // 第一个灯泡引脚
const int ledPin2 = 3; // 第二个灯泡引脚
const int ledPin3 = 4; // 第三个灯泡引脚
const int switchPin1 = 5; // 第一个开关引脚
const int switchPin2 = 6; // 第二个开关引脚
const int switchPin3 = 7; // 第三个开关引脚
const int mainSwitchPin = 8; // 总开关引脚
void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(switchPin1, INPUT);
pinMode(switchPin2, INPUT);
pinMode(switchPin3, INPUT);
pinMode(mainSwitchPin, INPUT);
}
void loop() {
if (digitalRead(mainSwitchPin) == HIGH) { // 总开关打开才能控制灯泡
if (digitalRead(switchPin1) == HIGH) { // 第一个开关打开
digitalWrite(ledPin1, HIGH); // 第一个灯泡亮起来
delay(3000); // 亮三秒
digitalWrite(ledPin1, LOW); // 关闭灯泡
}
if (digitalRead(switchPin2) == HIGH) { // 第二个开关打开
digitalWrite(ledPin2, HIGH); // 第二个灯泡亮起来
delay(3000); // 亮三秒
digitalWrite(ledPin2, LOW); // 关闭灯泡
}
if (digitalRead(switchPin3) == HIGH) { // 第三个开关打开
digitalWrite(ledPin3, HIGH); // 第三个灯泡亮起来
delay(3000); // 亮三秒
digitalWrite(ledPin3, LOW); // 关闭灯泡
}
}
}
```