Как сделать при выполении условий if else выводился текст на жк дисплей lcd 1602 i2c

Тема в разделе "Arduino & Shields", создана пользователем AntonoNion, 30 июн 2021.

  1. AntonoNion

    AntonoNion Нуб

    Сам код:
    Код (Text):
    #include <Wire.h> // библиотека для управления устройствами по I2C
    #include <LiquidCrystal_I2C.h> // подключаем библиотеку для QAPASS 1602

    #define BLED 9                                         //9 контакт для синего вывода
    #define GLED 10                                        //10 контакт для зеленого вывода
    #define RLED 11                                        //11 контакт для красного вывода
    #define BUTTON 2                                       //2 контакт для кнопки

    LiquidCrystal_I2C LCD(0x27,16,2); // присваиваем имя LCD для дисплея

    boolean lastButton = LOW;                              //предыдущее состояние кнопки
    boolean currentButton = LOW;                           //текущее состояние кнопки
    int ledMode = 0;                                       //статус  RGB-светодиода

    void setup()
    {
      pinMode (BLED, OUTPUT);                        
      pinMode (GLED, OUTPUT);                          
      pinMode (RLED, OUTPUT);                          
      pinMode (BUTTON, INPUT);
    //для ЖК дисплея
    }

    void loop()
    {
      currentButton = debounce(lastButton);            
      if (lastButton == LOW && currentButton == HIGH)      //если кнопка была нажата
      {
        ledMode++;                                         //инкрементируем значение переменной
      }
      lastButton = currentButton;                          //сохраняем текущее состояние кнопки в предыдущее
      if (ledMode == 8) ledMode = 0;                      //если прошли по циклу все режимы свечения светодиода, делаем сброс до 0
      setMode(ledMode);//изменить режим светодиода


    }

    /*
    * Функция антидребезга
    * принимает предыдущее значение кнопки и возвращает текущее состояние кнопки с подавлением дребезга контактов
    */
    boolean debounce(boolean last)
    {
      boolean current = digitalRead(BUTTON);             //считываем состояние кнопки
      if (last != current)                               //если есть изменения
      {
        delay(50);                                        //ждем 50мс
        current = digitalRead(BUTTON);                   //считываем состояние кнопки
      }
      return current;                                    //возвращаем, считанное состояние кнопки
    }



    void monik(){
       LCD.noDisplay(); // выключаем и включаем надпись на дисплее
       delay(1000);
       LCD.display();
       delay(1000);
    }
    //идет выбор цвета
    void setMode(int mode)
    {
      //Красный
      if (mode == 1)
      {
        digitalWrite(RLED, HIGH);
        digitalWrite(GLED, LOW);
        digitalWrite(BLED, LOW);
     
     
      }
      //голубой
      else if (mode == 2)
      {
        analogWrite(RLED, 255 );
        analogWrite(GLED, 222);
        analogWrite(BLED, 173);
      }
      //еще светлее пурпурный
      else if (mode == 3)
      {
        analogWrite(RLED, 241);
        analogWrite(GLED, 255);
        analogWrite(BLED, 1);
      }
      //зеленый
      else if (mode == 4)
      {
        analogWrite(RLED, 127);
        analogWrite(GLED, 0);
        analogWrite(BLED, 127);
      }
      //синий
      else if (mode == 5)
      {
        analogWrite(RLED, 0);
        analogWrite(GLED, 127);
        analogWrite(BLED, 127);
      }
      //салатовый
      else if (mode == 6)
      {
        analogWrite(RLED, 209);
        analogWrite(GLED, 0);
        analogWrite(BLED, 120);
      }
      //Выключен
      else
      {
        digitalWrite(RLED, LOW);
        digitalWrite(GLED, LOW);
        digitalWrite(BLED, LOW);
      }
    }
     
    Последнее редактирование модератором: 30 июн 2021
  2. Asper Daffy

    Asper Daffy Иксперд

    Выводить его.
     
  3. AntonoNion

    AntonoNion Нуб

    и как же?
     
  4. b707

    b707 Гуру

    как все - научиться программировать. почитать описание команд дисплея. написать программу
     
  5. Airbus

    Airbus Радиохулиган Модератор

    Как то так?
    Код (Text):
      lcd.setCursor(0,0);              // Установка курсора в начало первой строки
      lcd.print("Hello");       // Набор текста на первой строке
      lcd.setCursor(0,1);              // Установка курсора в начало второй строки
      lcd.print("ArduinoMaster");