Ви не увійшли.
Сторінки 1
lcd.print(count);
lcd.print(" ");
Спасибо,заработало.
Все оказывается так просто.
Доброго времени суток!Когда писал программу для подсчета нажатий и функцией их убавления,столкнулся с проблемой не убравшегося нуля.Получается при обратном отсчете 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);// ждем чтобы дребезг прошел
}
}
#include <LiquidCrystal_I2C.h>
// include the library code:
#include <Wire.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal_I2C lcd(0x27,16,2);
int buttonPin = 2;
int counter=0;
const int button1Pin = 3; //кнопка (-)
bool button_old = 1; // предыдущее значение button0
bool button1_old = 1; // предыдущее значение button1
int prevValue=0;
void setup() {
pinMode(button1Pin, INPUT_PULLUP);
pinMode(buttonPin, INPUT_PULLUP);
lcd.begin(0x27,16,2);
lcd.init(); // Инициализация дисплея
lcd.backlight(); // Подключение подсветки
lcd.setCursor(0,0); // Установка курсора в начало первой строки
// Набор текста на первой строке
lcd.setCursor(0,1); // Установка курсора в начало второй строки
lcd.print("PROTOTYPE-1"); // Набор текста на второй строке
}
void loop() {
lcd.setCursor(0, 0);
boolean bs = digitalRead (buttonPin);
if(bs == HIGH && prevValue==0) {
prevValue=1;
counter++;
}
if(bs == LOW) {
prevValue=0;
}
lcd.print(counter);
lcd.setCursor(5, 0);
lcd.print(bs);
lcd.setCursor(10, 0);
lcd.print(prevValue);
}
Код написал ниже вопроса.
Скидываю еще раз!
#include <LiquidCrystal_I2C.h>
// include the library code:
#include <Wire.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal_I2C lcd(0x27,16,2);
int buttonPin = 2;
int counter=0;
const int button1Pin = 3; //кнопка (-)
bool button_old = 1; // предыдущее значение button0
bool button1_old = 1; // предыдущее значение button1
int prevValue=0;
void setup() {
pinMode(button1Pin, INPUT_PULLUP);
pinMode(buttonPin, INPUT_PULLUP);
lcd.begin(0x27,16,2);
lcd.init(); // Инициализация дисплея
lcd.backlight(); // Подключение подсветки
lcd.setCursor(0,0); // Установка курсора в начало первой строки
// Набор текста на первой строке
lcd.setCursor(0,1); // Установка курсора в начало второй строки
lcd.print("PROTOTYPE-1"); // Набор текста на второй строке
}
void loop() {
lcd.setCursor(0, 0);
boolean bs = digitalRead (buttonPin);
if(bs == HIGH && prevValue==0) {
prevValue=1;
counter++;
}
if(bs == LOW) {
prevValue=0;
}
lcd.print(counter);
lcd.setCursor(5, 0);
lcd.print(bs);
lcd.setCursor(10, 0);
lcd.print(prevValue);
}
Доброго времени суток!
В плане программи́рование я новичек,поэтому никак не могу добавить в счетчик еще 2 кнопки,(для убавления на 1 единицу,и полный сброс)Прошу помощи
#include <LiquidCrystal_I2C.h>
// include the library code:
#include <Wire.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal_I2C lcd(0x27,16,2);
int buttonPin = 2;
int counter=0;
const int button1Pin = 3; //кнопка (-)
bool button_old = 1; // предыдущее значение button0
bool button1_old = 1; // предыдущее значение button1
int prevValue=0;
void setup() {
pinMode(button1Pin, INPUT_PULLUP);
pinMode(buttonPin, INPUT_PULLUP);
lcd.begin(0x27,16,2);
lcd.init(); // Инициализация дисплея
lcd.backlight(); // Подключение подсветки
lcd.setCursor(0,0); // Установка курсора в начало первой строки
// Набор текста на первой строке
lcd.setCursor(0,1); // Установка курсора в начало второй строки
lcd.print("PROTOTYPE-1"); // Набор текста на второй строке
}
void loop() {
lcd.setCursor(0, 0);
boolean bs = digitalRead (buttonPin);
if(bs == HIGH && prevValue==0) {
prevValue=1;
counter++;
}
if(bs == LOW) {
prevValue=0;
}
lcd.print(counter);
lcd.setCursor(5, 0);
lcd.print(bs);
lcd.setCursor(10, 0);
lcd.print(prevValue);
}
Сторінки 1