16/2 arduino I2C ЖК-дисплей не загорается?

Я работаю с ЖК-дисплеем I2C с платой arduino uno Я подключил вывод gnd к gnd arduino uno и вывод vcc к 5V arduino uno и дисплей даже не загорается есть только красный светодиод загорается на задней панели, поэтому я попытался подключить остальные контакты и запустить код для обнаружения дисплея i2c, и он успешно работал Я получил адрес, но ЖК-дисплей не загорелся. Жк-дисплей новый, я купил его вчера вот фотографии:

https://photos.app.goo.gl/x9QPAWig98yLg4DW9

Сценарий, который я пытался отобразить текст, был таким с библиотекой NewLiquidCristal:

//Библиотеки 
#include <Wire.h>  
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  //  Установить ЖК-адрес I2C, если он не работает, попробуйте 0x27.

void setup(){
lcd.begin(16,2);   // ЖК-дисплей на 16 символов 2 строки
lcd.backlight();   // включаем backligt (попробуйте ЖК.noBaklight (), чтобы включить его 
выкл.)
off)
lcd.setCursor(0,0); //первая строка
lcd.print("I2C LCD Tutorial");
lcd.setCursor(0,1); //Вторая строка
lcd.print("*Ardumotive.com*");
}

Вот модель nmber I2C: PCF8574A, А ЖК-дисплей-это QAPASS Ui, кроме того, у меня нет спецификации, и ЖК-дисплей, кажется, показывает пустые символы при вращении горшка.

, 👍-1

Обсуждение

Существует множество различных вариаций жидкокристаллических модулей. Это действительно похоже на ЖК - дисплей с "рюкзаком" I2C на нем. Разместите номер модели, ссылку на спецификацию, если она у вас есть, а также ссылку на конкретную библиотеку, которую вы используете, и код, который вы используете для ее инициализации и отправки данных., @Duncan C

На фотографиях видно, что "рюкзак" I2C имеет как горшок регулировки подсветки (потенциометр), так и перемычку на нем. Иногда удаление/перемещение перемычки позволяет отключить подсветку, но, похоже, перемычка установлена. Если он пришел с инструкциями или ссылкой на технический паспорт, посмотрите, что там написано о регулировочном горшке. Вы можете попробовать повернуть регулировочный горшок и посмотреть, не вызовет ли это включение подсветки., @Duncan C

вы добавили lcd.begin(); и lcd.backlight(); в void setup?, @ElectronSurf

Я добавил всю недостающую информацию извините если опоздал, @CHAMCHOUN

у вас есть ЖК-дисплей I2C, верно? используйте это: LiquidCrystal_I2C lcd(0x27, 16, 2); вместо LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, ПОЛОЖИТЕЛЬНЫЙ); ., @ElectronSurf

мой адрес на самом деле 0x3F, @CHAMCHOUN

взгляните на ответ., @ElectronSurf


1 ответ


2

Попробуйте это:

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

// LiquidCrystal_I2C lcd(0x27, 16, 2);
// ИЛИ
LiquidCrystal_I2C lcd(0x3F, 16, 2);

void setup(){
lcd.begin();   
lcd.backlight();
lcd.setCursor(5,0);
lcd.print("TA DAA...!");
}
void loop{
// здесь ничего не делаем
}

Если это не сработало, возможно, у вашего ЖК-дисплея другой адрес, чем 0x27, и в этом случае вам следует запустить сканер I2C, чтобы показать вам адреса I2CS, подключенных к вашему Arduino:

#include <Wire.h>
// Сканер I2C

void setup()
{
  Wire.begin();

  Serial.begin(9600);
  Serial.println("\nСканер I2C");
}


void loop()
{
  byte error, address;
  int nDevices;

  Serial.println("Сканирование...");

  nDevices = 0;
  for(address = 1; address < 127; address++ ) 
  {
    // i2c_scanner использует возвращаемое значение
    // the Write.endTransmisstion чтобы увидеть,
    // что устройство подтвердило адрес.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("Устройство I2C найдено по адресу 0x");
      if (address<16) 
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error==4) 
    {
      Serial.print("Неизвестная ошибка по адресу 0x");
      if (address<16) 
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("Устройства I2C не найдены\n");
  else
    Serial.println("done\n");

  delay(5000);           // подождать 5 секунд для следующего сканирования
}

Проверьте перемычку за модулем I2C (выньте и снова подключите его).

Проверьте напряжение светодиода с помощью мультиметра, если там нет напряжения, возможно, это просто "плохой ЖК-дисплей", попробуйте заменить его.

,

Спасибо, это сработало для меня!, @Giri