Взял себе LCD 1602А дисплей и никак не могу заставить его вывести инфу. Пишу под PIC16F73, проект в архиве. Использую 4bit подключение, подсветка работает - значит не сгорел. Прочитав про подключение LCD понял, что проблема может быть инициализации, потому думаю, что ошибка в этом. Изначально руководствовался этим примером https://electrosome.com/lcd-pic-mplab-xc8/, уже есть либа и все такое. Дописал свою функцию инициализации, чтобы не изменять исходник либы, пришлось в итоге одну строчку заменить. Также нашел Datasheet для этого LCD http://aquacontrol.narod.ru/spravka/WH1602A-YGH-CTK.pdf.
Интересует также вопрос о том как правильно передавать данные. Например, нужно отправить 0x0C, есть ли смысл отправлять старшую тетраду или нет?
Кто с такой проблемой сталкивался, пожалуйста, поделитесь
А кто будет на третий вывод напряжение "контраст" подавать? Спойлер А эти индикаторы без него ничего не показывают!! Нужен резистор 0т 10 до 25 кОм, крайние выводы- один на питание +5 вольт, второй- на "землю", а вывод "движка" на 3-ий вывод, и крутить резистор пока не начнут слегка "светиться" знакоместа в верхней строке. Когда индикатор начнёт показывать текст, то немного ещё подрегулировать "по вкусу"..
Подсветка в этом индикаторе- просто светодиоды под ЖК- индикатором, а третий вывод- никакая не "заглушка", без подачи напряжения на этот вывод индикатор ничего не покажет!!! Посмотрите на ваш индикатор с другой стороны- может, дорожка есть там, а ещё она может быть ВНУТРИ платы (многослойная плата, например)
Видите, на схеме справа- переменный (подстроечный) резистор- его, после подачи питания ПРОСТО только НА ИНДИКАТОР, нужно покрутить, пока на индикаторе не появится примерно такое изображение:
После этого, если вы все данные на него будете подавать правильно, то вы чего- нибудь, да увидите.. Потом, для получения наилучшего изображения резистор ещё надо будет покрутить..
зы.. Из ВАШЕГО пдф- ника: 8-я страница: вывод 3 VO (Variable) Operating voltage for LCD 9-я страница- ПО САМОЙ СЕРЕДИНЕ- схема, на которой показан подстроечный резистор, подключённый к выводам Vdd, Vss и Vo.. ОН НУЖЕН!!!!
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Подал на третий пин 5V с резистором на 20кОм. Ничего не изменилось.. Этот третий пин на тестере выдает питание, это нормально? Можете кинуть свою программу? Скажите следующие, я фотку скидывал, там третий пин на плате не имеет никуда вывода. Как это?
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Подал на третий пин 5V с резистором на 20кОм. Ничего не изменилось.. Этот третий пин на тестере выдает питание, это нормально? Можете кинуть свою программу?
У меня программы НЕТУ, просто я знаю, как эти индикаторы подключаются.. Просто через 20 кОм подать 5 вольт- может быть недостаточно. Подключите только питание- 1 вывод "земля", 2 вывод- +5 вольт, а третий вывод- через подстроечный или переменный резистор. Кстати, спалить эти индикаторы легче лёгкого- просто перепутать питание.. Вот я летом таймер для фоторезиста макетировал: справа из- под индикатора выглядывает синенький подстроечник..
Если у вас нет подстроечника, то попытайтесь найти с десяток резисторов по 1 кОм (ну, или десяток одинаковых от 470 Ом до 3-х кОм), соедините их последовательноЮ один конец цепочки- на землю, второй конец- на 5 вольт, а третий вывод индикатора переключайте между выводами резисторов цепочки- получится "ступенчатый" переменник.. Если вы квадратиков на знакоместах не увидите, то может быть два варианта- либо у вас уже сдохший индикатор, либо у вас индикатор с "расширенным температурным диапазоном" - у такого напряжение на выводе 3 может быть и отрицательным.
третий пин 5V с резистором на 20кОм. Ничего не изменилось..
Там не с плюсом нужно соединять, а с общим через резистор, причем требуемое сопротивление может иметь большой возможный диапазон, а у Винстара лучше через подстроечник.
Спасибо коты! Проблему решил и она была в двух местах.
LCD 1602A
Первая проблема: Контраст обязателен для LCD, как и говорил АлександрЛ. Купил червячный переменный резистор до 50кОм, начало нормально показывать на 40кОм. Жаль что не пишут в даташит какое нужно сопротивление для этого.
Первая проблема: Вторая проблема оказалась - ошибки в библиотеке. Нашел ее по этой ссылке https://electrosome.com/lcd-pic-mplab-xc8/. Так как я использовал 4bit режим, то и функции соответствующие вызывал, например, Lcd4_Init(), Lcd4_Clear() и еще некоторые. Они оказались ошибочными - отправляли команды не учитывая старшей тетрады переменной типа char. Пришлось написать свои функции.
После решение вышеперечисленных проблем дисплей начал что-то да показывать. Да, нюанс. Когда подключаешь питание, контраст(пины данных остаются не подключенными) - дисплей все равно пустой.
Пишу для PIC в MPLAB X IDE, как напишу свою либу на основе скачанной - закину сюда и распишу что к чему в ней. Сейчас эта либа сырая, в ней еще полно ошибок. Буду писать для 4bit, кто захочет может и для 8bit написать
Контраст обязателен для LCD, как и говорил АлександрЛ. Купил червячный переменный резистор до 50кОм, начало нормально показывать на 40кОм. Жаль что не пишут в даташит какое нужно сопротивление для этого.
А они и не могут этого написать- напряжение "контраста" может быть- для индикаторов с "нормальным" температурным диапазоном- от 0 до V питания, а для индикаторов с "расширенным" температурным диапазоном- от -5 вольт, до V питания.. При чём- даже у ОДИНАКОВЫХ индикаторов оно разное..
Но есть же какое-то среднее значение? Если выпускаются приборы с такими LCD не будут же каждому ставить переменный резистор, чтобы клиент настраивал это сам.
Почему же? Во многих изделиях, есть пункт в меню "контрастность". По крайней мере, это есть почти во всех музыкальных проф. "обработках" и синтезаторах. Там, естественно, не ставят подстроечники "под отвёртку", а формируют напряжение, грубо говоря, из МК (тут уж кто как по схемотехнике)...
Но есть же какое-то среднее значение? Если выпускаются приборы с такими LCD не будут же каждому ставить переменный резистор,
Вот, представьте себе, СТАВЯТ этот переменный резистор.. Иногда подключают этот вывод, через RC - цепочку к выводу МК, которая, при помощи ШИМ формирует нужное (настраиваемое) напряжение..
Просто посмотрите все схемы с подобными индикаторами- почти везде регулировка "контрастности" присутствует. К тому же, у такого ЛСД индикатора ограниченный угол обзора, и, регулируя "контраст," можно немного изменять угол, с которого изображение на индикаторе лучше видно.
Интересно. Шим это хорошо, идеал автоматическая настройка. А можно ли считать значение контраста у lcd? Мол он говорит "Ты меня видишь", "А сейчас не видишь"? Учтите, используется не дорогое оборудование, так сказать доступное, можно же и спалить как будешь велосипед изобретать.
, можно же и спалить как будешь велосипед изобретать.
Что- то никого, кроме вас не "взволновал" регулятор контрастности на основе подстроечного резистора.. Фактически он нужен ОДИН РАЗ при настройке конкретного индикатора. При замене- подстроил, и опять "забыл".. А зачем нужна "автоматическая настройка"- не понимаю, усложнить программу, добавить кусок кода, который будет, фактически, использован только один раз, при первом включении?
Ну, при отлаженной программе- можно так сделать, если вы на 200% уверены в том, что индикатор ДОЛЖЕН показывать, только всё равно- как- то надо будет остановить "настройку".. Ну, впрочем, это вопрос к автору программы, а в порядке "идеи" - настройка индикатора должна активироваться, ну, допустим, при включении устройства с нажатыми одной или двумя кнопками, (ведь в начальный момент мы принимаем, что мы на индикаторе никаких надписей не видим), и плавно изменяя ШИМ сигнал, который через интегрирующую цепочку: Спойлер подаёт на вход "контрастность" плавно изменяющееся напряжение, а на индикатор выводит надпись типа "нажмите такую- то кнопку".. Когда картинка на индикаторе будет "читаемой" пользователь нажимает кнопку, а МК запоминает, при каких параметрах ШИМ это было сделано, и, при последующих включениях устанавливает это значение на этом выводе..
зы.. Только это будет "съедать" и так довольно скромные ресурсы МК, и этот вывод должен постоянно "генерить" нужный сигнал... А ОНО НАДО?
Не получилось добавить текст ниже в статью, выдает ошибку, почините, админы )
Все доброго времени суток, дорогие коты!
Недавно впервые подлючал LCD 1602A с использованием PIC16F73. Нашел пример программы как правльно запустить LCD, в этом примере еще прилагась библиотека. В Proteus все работало замечательно, но жизнь бывает жестока и Proteus не спасает в половине случаев. Поэтому пришлось орткрывать datasheet и читать как же работаь с моим дисплеем. Немного танцев сбубном помогли запустить дисплей. Я никогда с дисплеями не работал, по этому моя первая ошибка была неправильно настроенный контраст. У каждого дисплея он может быть размным. Хорошие товариши из форума подсказали, что это зависит от параметров дисплея, так что крутите переменный резистор пока не увидите матрицу =).
Также проблемной оказалась библиотека из примера, которой я пользовался. Не долго думая я начал писать свою библиотеку. Я ее тестировал на своем ЖКИ и она работает. Вам разве что, нужно будет переписать инициализацию дисплея под себя. Сделал описание каждой функции, какая за что отвечает, коменты на русском, вам не придется лезть в переводчик)
для 1602 библиотека с кучей функций - это избыточная роскошь. у меня всего 3 подпрограммы: - 8-битная команда (вызывается 4 раза при инициализации экрана), - 4-битная команда (задать позицию вывода), - 4-битная передача байта (символа). всё, больше там ни хрена не надо.
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения