смена режимов

alexdm181202
Offline
Зарегистрирован: 10.06.2019

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

[code]
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define button 2
int flag;
void setup()
{
  Serial.begin(9600);
  Wire.begin();
  lcd.init();
  lcd.backlight();
  pinMode(button, INPUT_PULLUP);
}
void loop() {
  int butn = !digitalRead(button);
  if (butn == 1) {
    if ( flag == 0) {
      flag = 1;
      lcd.setCursor(0, 0);
      lcd.print("I love you      ");
      lcd.setCursor(0, 1);
      lcd.print("I'm gonna fuck u");
    }
  }
  if (butn == 1) {
    if ( flag == 1) {
      flag = 2;
      lcd.setCursor(0, 0);
      lcd.print("You're awesome  ");
      lcd.setCursor(0, 1);
      lcd.print("I'm art         ");
    }
  }
  if (butn == 1) {
    if ( flag == 2) {
      flag = 3;
      lcd.setCursor(0, 0);
      lcd.print("Perfect person  ");
      lcd.setCursor(0, 1);
      lcd.print("You are brave   ");
    }
  }
  if (butn == 1) {
    if ( flag == 3) {
      flag = 4;
      lcd.setCursor(0, 0);
      lcd.print("I am Power      ");
      lcd.setCursor(0, 1);
      lcd.print("Nice to be me   ");
    }
  }
  if (butn == 1) {
    if ( flag == 4) {
      flag = 5;
      lcd.setCursor(0, 0);
      lcd.print("We are amazing  ");
      lcd.setCursor(0, 1);
      lcd.print("I am GOD        ");
    }
  }
  if (butn == 1) {
    if ( flag == 5) {
      flag = 6;
      lcd.setCursor(0, 0);
      lcd.print("Achive your goal");
      lcd.setCursor(0, 1);
      lcd.print("You can do it   ");
    }
  }
  if (butn == 1) {
    if ( flag == 6)  {
      flag = 7;
      lcd.setCursor(0, 0);
      lcd.print("You Nazarbayev  ");
      lcd.setCursor(0, 1);
      lcd.print("Come University ");
    }
  }
  if (butn == 1) {
    if ( flag == 7) {
      flag = 8;
      lcd.setCursor(0, 0);
      lcd.print("Powerfull person");
      lcd.setCursor(0, 1);
      lcd.print("I believe you   ");
    }
  }
  if (butn == 1) {
    if ( flag == 8) {
      flag = 0;
      lcd.setCursor(0, 0);
      lcd.print("Never give up   ");
      lcd.setCursor(0, 1);
      lcd.print("Pres next button");
    }
  }
  Serial.println(flag);
  Serial.println(butn);
  delay(100);
}
[/code]

 

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

alexdm181202 - попробуйте выполнить свой код вместо компьютера, построчко. Например, вы в начале ЛУПа, строчка 16, кнопка нажата., flag =0.

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

А строка №23 так вообще харрассментом пахнет.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

alexdm181202 пишет:

текст не меняется

Меняется, тока очень быстро, ты замечать не успеваешь.

Делай, что умный человек сказал

b707 пишет:

попробуйте выполнить свой код вместо компьютера, построчно.

только внимательно. Всё поймёшь.