#1 2020-04-21 15:30:17

Andrev
Участник
Зарегистрирован: 2020-04-21
Сообщений: 5

Скетч для подсчета нажатий на кнопку

Доброго времени суток!

В плане программи́рование я новичек,поэтому никак не могу добавить в счетчик еще 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);
}

#2 2020-04-21 15:45:43

vvr
Участник
Зарегистрирован: 2015-04-12
Сообщений: 672

Re: Скетч для подсчета нажатий на кнопку

раз вы только занялись программированием, то сначала гуглите темы кнопка, дребезг контактов.
и учитесь правильно работать с кнопкой.
потом учитесь как по нажатию кнопки изменять значенияы переменной.
для визуализации используете Serial.
потом добавляете другие кнопки, дисплей.

#3 2020-04-21 16:38:27

renoshnik
Участник
Зарегистрирован: 2017-04-03
Сообщений: 771

Re: Скетч для подсчета нажатий на кнопку

А где код программы (скетча) ?

#4 2020-04-21 16:52:37

Andrev
Участник
Зарегистрирован: 2020-04-21
Сообщений: 5

Re: Скетч для подсчета нажатий на кнопку

Код написал ниже вопроса.
Скидываю еще раз!

#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);
}

#5 2020-04-21 16:59:57

renoshnik
Участник
Зарегистрирован: 2017-04-03
Сообщений: 771

Re: Скетч для подсчета нажатий на кнопку

Пока код правильно не вставите в сообщение его не видно...

#6 2020-04-21 17:06:23

Andrev
Участник
Зарегистрирован: 2020-04-21
Сообщений: 5

Re: Скетч для подсчета нажатий на кнопку

#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);
}

Быстрое сообщение

Введите сообщение и нажмите Отправить

Подвал раздела