0504 knopka: различия между версиями

Материал из УМКИwiki
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
 
Строка 1: Строка 1:
<syntaxhighlight lang="C++">
<syntaxhighlight lang="C++">
  //////////////////////////////////////////////
  //////////////////////////////////////////////
  //    2019.07.17 woronin,  umkiedu@gmail.com
  //    2023.11.17 woronin,  umkiedu@gmail.com
  //    работа с кнопкой и переменной  различие между  INPUT_PULLUP,  и output
  //    работа с кнопкой и переменной  различие между  INPUT_PULLUP,  и output
  //    Robot UMKI controller  K6_3
  //    Robot UMKI controller  K6_3
  //    делаем чтобы диод зажигался по первому нажатию, и гас по второму
  //    делаем чтобы диод зажигался по первому нажатию, и гас по второму
  //////////////////////////////////////////////
  //////////////////////////////////////////////
  #define knopkaPIN 6
  int knopkaPIN = 6;
  #define blinkPIN A0
  int blinkPIN = A0;
  int blink_diod  ; // задаем статическую целочисленную  состояния диода 0- погашен, 1 - горит
  int blink_diod  ; // задаем статическую целочисленную  состояния диода 0- погашен, 1 - горит
  void setup()
  void setup()

Текущая версия от 20:02, 14 ноября 2023

 //////////////////////////////////////////////
 //     2023.11.17 woronin,  umkiedu@gmail.com
 //     работа с кнопкой и переменной  различие между  INPUT_PULLUP,   и output
 //     Robot UMKI controller  K6_3
 //     делаем чтобы диод зажигался по первому нажатию, и гас по второму
 //////////////////////////////////////////////
 int knopkaPIN = 6;
 int blinkPIN = A0;
 int blink_diod  ; // задаем статическую целочисленную  состояния диода 0- погашен, 1 - горит
 void setup()
 {
  pinMode(knopkaPIN,   INPUT_PULLUP);
  pinMode(blinkPIN, OUTPUT);
  Serial.begin(9600);
 }
 void loop()
 {
  int statusPIN = 1 ; // задаем целочисленную переменную  для памяти 0 - нажат, 1 - отпущена
  statusPIN = digitalRead(knopkaPIN); // считываем состояние кнопки: 0 - нажата, 1- отпущена
  Serial.print(" statusPIN=");
  Serial.print(statusPIN);
  if (statusPIN == 0) // если кнопка нажата
  {
    if (blink_diod == 1) // если диод горит
    {
      digitalWrite(blinkPIN, LOW); // гасим светодиод
      blink_diod = 0;
      delay(100);
    }
    else // if (blink_diod == 0) // если диод погашен
    {
      digitalWrite(blinkPIN, HIGH); // включаем светодиод
      blink_diod = 1;
      delay(100);
    }
  }
  Serial.print(" blink_diod=");
  Serial.println (blink_diod);
  delay(100);
 }