درود، من میخوام کلید فشاری رو وقتی میزنم led1 رو به اصطلاح toggle کنه و همزمان led2 رو هم روشن کنه اما در زمانی که براش تعیین کردم led2 خاموش بشه:
این رو نوشتم اما هرکاریش میکنم LED2 فقط 1 رو پرینت میکنه...
کسی راه*کاری داره؟
int pin_switch = 2;
int pin_LED = 3;
int pin_LED2 = 4;
boolean oldSwitchState = LOW;
boolean newSwitchState = LOW;
boolean LEDstatus = LOW;
boolean LED2status = LOW;
unsigned long previousMillis = 0;
const long period = 3000;
void setup()
{
Serial.begin(9600);
Serial.print("Sketch: "); Serial.println(__FILE__);
Serial.print("Uploaded: "); Serial.println(__DATE__);
Serial.println(" ");
pinMode(pin_LED, OUTPUT);
pinMode(pin_LED2, OUTPUT);
digitalWrite(pin_LED,LOW);
pinMode(pin_switch, INPUT);
}
void loop()
{
newSwitchState = digitalRead(pin_switch);
if ( newSwitchState != oldSwitchState ){
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= period) {
digitalWrite(pin_LED2, LOW);
LED2status = LOW;
}
else if ( LED2status == LOW ){
digitalWrite(pin_LED2, HIGH);
LED2status = HIGH;
}
previousMillis = currentMillis;
if ( newSwitchState == HIGH ){
if ( LEDstatus == LOW ){
digitalWrite(pin_LED, HIGH);
LEDstatus = HIGH;
}
else{
digitalWrite(pin_LED, LOW);
LEDstatus = LOW;
}
}
oldSwitchState = newSwitchState;
Serial.print("LED 1: ");
Serial.println(LEDstatus);
Serial.print("LED 2: ");
Serial.println(LED2status);
}
}
این رو نوشتم اما هرکاریش میکنم LED2 فقط 1 رو پرینت میکنه...
کسی راه*کاری داره؟
دیدگاه