Вопрос вывода символов на дисплей. Знатоки, подскажите !

Тема в разделе "Флудилка", создана пользователем Rudolph Sikorskiy, 12 май 2016.

  1. А вопрос в следующем
    Дисплей двухстрочный подключаю через I2C
    [​IMG]
    Имею код (представлен ниже) просто беру инфу с сенсора и отображаю на дисплей.

    если значения с сенсора двух значное, то выглядит это примерно так:
    СО 41
    СН4 16
    если трех значное то единицы уползают вправо примерно так:
    СО 418
    СН4 16
    а нужно мне сделать чтобы было так:
    СО 418
    СН4 16
    а именно единицы должны стоять в одном столбце и если появляются сотни то они ставятся в столбец слева а не двигают единицы направо.

    Знатоки, подскажите кто знает как это сделать?
    [​IMG]

    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>

    LiquidCrystal_I2C lcd(0x27,16,2);

    #define sens A0
    #define sensmq A1

    void setup() {
    Serial.begin(9600);
    lcd.init();
    lcd.init();
    lcd.backlight();
    pinMode(sens, INPUT);
    pinMode(sensmq, INPUT);

    }

    void loop() {

    int data = analogRead(sens);
    int data1 = analogRead(sensmq);

    Serial.print("CO ");
    Serial.print(data);
    lcd.setCursor(0,0);
    lcd.print(F("CO "));
    lcd.setCursor(4,0);
    lcd.print(data);
    Serial.print(" CH4 ");
    Serial.println(data1);
    lcd.setCursor(0,1);
    lcd.print(F("CH4 "));
    lcd.setCursor(4,1);
    lcd.print(data1);
    delay(1000);
    }
     
  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    Код (C++):
    lcd.setCursor(data < 100 ? 4 : 3, 0);  // ставим курсор в строку 0, в позицию 4 (если data меньше 100) или в позицию 3 (если data больше 99)
     
    Последнее редактирование: 12 май 2016
    Rudolph Sikorskiy нравится это.
  3. Спасибо, я так и думал что нужна эта функция, но как использовать не скумекал. Заработало!