счетчик на LCD1602

Salavat
Offline
Зарегистрирован: 10.11.2016

Ребята помогите пожалуйста.Проблема со скетчем.Нужен счетчик: ардуино+LCD1602 +кнопка.При очередном нажатии кнопки на LCD, должна отображаться очередная цифра(количество нажатий).т.е 1 2 3 4 и тд. Простенький цикл подскажите кто знает. Я могу только покадрово прописать,ито не получается,опыта нету. Написал вот прогу. 

 

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
 
LiquidCrystal_I2C lcd(0x3F, 16, 2);
int ButPin = 12;               // Подключаем кнопку к выходу 
void setup()
{
  pinMode(ButPin,INPUT);
lcd.begin();
lcd.backlight();
lcd.print("Hello, world!");
}
void loop()
{
if(digitalRead(switchPin)==HIGH)
{
lcd.begin();
  lcd.backlight();
  lcd.print("1");
}
if(digitalRead(switchPin)==HIGH)
{
lcd.begin();
  lcd.backlight();
  lcd.print("2");
}
if(digitalRead(switchPin)==HIGH)
{
lcd.begin();
  lcd.backlight();
  lcd.print("3");
}
}

 

 

 

Salavat
Offline
Зарегистрирован: 10.11.2016

ПОПРАВКА-вобщем он должен считать количество нажатий на кнопку.

sadman41
Offline
Зарегистрирован: 19.10.2016

Переменную увеличивать на 1 умеете?

Salavat
Offline
Зарегистрирован: 10.11.2016

нет

sadman41
Offline
Зарегистрирован: 19.10.2016

Без этого в ардуине никак.

Надо учиться.

Только не начинайте песню "Сюда я и пришел учится, сам я <вставить название профессии> и у меня нет времени".

e-afen
Offline
Зарегистрирован: 04.10.2017
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
 
LiquidCrystal_I2C lcd(0x3F, 16, 2);
int ButPin = 12;               // Подключаем кнопку к выходу 
void setup()
{
  pinMode(ButPin,INPUT);
lcd.begin();
lcd.backlight();
lcd.print("Hello, world!");
}

int i;

void loop()
{
if(digitalRead(switchPin)==HIGH)
{
lcd.begin();
  lcd.backlight();
  lcd.print(i++);
}
}

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

"Я ..уею, дорогая редакция! "(с)

Чистейшей прелести, чистейший образец.

Причем оба и спрашивающий и отвечающий, если это, конечно, не троллинг.

Только я бы писал не ButPin, а ButtPin. Как аллюзия к "шилу-в-жопе".

sadman41
Offline
Зарегистрирован: 19.10.2016

Еще можно ButtPain.

Salavat
Offline
Зарегистрирован: 10.11.2016

спасибо. но при удерживании кнопки отсчет продолжается,а этого не должно быть.

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

Salavat пишет:

спасибо. но при удерживании кнопки отсчет продолжается,а этого не должно быть.

отпускай кнопку... отпускай!!!

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Студентов, которые решают тут свои лабы, причем и круглых дураков - которые спрашивают и, особенно, тех дебилов, что пробуют помочь, (безрезультатно, ессно) нужно банить сразу и жестко!

Нехрена плодить долб...бов, вместо специалистов!

Если хочешь учиться - то подумай, как избавиться от повторного срабатывания. Как "пометить", что это нажатие кнопки ты уже обработал?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Клапауций 112 пишет:

Salavat пишет:

спасибо. но при удерживании кнопки отсчет продолжается,а этого не должно быть.

отпускай кнопку... отпускай!!!

Выдыхай, Бобёр! (с)

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

sadman41 пишет:

Переменную увеличивать на 1 умеете?

Salavat пишет:

нет

И при этом

Зарегистрирован:10.11.2016

Нет, что-то в этой жизни мимо меня прошло :((((

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Похоже один будет Почетный программист (по четным дням) , а второй Понечетный программист (по нечетным дням).  Но тема зачетная.