Ви не увійшли.
Доброго времени суток!Когда писал программу для подсчета нажатий и функцией их убавления,столкнулся с проблемой не убравшегося нуля.Получается при обратном отсчете 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)
Неактивний