Arduino and I2C display 1602
HTML-код
- Опубликовано: 19 авг 2024
- Symbol displays 1602 are very rastrostraneny. The most popular ones are on the HD44780 controller. In the video, we connect the display to arduino and display the text. We will connect only two wires on the I2C line using the port expander.
Library and sketch: drive.google.c...
Friends, support the channel!
R340967932571
Z422687519909
U139735106020
4149625807630874 The bank card of Privat Bank (Ukraine)
Useful links:
Display 1602 + expander ports: ali.pub/1vb6ja
Display 1602: ali.pub/1uo1ww
Micro SD Module: ali.pub/1tkx36
Arduino Mega 2560: ali.pub/1ny34r
Cheapest Arduino Pro Mini for crafts: ali.pub/1ny2z4
Breadbord: ali.pub/1ny3ae
Lintels: ali.pub/1ny3la
Quality crosspieces: ali.pub/1ny3j5
The most convenient cash back:
LetyShops: goo.gl/Ev5XgI
The most profitable cash back on aliexpress:
Ecomerce: goo.gl/3dDc2w
ВЕСЬ ДЕНЬ ТОЖЕ УБИЛ НА ЭТО И НИЧЕГО НЕ РАБОТАЛО! Уже руки опустились. Но ты спас меня. Заработало! СПАСИБО!
Успехов вам!
Доброго времени суток! установил v- 1.8.5 ниже не нашёл , загрузил ваш скетч и библиотеку , всё заработало, спасибо огромное , вы первый , кто предложил что то внятное , снимаю шляпу! Единственное ,что встроенные примеры встают косо , пока не разбирался , ну да и не важно , буду двигаться дальше , надеюсь на вашу помощь в дальнейшем , спасибо!
Хорошо что заработало! Если что - пишите, постараюсь помочь
Полезнейшая платка, когда нужно сэкономить пины ардуино, особенно если это не мега а нано. Сам пользуюсь ими часто. Правда не без проблем, встречалось такое что дисплеи одинаковые(по крайней мере модель и цвет), только вот один заработал, другой нет. При том оба работают при подключении без этой платы на одном и том же коде. Сначала думал что брак попадся, перекинул - то же самое, причина в дисплеях. Потом ковырял библиотеки, в т.ч. пробовал разные варианты инициализации, результата ноль. Потом мне подсказали что на некоторых дисплеях надо замкнуть перемычку для того что бы он запустился с этой платой и действительно - на одном запаяна а на другом нет, так что обращайте внимание на сам дисплей, если что не работает. И да, это перемычки гдето именно на самом дисплее а не на платке, на платке их 3 и они нужны что бы задать адрес для шины i2c.
У меня была такая же проблем. Ролик очень помог.
Спасибо за ваше видио. Не все так просто. Но у вас видна среда разработки 1.8.3 . На других может не работать. Все заработало с первого раза
Скачал библиотеку средствами IDE. Там в примерах стоит команда LiquidCrystal_I2C lcd(0x27,20,4);
и все работает
Спасибо, мучаюсь 2 дня
Спасибо за видео хорошо объяснение
По предоставленному здесь скетчу не заработало. Зато по скетчу Hello World из Examples все заработало.
Есть очень много разных библиотек для этого дисплея, и, как правило, скетчи от одной библиотеки не подходят для другой библиотеки.
@@UCanDo Что и удивило, т.к. я залил Ваши библиотеки.
@@We_and_the_World значит что-то где-то еще обновилось и стало не работать, либо были установлены еще какие-то библиотеки дисплея, которые ИДЕ использовала по умолчанию.
По этому я не обновляю библиотеки и ядро МК без серьезной причины - иначе ранее написанные скетчи перестаю работать.
@@UCanDo Понятно, спасибо.
Просто лучший!
.LCD 1602 инициализация только после нажатия на кнопку Reset на плате . В чем может быть проблема.
Так и должно быть
Pong ting ching. Ka kwek tak tok. Bravo!
Есть вопрос по этому дисплею. Просмотрел много видео, почитал Яндекс, но пока не разобрался..
Суть вопроса в следующем, собрал себе сетевой проигрыватель на rasptrry pi 3 b+ , Volumio. Увидел на Ютубе что есть возможность подключения подобных дисплеев к нему, перелопатив кучу форумов (они на английском, а я с ним не дружу), толком ничего не понял. Подключив данный дисплей к плате rasptrry pi я имею только белую полоску (из ваших видео, я понял, что он не инициализирован) Плата конвертера i2c не имеет перемычек, я так понимаю имеет 27 адрес по умолчанию. Вы не подскажете куда рыть дальше? Инициализацию нужно делать на Ардуине? Будет ли потом это работать с rasptrry? Скетчи заливаются в Ардуину или через неё в эту плату?
К rasptrry обычно подключают не символьные дисплеи, и по этому не могу найти нормального примера, хотя есть видео с работой и этого, только вот люди показавшие эти варианты, почему-то не отвечают, наверное такие же как и я :(
В общем главный вопрос, как их поженить?
vk.com/stalker29218?w=wall-132949243_13191%2Fall
Очень долго обновляется весь экран по сравнению с параллельным интерфейсом, особенно заметно на четырехстрочных экранах. Это критично для реалтайм систем управления.
тупиковый путь IDE - куча разных библиотек, исключающих друг друга. Что-бы что-то скомпилировать, нужно или иметь нужную лайбр, либо угадывать, какую лайбр нужно иметь.....
Отчасти вы правы. Но лишь отчасти.
У меня LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); выдает ошибку: POSITIVE was not declared in this scope
дисплей светится и только.
На дисплее ничего не отображается потому что не прошит скетч.
Существует огромное количество библиотек для дисплея. У вас установлена библиотека, которая не знает данную команду, от этого и ошибка. Либо меняйте библиотеку, либо Настройки инициализации
В принципе всё подробно.... У меня сейчас стоит задача переписать прошивку под прямое подключение экрана, на i2c подключение. Буду надеяться всё получится....
В самом коде ничего менять не нужно, для работы с дисплеем достаточно правильно прописать инициализацию.
@@UCanDo, Вы правы, всё оказалось проще чем ожидал. Заработало. Но есть "косяк" , разобраться с которым пока не могу. Если не сложно, подскажите. У меня на экран выводятся две переменные: положение резистора (0-1023) и угол поворота сервомашинки (0-180) . так же эти значения вывожу в монитор порта. Так вот при росте значений всё хорошо. А вот при снижении не тухнут цифры старших разрядов. То есть при переходе с тысяч на сотни, четвёртая цифра зависает. То же при переходе с сотен на десятки и тд. Понимаю что как то надо "очищать" экран, но как, пока не освоил.
"сам шучу- сам смеюсь"... сам отвечу. Немного подумав понял почему так происходит- цифры перезаписываются на место других, если разрядность меняется в меньшую сторону, то и перезаписывать старший разряд нечем и цифра повисает. Проблему решил по "босятски" , но с положительным результатом. Просто за каждой строкой вывода цифр прописал строку с пробелами призванную очищать сегменты. так как цифры выводятся на экран 4 раза в секунду (быстро, можно реже), то и мерцания ни какого нет. появилась лёгкая полутень при быстрой смене значений, но думаю это норма.
Не успел вам ответить :)
Да, все верно, такой вариант - самый оптимальный.
прошу снять видос про SPI и как с ней работать.
От души, друг
Спасибо за уделённое внимание ,попробую с готовых проектов а там посмотрим.
Двумя проводами подлючать конечно удобно но... В некоторых проектах например с использованием шаговых двигателей начинается жуткое торможение. Двигатели греются и делают пропуски. А если дополнительное подключить часы реального времени по линии I2C то вообще туши свет!
Значит неправильно сделано распределение времени. Управление моторами нужно вешать на таймеры, тогда все будет работать. Вот пример, и мотор работает, и по менюшке одновременно лазить можно: ruclips.net/video/w0X51l8pgYE/видео.html
Спасибо за видео!Я делал прошивку по i2c на А нано ничего не получилось пока я не обозначил нано старую версию и все сразу прошло и не потребовалось обозначать пины лсд1602 библиотека подошла лсдi2c мастер
Еще я заметил что разные ардуино по разному код воспринимают. У меня arduino nano китайская и я с ней тоже повозился.
Я постоянно заказываю Андуино из Китая, пачками, понятное дело не оригинал, ни разу проблем не было.
Если бы к вам пришла бракованная, то вы бы с ней ничего бы не сделали. Так как Микроконтроллер никак не изменить, если была допущена в ошибка при производстве. Если у вас все заработало, то скорее всего либо вы что-то не так делали, либо проблема с библиотеками.
Я скоро запишу видео на эту тему и поделюсь своим опытом. Я новичок в arduino и поэтому бывает не сразу нахожу свои ошибки. На форумах один ответ - Смени версию оболочки 1.8.5 на 1.6.4 либо у тебя пайка плохая.
Я с Ардуино имею дело уже около четырех лет. До этого еще около 2-х лет работал просто с микроконтроллерами. За все время ни разу не было проблем по вине Ардуино или модулей. Все всегда было рабочим. Процентов 50-70 всех проблем которые у меня были - ошибки в коде. Остальные либо трудности с библиотеками, либо проблемы в сборке/пайке/изготовление корпуса. То есть для успешного выполнения какого-то проекта нужны знания и внимательность. Конечно, от бракованных модуле никто не застрахован, но их легко определить и заменить...
У меня есть один знакомый парень. Увы, он все делает через ж... Он тоже занимается изучением Ардуино, даже свой канал имеет (правда не популярный). Что он делает: когда к нему приходит очередная Ардуино, то он ее первым делом перепрошивает - удаляет оригинальный загрузчик и ставит какой-то левый, иногда даже перепаивает платы Ардуино! И это он делает со всеми платами что к нему приходят! Аргументирует он это тем что они, якобы, все бракованные приходят.... конечно после этого они у него глючат... Он потом пытается на них делать разные проекты, но времени на отладку и поиск ошибок у него уходит раз в 5-6 больше чем у меня... Увы, он никого не слушает, и продолжает все так же издеваться над платами :(
Я все это к тому что 99% всех "глюков" и проблем возникает по вине того кто проект делает. То есть по моей собственной. Либо библиотеку "левую" поставил, либо припаял что-то не туда, либо в коде "накосячил"... всему нужно учиться и не бояться :)
Я лишь хочу сказать что нужно не спешить, много читать, быть внимательным и все заработает!
Если что, пишите, постараюсь помочь по мере сил.
Благодарю. Теперь я знаю к кому обратиться.
а как сделать чтобы русский был через I2c, видел только вашу запись про прямое подключение с русским
??
_1602_i2c.ino:6:53: error: 'POSITIVE' was not declared in this scope
Ошибка компиляции.
Проблема в используемой библиотеке
библиотека ваша
У меня компилируется без ошибок.
Попробуйте удалить библиотеку LiquidCrystal_I2C и заново ее установить
Спасибі, вчора цілий вечір потратив, а тут со старта підключив.
У меня 2 одинаковых дисплея с адресом 27. Один работает, другой не отображает ничего. Крутилка не помогает. Скорее всего сам дисплей пришёл неисправным.
Вы их подключаете одновременно? Два устройства с одинаковым адресом не смогут работать параллельно. Поменяйте адрес на расширителе портов.
Попробовал записать скетч -температура +влажность на lcd с датчика DHT-21,не компилируется опять ругается на строку [0x3F,2,1,0,4,,,,,,,, ваш загружается без проблем , поставил их библиотеку рядом с вашей перестало компилироваться всё, убрал стороннюю всё опять заработало , скетч как я понял должен учитывать определённую библиотеку и несколько библиотек мешают , так? Вы не можете адаптировать к Вашей библиотеке скетч , Temp+ Humi с выводом на lcd . Датчик DHT-21?
напишите мне на имейл, что бы здесь не засорять.
igor.silenock@gmail.com
Вот в этом видел я подключал датчик температуры и влажности: ruclips.net/video/0MXUAq84TMk/видео.html
Здравствуйте! хорошее видео но мне не помогло , у меня v- 1.8.1 не проходит строка [0x3F,2,1,0,4,5,6,7,3,POSITIVE]; и далее lcd,begin[16,2] тоже не проходит если скобки пустые то проходит, я недавно занимаюсь ардуино и вопросов много , единственное с v- 1,0,6 примеры загружаются и экран полноценно работает с других только начальный символ ,прошу помочь.
Добрый день. Я использую последнюю версию, и, как видели, у меня работает. Надо разодраться что у вас не так.
Библиотеку поставили ту на которую я дал ссылку? Напишите что именно выдаёт IDE во время компиляции. Внизу в черном окошке скопируйте все что там написано и напишите здесь
Да, кстати, замечен "Глюк" - иногда во время компиляции выдает ошибки. Нужно сохранить скетч в другом месте:
Файл - сохранить как
После этого компиляция проходит нормально. Пробуйте.
@@UCanDo походу чувак, кривой скетч, у меня тоже с POSITIVE трабл, библы как и рекомендил, поставил, даже левые установил на i2c и Led display.
е универсально средство, и да, ране проект с nrf24L01 у тебя тоже не работал. Ты в каком времени пишешь контент?
Проблема в том что существует очень много библиотек и примеры от одних библиотек не будут работать на других библиотеках. Если хотите чтобы у вас заработал пример из видео, то нужно установить именно те библиотеки, которые в видео и используются! Ссылку на них вы найдёте в описании под видео.
@@UCanDo Arduino lab расставил все точки над И
Доброго дня! Не компилируется , пишет неверная библиотека, ещё такой вопрос у меня стоят две версии ID 1.6.0 и 1.8.1, FlProg обращается к версии 1,8,1 это можно изменить? или нужно более старую версию FlProg ,открываю две версии устанавливаю один и тот же скетч : Heloy World сравниваю , всё идентично единственное в старой версии больше кб ,со старой работает с новой только начальные буквы , нигде не найду старую версию FlProg ,честно устал биться я электронщик а программист с меня никакой если поможете , буду очень признателен т.к мне это нужно для работы, спасибо!
Зачем вы сами себе проблемы делаете? Удалите все. Поставьте с нуля чистую 1.8.1.
Установите библиотеку: скачайте архив, распакуйте, распакуйте архив LiquidCrystal_V1.2.1.zip
из него папку LiquidCrystal закиньте по адресу:
Мои документы \ Arduino \ libraries
компилируйте.
Повторюсь: Напишите что именно выдаёт IDE во время компиляции. Внизу в черном окошке скопируйте все что там написано и напишите здесь. Я не экстрасенс. Что там у вас и как - знаете только вы.
Если вы хотите что-то делать, какие-то проекты, то забудьте про FlProg. Изучайте программирование в Ардуино, а еще лучше изучайте CodeVisionAVR.
привет у меня такая ошибка что делать 'POSIYIVE' was not declared in this scope
Что-то с библиотеками. Скорее всего не все установлены
_1602_i2c.ino:6:53: error: 'POSITIVE' was not declared in this scope
Ошибка компиляции. тожк самое и тоже библиотека Ваша(((
Вы сначала удалите все уже установленные библиотеки для этого дисплея. После этого установите мою библиотеку. Все будет работать.
У вас просто по компиляции всегда берет одну и ту же не подходящую библиотеку. Удалите ее и все будет работать.
помогите я не умею скачивать библиотеки
Гугл в помощь: "Как скачивать библиотеки" или "Как устанавливать библиотеки Ардуино"
я методом тыка понял
Да, все не сложно :)
))))
У меня ошибка компеляции
Почему у меня не работает 😭
Причин может быть две:
1) неправильно подключили
2) неправильно настроили
Вторая причина самая распространённая. Существует множество библиотек, они все по-разному работают. Скетч от одной библиотеки не подойдёт для другой. По этому может не работать
здравствуйте.может кто подскажет? купил типа такого. по I2C. выводит только первую букву в первой и второй строке..
Может скетч неправильный?
@@UCanDo уже разобрался. кучу библиотек перекопал. одна подошла
@@user-tk6yx1np9d какая
@@Artim4ik если надо скину. на окончании мастер
@@user-tk6yx1np9d да плиз а то текст не показуется
У меня вопрос : А ты сам библиотеки можешь писать или редактировать?
Свои библиотеки на разу не писал, не было необходимости. А вот редактировать приходилось. Больше всего возился с библиотекой UTFT для подключения дисплеев от телефонов.
у меня только первая буква в строке отображается. Почему?
Какой скетч используете?
@@UCanDo
любой типа такого
#include
#include
LiquidCrystal_I2C lcd(0x27,16,2);
void setup()
{
lcd.init();
lcd.backlight();
}
void loop()
{
lcd.setCursor(0,0); // Устанавливаем курсор в начало 1 строки
lcd.print("12345678"); // Выводим текст
lcd.setCursor(0,1);
lcd.print("nahyj");
lcd.setCursor(7,1);// Выводим текст
lcd.print("xer");
}
извините за текст, но напрягло. Выводится только 1, n, x в указанных знакоместах, т.е. только первый знак текста, а не ("12345678") и остальное.
Я подозреваю что дело в библиотеке - у вас более ранняя версия библиотеки наверно
@@UCanDo отбой - разобрался. Подключил другую библиотеку. Оказывается, библиотеки могут быть и с ошибками. на правильной библиотеке все работает
Я ещё не встречал библиотеки с ошибками.
Каждая библиотека имеет свой собственный синтаксис и команды, по этому скетч от одной библиотеки не будет работать если использовать другую библиотеку.
@@UCanDo так я и пример из нее пробовал - тоже только первая буква слова публикуется. С другой библиотекой все в порядке.
Не работает у тебя там. Где POSITIVE ошибка что людей обманываешь?
То если у вас не работает то я обманываю что работает у меня? Ну и логика! А видео я подделал?
Проверьте какие библиотеки у вас подтягиваются во время компиляции
да блин как и было что на экране букв и цыфр небыло! ТАК И ОСТАЛОСЬ помоги пд!
Вы пробовали контрастность настраивать?
@@UCanDo да, нечего не меняется
@@UCanDo если присмотреться то увидеть пиксели, они одинаковые, поэтому видно что текста там вообще нету
@@UCanDo так что мне делать?
@@UCanDo ау
У меня штырьков нету на дисплее
Если вам они нужны - припаяйте.
@@UCanDo А без пайки можно, у меня просто паяльника нету.
Без пайки вы не сможете закрепить гребенку
Тупо указал на адреса, но не указал что именно нужно сделать. Типа ковыряйте сами и прибудет вам счастье,
Все подробно сказано что куда и как.
Вода
рукажоп, ни куда, ни что подключает, просто можно скачать картинку и показать что экран горит, на этом все
Вы невнимательно смотрели видео. Что куда и как подключается говорится очень подробно.
За 4 года существования видео вы единственный кто не понял что и как делать....