Кнопка - ArduBlock

При нажати на кнопку pin 2, постоянно отправляется сообщение 111 в монитор порта.
При отпускании кнопки pin 2, постоянно отправляется сообщение 222 в монитор порта.

void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT_PULLUP);

}

void loop() {
    if (digitalRead(2) == 0) {
      Serial.println("111");
      delay(300);
    } else {
      Serial.println("222");
      delay(300);
    }

} 

Открыть пример: Online ArduBlock



При нажати на кнопку pin 2, отправляется 1 раз сообщение 111 в монитор порта.
При отпускании кнопки pin 2, отправляется 1 раз сообщение 222 в монитор порта.

  int bt2 = 0;
  int bn2 = 0;
  int bc2 = 1;

void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT_PULLUP);
}

void loop() {
         if (digitalRead(2) == 0 & bt2 == 0) {
             bt2 = 1;
             Serial.println("111");
             delay(300);
            }
         if (digitalRead(2) == 1 & bt2 == 1) {
             bt2 = 0;
             Serial.println("222");
             delay(300);
            }
} 

Открыть пример: Online ArduBlock



При 1 плике на кнопку pin 2, отправляется 1 раз сообщение 111 в монитор порта.
При 2 плике на кнопку pin 2, отправляется 1 раз сообщение 222 в монитор порта.

  int bt2 = 0;
  int bn2 = 0;
  int bc2 = 1;

void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT_PULLUP);
}

void loop() {
     if (digitalRead(2) == 0 & bn2 == 0) {
           bc2 = bc2 * -1;
         if (bc2 == 1) {
           Serial.println("222");
           delay(300);
              }
         if (bc2 == -1) {
           Serial.println("111");
           delay(300);
               }
           delay(150);
           bn2 = 1;
         }
         if (digitalRead(2) == 1 & bn2 == 1) {
           bn2 = 0;
      }
} 

Открыть пример: Online ArduBlock



Видеоурок:


11 430 просмотров