Ви не увійшли.
Доброго времени суток!Когда писал программу для подсчета нажатий и функцией их убавления,столкнулся с проблемой не убравшегося нуля.Получается при обратном отсчете 12;11;10;09;08;07 и т.д.
Помогите пожалуйста с этой проблемой
Код ниже
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); 
const int buttonPin = 2; //  кнопка (+)
const int button1Pin = 3; //кнопка (-)
bool button_old = 1; // предыдущее значение button0
bool button1_old = 1; // предыдущее значение button1
int count = 0;         // переменная для подсчета нажатий на кнопку
void setup() {
  lcd.init();                     
  lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("Prototype-3");
  lcd.setCursor(0,1);
  lcd.print("bale: 0");
 
  pinMode(buttonPin, INPUT_PULLUP);
  pinMode(button1Pin, INPUT_PULLUP);
}
void loop() {
  bool button = digitalRead(buttonPin);
  if (!button && button_old) {
    button_old = 0;
    delay(10);// ждем чтобы дребезг прошел
    count = count + 1;
    if (count >= 9999) count = 00;
  lcd.setCursor(6,1);
  lcd.print(count);
  }
  if (button && !button_old) {
    button_old = 1;
    delay(50);// ждем чтобы дребезг прошел
  }
  bool button1 = digitalRead(button1Pin);
  if (!button1 && button1_old) {
    button1_old = 0;
    delay(10);// ждем чтобы дребезг прошел
    count = count - 1;
    if (count < 0) count = 00;
   lcd.setCursor(6,1);
  lcd.print(count);
  }
  if (button1 && !button1_old) {
    button1_old = 1;
    delay(50);// ждем чтобы дребезг прошел
  }
}Остання редакція Andrev (2020-04-25 22:46:05)
Неактивний