не работает дисплей 1602 I2C
- Войдите на сайт для отправки комментариев
Сб, 10/12/2016 - 10:51
Здравствуйте! Приобрёл arduino Uno от robotdyn, разбираюсь, пытаюсь вот подключить дисплей по i2c, но перечитав кучу манов и посмотрев видео, так и не смог к сожалению преодолеть проблему:
На дисплее не отображается какой-либо текст, только горят квадраты и всё, контрастность влияет только собственно на яркость квадратов.
Адрес дисплея 0x38 (узнал i2c сканером)
модуль i2c для дисплея PCA8574AD
Код:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x38, 16, 2);
void setup()
{
lcd.init();
lcd.backlight();
lcd.print("Hello");
lcd.setCursor(0, 1);
lcd.print("test");
}
void loop()
{
}
И еще момент:
почему выдает два адреса а не один?
I2C Scanner
Scanning...
I2C device found at address 0x38 !
I2C device found at address 0x7C !
done
для интереса подцепил часы, опять 2 адреса выдает
I2C device found at address 0x50 !
I2C device found at address 0x68 !
У часов есть микросхема памяти наплате? Это она 0х50. У меня дисплеи откликаются на 0х27 и 0х3F в зависимости от запаяных перемычек на платах i2c.
Да микруха есть.
А почему у дисплея два адреса? Пробовал оба не выводит, а когда перемычку делаю, питание светодиод гаснет на преобразователе .
По сканеру 0x38: дисплей или 0x7C
Ни разу не встечал два адреса. У меня их был десяток. И платы i2c есть без дисплеев. http://arduino.ru/forum/programmirovanie/lcd-i2c-partizanit#comment-40761
Почитайте здесь. Долго обсуждали.
Nik182, спасибо вам за помощь! уже было начал дело разбирать, собирался покупать другой i2c to LCD, но решил 2-й раз пропаять, и заработало))
Как говорится, Электроника - наука о контактах
сфотографируйте I2C плату с двух сторон. Если хорошо получится то можно будет рассмотреть перемычки адреса.
По умолчанию должно быть 3F на вашем контроллере, если перемычки не запаяны.
И покажите скетч I2C сканера. Может там что не так. Не должно два адреса определяться.
------------------
пока писал, проблемма исчезла... ну и слава Б..гу!
К сожалению плату не сфоткаю, уже припаял.. но адресация видна, если не замкнуты то 0x38 (это от роботдина версия)
пробовал замыкать - ардуина ребутится... то ли я не так делаю, то ли косяк где..Но впринципе все равно работает. Единственное расстроился - дисплей русские символы не поддерживает, выход есть если только подставлять , но нативной поддержки нет. Есть ли выход? или заказывать дисплей от амперки?
Код сканера i2c, кстати даже когда все заработало все равно 2 адреса находит 0_о
#include <Wire.h> void setup(){ Wire.begin(); Serial.begin(9600); while (!Serial); Serial.println("\nI2C Scanner"); } void loop(){ byte error, address; int nDevices; Serial.println("Scanning..."); nDevices = 0; for(address = 8; address < 127; address++ ){ Wire.beginTransmission(address); error = Wire.endTransmission(); if (error == 0){ Serial.print("I2C device found at address 0x"); if (address<16) Serial.print("0"); Serial.print(address,HEX); Serial.println(" !"); nDevices++; } else if (error==4) { Serial.print("Unknow error at address 0x"); if (address<16) Serial.print("0"); Serial.println(address,HEX); } } if (nDevices == 0) Serial.println("No I2C devices found\n"); else Serial.println("done\n"); delay(5000); }Подключаете A4 и A5?
С такой строкой инициализации -
LiquidCrystal_I2C lcd(0x38, 16, 2);-с моей библиотекой этот зверь не работает, работает с такойLiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
Дисплей с кириллицей стоит от 250р. Без оной - около 80р. Мой «патриотизм» стоит явно дешевле!
wdrakula, это понятно) я хочу попробовать собрать автомат разменник, хотелось бы русский язык..
wdrakula, это понятно) я хочу попробовать собрать автомат разменник, хотелось бы русский язык..
А он должен разменивать буквы или цифры?
Если цифры - зачем Вам кириллица?
andriano, хочу сделать двухрежимный: выдача жетонов либо размен по номиналу опять же для последующей выдачи.
вот не знаю, хочу надписи на русском)))
вот не знаю, хочу надписи на русском)))
Ну чё делать - патрийод! ;)
Вот сайт отечественного производителя.
По любому выйдет дешевле, чем амперка, но в три раза дороже китая. ;) ;) ;)
Зато с кириллицей!
wdrakula, спасибо за линк) но блин, как я понял доставка только от 1500 руб :(
Сумма заказа меньше минимально допустимой. Минимальная сумма заказа: 1 500.00 rub.
Тогда чип-дип, они в любое отделение Евросети отправят. Заодно еще что-нить у них возьмешь. Там оптопары выгоднее китайцев бывают. Мелочи всякие.
----------------------
Возьми у китайцев графический и не парься со шрифтами, как вариант.
А чем так подстановка напрягает? Или "Войну и мир" будете в период простоя прокручивать?
А чем так подстановка напрягает? Или "Войну и мир" будете в период простоя прокручивать?
Буду пробовать, не со всеми библиотеками завелся по i2c, с русским дисплеем кода меньше думаю.
Напишу по результату)
Всем привет!
У меня тоже была проблема с этим адаптером от китайской фирмы robotdyn.
Выводил символы не все. Думал может проблема с ЖК экраном (нерабочий, I2C адаптер не пропаенный и т.п.), но дело было не в этом.
Я использовал китайский LCD 20х4 - 4 строки по 20 знаков.
Проблема решилась использованием нужной библиотеки(LiquidCrystal_I2C1602V1).
Ссылка на библиотеку: http://arduino-info.wikispaces.com/file/detail/LiquidCrystal_I2C1602V1.zip/341635514
Моя проблема решилась, может этот пост поможет остальным!
Адрес I2C адаптера проверено - 0х38h. Единственно, я так не понял почему программа I2C сканер находит два адреса?