#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
Повідомлень: 874

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

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

Неактивний

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

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

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
Повідомлень: 1,025

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

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму