#1 Re: Програмування Arduino » Как на lcd дисплее убрать лишнее значение? » 2020-04-26 10:13:01

vvr пише:

lcd.print(count);
lcd.print(" ");



Спасибо,заработало.

Все оказывается так просто.

#2 Програмування Arduino » Как на lcd дисплее убрать лишнее значение? » 2020-04-25 22:44:44

Andrev
відповідей: 2

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

#3 Re: Програмування Arduino » Скетч для подсчета нажатий на кнопку » 2020-04-21 17:06:23

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

#4 Re: Програмування Arduino » Скетч для подсчета нажатий на кнопку » 2020-04-21 16:52:37

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

#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 Програмування Arduino » Скетч для подсчета нажатий на кнопку » 2020-04-21 15:30:17

Andrev
відповідей: 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);
}

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