Проблема с созданием бегущей строки на LCD

Ard321
Offline
Зарегистрирован: 21.01.2020

Всем привет, суть такова пытаюсь создать бегущую строку на LCD, задача при нажатии на кнопку 1 бегает один текст при повторном нажатии на неё ничего не выводится на дисплей, кнопка 2 выводит другой текст и работает аналогично первой.

#define PIN_BUTTON 7

bool button_state = false;
int buttonPin = 7;
#include <LiquidCrystal.h>;

LiquidCrystal lcd(12, 11, 5,  4,  3,  2);
 
void setup() {

pinMode(7,INPUT_PULLUP);
lcd.begin(16, 2);
// Выводим сообщение на дисплей.

   pinMode(PIN_BUTTON, INPUT_PULLUP);  
}


bool flag = false;

void loop() {

if( digitalRead(PIN_BUTTON) == LOW && !button_state ){button_state = true;}
if( digitalRead(PIN_BUTTON) == HIGH && button_state ){
flag=!flag;
lcd.clear();
button_state = false;
}

if (flag==true)
{

for (int i = 0; i < 20; i++)
{
if( digitalRead(PIN_BUTTON) == LOW && !button_state ){button_state = true;}
if( digitalRead(PIN_BUTTON) == HIGH && button_state )
{
flag=!flag;
lcd.clear();
button_state = false;
break;
}

lcd.setCursor(i, 1);
lcd.clear();
lcd.print("HELLO World!");
delay(200);
}
}
}

Ard321
Offline
Зарегистрирован: 21.01.2020

Хотелось бы узнать в чем проблема

Ard321
Offline
Зарегистрирован: 21.01.2020

Сейчас при нажатии на кнопку просто статический текст 

nik182
Offline
Зарегистрирован: 04.05.2015

После лсд клир курсор всегда в нулевой позиции, куда бы вы его не гнали до.

b707
Offline
Зарегистрирован: 26.05.2017

строки 44 и 45 поменяйте местами... для начала

-NMi-
Offline
Зарегистрирован: 20.08.2018

Ухтыйоптэль, пратеус. Дай-ка файлик проекта сюдой.