Не работает дисплей 1602 i2c
Дисплей общяется с arduino по i2c соеденению, всё в принципи работает, но при выводе текста на дисплей с помощью функции lcd.print("Hello, world"); Отображается только первый символ, а всё остальное куда то пропадает(
Подскажите пожалуйста что делать я уже и библиотеки менял хоть убей всё равно выводит токо 1 букву и больше ничего(((
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Давите его Киса, давите.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Я не понял вашего сорказма. Дисплей рабочий и надавливать негде не надо а вот с отображением что то не то если например начать запись с 3 позиции на строке то всёравно он выводит только первую букву а остальные кудато пропадают(
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Если он рабочий, то должен выводить как затевалось. Вот и пробегитесь по контактам, в том числе которые внутри (надавливание по периметру наиболее простой способ). И первый символ выводит ярко или еле видно?
Есть ли возможность включить без I2C?
Если есть возможность, сбросьте фотки как подключено и что получается.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Схема подключения секретна!
Скетч тоже секретный!
Думайте мужики, как я соединил, что я там напрограммировал и в чём у меня может быть проблема, думайте!
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Дисплей работает и выводит символ на каждой строке на каждом вертекальном расположение курсора, но он выводит только один символ вне зависимоти от того где установлен курсор lcd.print("Hello world");
выводит только один символ, только H и больше ничего(
Повторяюсь дисплей исправен и выводит все сстрочки все столбики работают, но выводит только один символ(
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Так и я ж про то говорю.
Вот, знаете, я вчера скетч написал, и он неправильно работает. Скетч я Вам не покажу (вдруг украдёте), но Вы напрягитесь и посоветуйте в какую сторону мне копать!
Вы видите идиотичность постановки вопроса? У Вас ровно также!
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
// Print a message to the LCD.
lcd.backlight();
lcd.print("Hello, world!");
>
Это стандартный скетч он работает но не доконца lcd.print("Hello, world!"); выводит только одну букву и больше ничего!
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Посмотрите на описание функций из библиотеки lcd, возможно вместо lcd.init(); нужно использовать вызов: lcd.begin();
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Такая же беда с 1602 HD44780.
Подключение по I2C скетч "Hello world" выводит только первую букву.
Подключение по стандартной шине работает в цело нормально, но эпизодически при долгой работе буквы превращаются в краозябру. и помогает только кнопка ресет на ардуине.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Буквы в кракозябрах это другая история, ищите помеху по питанию девайса.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Перепробовал несколько библиотек, не помогло. С какимито выводит тоько первую, с другими вообще ни чего не выводит.
Написал свою подпрогамму для посимвольного вывода из символьного массива. Выводит всю надпись.
Не ужели ни кто более с таким дефектом не встречался?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Пользуюсь такой либой. Работает исправно и с китайскими и с отечественными дисплеями.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Radjah, попробовал эту библиотеку - эфект точно такой же, выводит первый символ, остальные пропадают.
Такое впечатление, что пересылка строки происходит быстрее, чем I2C способен принять.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Или дисплей иницилазируется неправильно, или китайцы в пайке напортачили.
У меня вот такая заготовка для работы с дисплеем.
Меняется только адрес и размер дисплея.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
А я говорю, что ты вруша. Вот только что скачал 1.6.6 и LiquidCrystal 1.2.1. Собрал скетч для дисплея на i2c и залил. Всё нормально отображается.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Ты ссылку смотрел, которую я кинул? Если у тебя работает, значит отлично, тебе повезло. Я же писал пользователю JasKo , у которого с этим проблемы. Я тоже столкнулся с этой проблемой. Перепробовал все библиотеки, разные скетчи и ничего не помогало. Помог откат на предыдущую версию. Это мой практический опыт, не понимаю при чем здесь твоё детское "вруша" Возможно есть еще какие то более глубокие причины. Если ты их знаешь и понял причину текущей проблемы, дак поделись. А то что у тебя заработало никого не интересует
Вижу, что мысль о важности первоначальных проверок, просто пролетела у всех мимо ушей.
Какие бывают Linux?
Бывают для аппаратной части процессоров
1) x86 операционные системы 32bit
2) x86 операционные системы 64bit
3) ARM операционные системы 32bit
4) ARM операционные системы 64bit.
Для x86 это всем привычные
1) настольные компьютеры
2) ноутбуки
Для процессоров ARM
3) смартфоны (телефоны)
4) планшеты
5) ноутбуки
6) всякие Raspberry.
Для телефонов соответственно IDE могут быть разные, например глюкавое ArduinoDroid.
IDE для Linux теоретически может быть любое для C, С++ но скетчи под это дело надо переделывать в нормальный код, это уже не ArduinoIDE для новичков.
Eclipse
Bluefish
NetBeans
Komodo IDE
Anjuta
MonoDevelop
CodeLite
Kdevelop
и еще много всякого. А вот что умудрился использовать вопрошающий, загадка.
Может быть использовано и ArduinoIDE но работать будет не на всех Linux.
Для ArduinoIDE разных версий, совместимость скетчей отсутствует, почему так происходит придумайте сами.
Например на совершенно рабочий скетч ArduinoIDE стала выдавать ошибку компиляции "'prog_char' does not name a type", оказывается просто изменили 'prog_char' и теперь надо просто 'char'. А формально оба скетча рабочие, просто прошиваться будут только на разных версиях ArduinoIDE. И это относиться не просто к скетчам, а и к библиотекам. Взяли скрестили новую версию библиотеки со старым ArduinoIDE или наоборот старую библиотеку с новой версией ArduinoIDE и работать скетч уже не будет. Поэтому. Установили в какой-то операционной системе какую то IDE. Написали по какому то примеру какой то скетч, а не работает. То ли с железом проблема. То ли программы сорятся. То ли ошибок в скетче понаделали. Если скетч старый и рабочий, а у Вас стоит ArduinoIDE с новыми правилами написания скетчей, все равно формально скетч рабочий - просто факт.
И какая ситуация конкретно у спрашивающего, форуму не ведомо. Для начинающих. Установили в чем-то какой-то IDE. Запускаете из примеров Blink. Меняете частоту вспышек. Убеждаетесь, что эти изменения вызваны Вашими действиями. Это Важный шаг. Не надо этот шаг пропускать, типа и так все понятно и просто. Если лампочки на ардуинке мигают то это говорит о том, что какой то процесс идет. Но не говорит о том, что все правильно сделано. При этом может и не работать. Шаг следующий. Устанавливаете или используете установленную библиотеку. Запускаете примеры из этой библиотеки. Разбираетесь почему не работает. И только после того, как убедитесь, что Ваше устройство (в данном случае дисплей) работает на примерах из библиотеки, начинаете с этим делать что то свое. И не раньше. А вопросы не работает стандартное, совсем другая тема.
Если хотите адекватный ответ, пишите операционную систему полностью. Версию IDE полностью. Версию использованной библиотеки полностью. Работала ли первоначальная проверка вспышкой и стандартные примеры на используемой библиотеке.
PS Когда захотел помочь. Получилось как обычно. Думаешь одно, а все совсем иначе. А вопрошающий считает, что вокруг одни экстрасенсы и всю дополнительную информацию про него обязаны знать.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.
Evgeniy2020
Evgeniy2020
Всем доброго времени суток! Столкнулся с проблемой того что сразу после прошивки мк(ATtiny2313) на дисплей выводиться корректная информация. После переподачи питания, помимо нужной инфы выводиться всякие спец символы, по типу полных клеток, скобок, амперсантов и тд. Поскольку сразу после прошивки инфа дается верно, то думаю что это не программная составляющая, а аппаратная. Возможно провода экранировать ? или питания не хватает ?
грешу на ногу ресет которая в воздухе, но сомневаюсь что она может так сказываться. В общем подскажите самые распространённые проблемы, я думаю далеко от них я не ушел
Геннадий П
Evgeniy2020
@Геннадий П, на все сразу. В общем я на макетке(ту что паять надо) вывел себе колодку для программирования - питания. Питаю от программатора usb isp. От программатора питается МК, светодиод, дисплей с подсветкой, подстроечник для подсветки.
Геннадий П
@Evgeniy2020, Ну, по идее если по параллельной шине подключаешь, то ресет тоже нужно подключать на ардуину. Смотри схему подключения.
Evgeniy2020
@Геннадий П, ардуину уже не использую. Напрямую питаю от программатора, через него и шью
UPD:Надо было массив символов при объявлении сделать пустым. char lol[10] = ""; а не просто инициализировать =)
SarmatK
1. Схем много. Выбирай,
2. Первые цифры адреса в двоичном коде можно посмотреть в datasheet-е на PCF8574.
Геннадий П
Сначала удивился, почему биполярник подключен напрямую к микросхеме, без резистора по цепи базы.
Но потом посмотрел даташит, оказывается у нее есть токовый ограничитель на выходах.
Deni24
ВСЕ РЕШЕНО. Я сам искал ответ на этот вопрос долго, мне помогло смена адреса дисплея с 0x27 на 0x3F и все заработало.
Добрый день.
Столкнулся с такой проблемой, что после спаивания Модуля управления дисплеем (I2C) и самим дисплеем LCD1602A, перестала работать подсветка.
Вроде бы взял, самый обычный скетч, проверил подсветка в программе включается, но толку нет. Сам скетч:
Здравствуйте! Приобрёл arduino Uno от robotdyn, разбираюсь, пытаюсь вот подключить дисплей по i2c, но перечитав кучу манов и посмотрев видео, так и не смог к сожалению преодолеть проблему:
На дисплее не отображается какой-либо текст, только горят квадраты и всё, контрастность влияет только собственно на яркость квадратов.
Адрес дисплея 0x38 (узнал i2c сканером)
модуль i2c для дисплея PCA8574AD
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
почему выдает два адреса а не один?
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
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Nik182, спасибо вам за помощь! уже было начал дело разбирать, собирался покупать другой i2c to LCD, но решил 2-й раз пропаять, и заработало))
Как говорится, Электроника - наука о контактах
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
сфотографируйте I2C плату с двух сторон. Если хорошо получится то можно будет рассмотреть перемычки адреса.
По умолчанию должно быть 3F на вашем контроллере, если перемычки не запаяны.
И покажите скетч I2C сканера. Может там что не так. Не должно два адреса определяться.
пока писал, проблемма исчезла. ну и слава Б..гу!
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
К сожалению плату не сфоткаю, уже припаял.. но адресация видна, если не замкнуты то 0x38 (это от роботдина версия)
пробовал замыкать - ардуина ребутится. то ли я не так делаю, то ли косяк где..Но впринципе все равно работает. Единственное расстроился - дисплей русские символы не поддерживает, выход есть если только подставлять , но нативной поддержки нет. Есть ли выход? или заказывать дисплей от амперки?
Код сканера i2c, кстати даже когда все заработало все равно 2 адреса находит 0_о
Подскажите пожалуйста:
Почему LCD 1602 не показывает буквы.
Только линия прямоугольников.
Подключаю к Arduini UNO
Версия Arduinoid 1.8.7
Версия библиотекиLiquidCristall 1.0.7 пробовал на 1.0.4
Соединение как в примере:
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
Соединения проверил 100 раз.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Контраст пробовал регулировать?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Это же не I2C подключение, на самом дисплее крутилок нет.
Да и у него квадраты остаются, что говорит о том, что ни единой посылки данных на дисплей не пришло.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Соединения проверил 100 раз.
Это вы небось проверяли те ли контакты соединяете. А вот как соединяете.
Ставлю на хреновый контакт этих тоненьких тыкалок в макетке! В правом нижнем углу рыжий с чёрным аж вылезают.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Это же не I2C подключение, на самом дисплее крутилок нет.
На дисплее нет, а на макетке у него есть
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Такое ощущение, что где то плохой контакт.
Контакты прозвонил тестером. Норма.
Один раз, ковыряясь в проводах, на экране высветилось две строки:
в первой пару непонятных символов,
во второй число типа 68,234683143846843 и число жило,
Да, аж сам стал понимать , что где то точно плохой контакт.
Прозваниваю нормально, а при работе, на высокой частоте теряет контакт.
Читайте также: