Доброго дня, уважаемые котолюбы! Не удивляйтесь, что обращаюсь именно в ваш раздел, но данная проблема требует чёткого понимания работы подобных индикаторов и не нарушить алгоритма работы готового устройства. исходные данные: Имеем 2 устройства : одно 7кнопок и LCD 12864, второе 5 кнопок и LCD 1602 к коду доступа нет !! Доступ только к кнопкам и разъёмам LCD!!! Задача! УДАЛИТЬ ВСЕ кнопки и все LCD (во! здорово я придумал....) и подключить на их место новое совершенно секретное устройство, ....желательно на одном контроллере (на каком?) . Этот контроллер должен тупо сохранить всю информацию поступающею от всех LCD в удобном легко доступном виде для последующего считывания + под каждыми данными сформировать изображение удалённых кнопок (7 под первым и 5 под вторым). для управления кнопками к устройству припаять энкондер или мышь . Я пока точно не определился , но для ориентировки на новом устройстве должно быть не менее 180 строк и 100 столбцов (если будет возможность ,то и больше). Задача вроде бы .... но без вашего опыта работы индикаторами мне пока не осилить... posting.php?mode=reply&f=61&t=99043# Если у кого есть предложения или готовые решения (можно в протеусе)... спасибо.
Карма: 16
Рейтинг сообщений: 170
Зарегистрирован: Вс дек 02, 2012 16:58:33 Сообщений: 828 Откуда: Уже не город Белых гор
Рейтинг сообщения:0
На первый взгляд - бред. Но на второй взгляд вопрос - "как далеко должно быть устройство управления?" И необязательно всё в графике рисовать, можно и кнопками.
Допустим , на счёт кнопок я погорячился, пока..., а вот на счёт контролера , который подключен к разъёмам LCD 12864 и 1602 . и сохраняющего картинки в памяти и готового выдать запомненные картинки на видео контролер построчно. Всё это находится в одной коробочке. Вообщем в конце обработав это получим видео сигнал и подадим на видео вход и на одном экранчике 6 дюймов мы увидим данные двух наших LCD
Добрый день всем! Я новичек в этом деле. Мне нужен совет по подключению графического дисплея RG12864A к Arduino Uno. Подключая все по схеме удается включить только подсветку дисплея. Такое ощущение, что дисплей не рабочий. Либо что-то подключаю не верно. Скажите как проверить дисплей на работоспособность, как заставить включить контрастно все пиксели. Я подавал сигнал на V0 но результата не было. Спасибо.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Всем привет , апну тему ... если в кратце имею дисплэй 12864B v2.0 на чипе ST7920
У емня получилось слать в него комманды и даже рисовать , на экране , но не как не выходит читать данные ... всю дорогу читается 0xFF... прокатил вариант только с чтением Busy Flag ...
Креплю исхрдник библиотеки ...
Код:
/* DISPLAY_st7920.cpp
Библиотека для работы с дисплеями построенными на базе чипа ST7920
проддерживает : 8 бит паралельный интерфейс
Протестированно с дисплеями: 12864B v2.0
Изменения:
*/ //Настройки библиотеки #define DISP_st7920_ControlPort PORTA //Порт в котором находятся сигналы управления RST,RS,RW,E #define DISP_st7920_ControlPortDirect DDRA //ССылка на порт управления контрольным портом #define DISP_st7920_PinRST 4 //ПИН в контрольном порте отвечающий за RST #define DISP_st7920_PinRS 5 //ПИН в контрольном порте отвечающий за RS #define DISP_st7920_PinRW 6 //ПИН в контрольном порте отвечающий за RW #define DISP_st7920_PinE 7 //ПИН в контрольном порте отвечающий за E #define DISP_st7920_DataPort PORTD //Порт с данными #define DISP_st7920_DataPortDirect DDRD //Порт на управление портом данных
//Настройки работы #define DISP_st7920_DelayAccess 34 //Задержка работы чипа дисплея указывается в НС (для некоторх дисплеев надо менять иначе лезут артефакты) #define DISP_st7920_ParalelModeBits 1 //Количество битов при работе с паралельным интерфейсом 0=4/1=8
//НАстройки для графических библиотке #define GraphicDisplayHeight 64 //Высота дисплея #define GraphicDisplayWidth 128 //Ширина дисплея #define GraphicDisplayByteOrientation 0 //Горизонтальная ориентация байтов #define GraphicDisplayPixelFunction //Функция вывода пикселя на экран обязательный формат : function(x,y,mode) mode=0 удалить пиксель/1=установить пиксель/2- изменить на другой
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Правда, позже я отказался от чтения из дисплея - он и так не самый быстрый (медленнее тех, что на ks0108), а тратить время на чтение-модификацию-запись - и того медленнее выходит.
Дело в том что я выбирал его не по скорости , а по другим причинам ... и с корость для меня не очень важна...
Кстати я так понимаю что SPI не увеличит его производительность ?
Так и не понял по какому фронту делать задержки .. в мане явноразрисовано что функция выолняется в период высокой активности Е , но по итоговой там в задержке нет смысла ...э
Сейчас у меня так. Суть - из основной программы я пишу не в дисплей, а в 1кБ кадровый буфер. А уже в дисплей эта информация попадает по прерыванию таймера. Частота таймера 20 кГц (50мкс). То есть, каждое очередное прерывание в дисплей улетает новая порция (байт) данных, либо же команда позиционирования на новую строку.
Раньше было по-другому, в этой версии библиотеки есть и чтение из дисплея.
У меня _delay_us(36); и еле прет ... спсибо за код попробую ваш метод чтения , у меня немного другой алгоритм ... может вы поняли даташит лучше чем я ...
Объясню почему мне не важна скорость , это убдет прибор с мнемосхемой и там не нужно видео 5 FPS мне хватит за глаза .. думаю даже 2 хватит
у меня обширная библиотека дял сорздания меню и вот по этому надо подогнать драйвер этого дисплея ...
Кстати ранее исполь зовал дисплеи от NOKIA но сейчас они уже маленькие ...
Спасибо за помощь , библиотеку как всегда выложу ... если не против то еще позадаю вопросы ...
OKF, простите конечно но вы не по адресу ... если хотите заработать денег то вамне на этот форум ...
Строб может быть очень коротким, важно то, что внутренний цикл записи достаточно длинный, порядка 40мкс. Поэтому слишком быстро данные отсылать смысла нет - не пройдут. На то и нужен опрос бита занятости, чтобы понять, когда можно отсылать следующую порцию данных.
Насчет Proteusa. Скоее всего я не правильно выразился.Дело в том ,что плагина для st7920 под Proteus ,я в сети не нашел.Зато есть ks0108,правда только 8-bit.Библиотека u8glib поддерживает оба дисплея.Инициализация LCD это одна строка в коде.Я писал две,допустим инициализация для SPI(st7920) и 8-bit(ks0108),одна из которых закоментирована в зависимости от того симулирую я в Proteuse или заливаю прошивку в реальный контролер.В симуляторе отладил всю графику,даром не гоняя МК прошивкой.Недостатком было +10 пинов для ks0108. И вот еще "наковырял" в сети пример адаптации STM32F101CBT6 под эту библиотеку ,только под другой дисплей http://blog.bastelhalde.de/?p=759#comment-1567.Хочу еще попробовать портировать под F4 и st7920 .Библиотека действительно неплохая,одних названий функций целая страница,всякие там прямоугольники с закругленными углами,пару десятков шрифтов,картинки в формате xbm.
Это уже очень интересно. У меня как раз проблема моделирования ST7920 в Proteuse. Можно подробнее: что и в каком месте Вы меняете, и как поступаетс графической моделью KS0108, ведь она не совсем совпадает по пинам с пинами ST7920. Proteuse при симуляции работы схемы не матерится ? Можно пример скинуть проекта для AVRSTUDIO ну и проект в PROTEUS? Не пинайте, я новичок.
Read data from internal RAM and alter the (AC) by 1 After address set to read (CGRAM,DDRAM,IRAM…..)a DUMMY READ is required. There is no need to DUMMY READ for the following bytes unless a new address set instruction is issued.
Это старость пришла... слона не заметил еще и капсом выделенный ...
Ну все вроде все читается и пишитеся ...
но на вашей задержке 0.32 по экрану валятся артефакты ... у меня заработало на 12 с периеодичными артефактами и на 16 устойчиво , видимо у меня какаято особо тормозная версия экрана ...
astruve, я уже сто лет не использую протеус, так как несколько раз налипал с отладколй в нем ... не вся физика работает так как надо ... по этому обычно использую макетные платы либо свои либо купленные и собераю в се навесным , финальную модель травлю ...
И так после решения проблемы с пустым чтением... все двинулось
добился всего 18 FPS вывод информациипри дальнейшем уменьшении строба E начинают непрожовываться данные или команды ... гдето тут в ветке писали что сделали 25 . чет сомнительно...
Да экран реально можно использовать лишь через буфер .. вся моя библиотека работы с графикой (шрифты и прочее) при зафиливании по экрану показывает адские тормоза ... даже удивительно , старенький Winstar 12864 и то лучше ....
Ну да ладно мне сойдет , лижбы меню отрисовывалось на днях подредактирую чтобы шрифты норм выводились и сделаю демку ... поглядим как оно все будет ...
Здравствуйте уважаемые форумчане, хотел заинтересоваться может кто знает за LCD 1602? у меня беда, подключил к контроллеру через преобразователь интерфейса SPL, а на экране одни за крашеные строки, схему собрал трехфазного инвертора http://arv.radioliga.com/content/view/64/44 у автора он самодельный на семисегментных индикаторах. Помогите кто может.
Да, ks0108 оказался гораздо более быстрым. Почему я и отказался от чтения и перешёл на использование кадрового буфера и развёртки по прерывания таймера. Очень быстро получается, никаких пустых циклов - но нужно на это дело, ни много ни мало, килобайт ОЗУ.
WiseLord, прикинь у меня всего 1 кб в наличии как бы крутовато ...
Миханикус, во первых вы написали не в ту тему , во вторых вы просто так пытаетесь заменить 7 сег. на 1602 ??? или вы чтото переписали в программе ???
рекуомендую сначала разобраться с этим дисплеем , он способен выводить только симвоьную информацию, для него куча библиотек а в CVAVR даже встроенна поддержка , статей с подробными примерами просто тьма , юзайте гугл , сделайте хоть чтото и покажите вам помогут ... на коте есть тема по этому экрану ...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения