Константин Голинский
Ученик
(202)
7 лет назад
int switchPin1 = 11;
int ledPin1 = 12;
int switchPin2 = 8;
int ledPin2 = 9;
boolean lastButton1 = LOW;
boolean ledOn1 = false;
boolean currentButton1 = LOW;
boolean lastButton2 = LOW;
boolean ledOn2 = false;
boolean currentButton2 = LOW;
//----------------------------------------
void setup()
{
pinMode(switchPin1, INPUT);
pinMode(ledPin1, OUTPUT);
pinMode(switchPin2, INPUT);
pinMode(ledPin2, OUTPUT);
}
//----------------------------------------
boolean debounce(boolean last, int switchP)
{
boolean current = digitalRead(switchP);
if (last != current)
{
delay(5);
current = digitalRead(switchP);
}
return current;
}
//--------------------------------------------
void loop()
{
currentButton1 = debounce(lastButton1, switchPin1);
currentButton2 = debounce(lastButton2, switchPin2);
if (lastButton1 == LOW && currentButton1 == HIGH) ledOn1 = !ledOn1;
if (lastButton2 == LOW && currentButton2 == HIGH) ledOn2 = !ledOn2;
lastButton1 = currentButton1;
lastButton2 = currentButton2;
digitalWrite(ledPin1, ledOn1);
digitalWrite(ledPin2, ledOn2);
}
Assafriend
Мудрец
(19025)
7 лет назад
это какой язык допускает такое?
digitalWrite(ledPin, ledOn), (ledPin1, ledOn);
разнесите на 2 вызова -
digitalWrite(ledPin, ledOn);
digitalWrite(ledPin1, ledOn);
*Профи (784)
7 лет назад
да я разносил, и так и сяк. дело то не в этом оказалось. не включает вторая кнопка светодиод и все тут (
int switchPin = 11;
int ledPin = 12;
int switchPin1 = 8;
int ledPin1 = 9;
boolean lastButton = LOW;
boolean ledOn = false;
boolean currentButton = LOW;
void setup()
{
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(switchPin1, INPUT);
pinMode(ledPin1, OUTPUT);
}
boolean debounce(boolean last)
{
boolean current = digitalRead(switchPin), (switchPin1);
if (last != current)
{
delay(5);
current = digitalRead(switchPin), (switchPin1);
}
return current;
}
void loop()
{
currentButton = debounce(lastButton);
if (lastButton == LOW && currentButton == HIGH)
{
ledOn = !ledOn;
}
lastButton = currentButton;
digitalWrite(ledPin, ledOn), (ledPin1, ledOn);
}