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, кроме того, у меня нет спецификации, и ЖК-дисплей, кажется, показывает пустые символы при вращении горшка.
@CHAMCHOUN, 👍-1
Обсуждение1 ответ
Попробуйте это:
#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
- ЖК-дисплей I2C отображает странные символы
- Экран LCD 16*02 I2C показывает только первый напечатанный символ
- Отправка буквы за буквой на ЖК-дисплей, однако дисплей знает полную строку?
- Альтернатива LCD-дисплеям UART/I2C?
- Датчики I2C не работают при подключении к LCD дисплею 20X04
- Проблема стабильности кода прерываний, связанного с датчиком расхода
- Проблемы с подключением ЖК-дисплея I2C
- проблемы с кодированием
Существует множество различных вариаций жидкокристаллических модулей. Это действительно похоже на ЖК - дисплей с "рюкзаком" 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