Цикл for()

Тема в разделе "Arduino & Shields", создана пользователем BeggingOrHelping, 1 апр 2018.

  1. BeggingOrHelping

    BeggingOrHelping Нерд

    Добрый день. Я не могу понять проблемы. Создаю цикл for (int i = 0; i <= 15; ++i)
    На lcd1602 пишу чтобы чтобы символ перемещался на одну клетку вперёд с 0 до 16.
    А именно:
    lcd.setCursor(i, 0);
    lcd.print("A");
    delay(500);

    Но я получаю не то что хотел(((. Буква просто стоит в конце строки и всё!

    Вот мой скетч:
    Код (C++):
    #include <LiquidCrystal.h>
    LiquidCrystal lcd(2, 3, 4, 5, 10, 12); //пины для экрана
    void setup() {
    lcd.begin(16, 2);
    pinMode(13, INPUT_PULLUP); // кнопка
    }

    void loop() {
    int placeHero = (millis() / 500) % 16; // миллис с 0 до 16
    lcd.setCursor(placeHero, 0); // ставим курсор в начало и потом его увеличивать на 1
    lcd.write(0xff); // отрисовать блок
    lcd.setCursor(7, 1); // поставить стрелку вниз
    lcd.write(0xd9); //... и нарисовать её
    if (placeHero == 6 && digitalRead(13)) { // если увеличился до 7 и НЕ нажата кнопка
    return loop(); // начинать сначала
    }
    }
     
    Последнее редактирование модератором: 2 апр 2018
  2. BeggingOrHelping

    BeggingOrHelping Нерд

    прошу помощи. Заранее благодарен!
     
  3. Asper Daffy

    Asper Daffy Иксперд

    Не нашёл в скетче никакого цикла for. Кто-то стырил?
     
  4. parovoZZ

    parovoZZ Гуру

    Зачем так? Мож рекурсия осознанная.
     
    arkadyf и Asper Daffy нравится это.
  5. Asper Daffy

    Asper Daffy Иксперд

    Во-во. И я ж про тоже!

    Но плюнуть в рожу за такую рекурсию не помешает :)
     
    Последнее редактирование: 2 апр 2018
    citRUS_oleg, Airbus и arkadyf нравится это.