Чтобы кадрами делать, необходимо всю картинку в памяти держать, что возможно только для монитора 5110, а тут не хватает памяти, чтобы данные от ADC хранить. Если оценивать целиком отрисовку всего экрана, то дуинка его отрисовывает приблизительно за 1 секунду, точно не измерял.
Скорость отрисовки тут зависит от сложности графика. Данная картинка мене секунды рисуется. 5 периодов от 0 до 3.3В отрисовывается до 2-х секунд. Когда периодов ближе к 50, невооруженным глазом видно как перерисовавается весь график на протяжении нескольких секунд. Конечно есть еще задержка на работу самого ADC.
Алгоритм в 2-х словах:
1. Выполняется функция измерений, в количестве numOfSamples штук. Между измерениями может быть задержка в микросекундах для масштабирования. Чем меньше частота сигнала, тем больше задержка, чтобы на дисплее увидеть приблизительно 2 периода при автоматическом масштабировании. Данные сразу пересчитываются на масштаб отображения. Далее 2.
2. Отрисовка выполняется посредством стирания старой линии с одновременной отрисовкой новой линии. Отрисовка новой линии отстает от стирания на 2 измерения (семпла), т.о. при перерисовке появляется эффект бегущего огонька. Горизонтальные линии всегда короткие и рисуются очень быстро. Вертикальные, всегда длинные, потому рисуются медленно, от чего при большом количестве вертикальных линий отрисовка и происходит со значительно более медленной скоростью.
3. вывод текста, отработка меню по USART не заслуживают особого внимания.
хотя, я сегодня подключал свою arduino uno с этим диплеем к гениратору, и паралельно подключил обычный осциллограф, так мало того что осцилограф на дуине врет, так он еще и подсаживает положительную полуволну. Не сильно но на паралельном осциллографе это видно
Проверять на осцилографе можно только сравнивая частоты и амплитуды, т.к. отображается картинка позже по времени после измерения. У меня именно 7-й и 8-й пины, единственные свободные от монитора, а моник сидит на первых 5. И ДА, ADC подсаживает сигнал, на stm32 значительно сильнее. Для этого обычно усилители ставят.
я не говорю за картинку. Картинка как раз очень порадовала. Красивая, четкая синусоида, и то что она медленно отрисовывается это не проблема. Огорчило то, что амплитуда и частота пишутся с отклонениями.
Я даже на вход подключил пальчиковую батарейку предварительно заменив напряжение на ней поверинным прибором. Вольтметр показал 1.569 В а дуина мне выдала линию на отметке 1.27В
Далее я генератором задал частоту синусоиды 500 Гц 2 В на что дуина мне выдала 320Гц 1,36В и красивую синусоиду правда положительная полуволна слегка просажена (тоже самое произошло на паралельно подключенном осциллографе при присоединении дуины)
Ну расчет часототы и вольтаж зависит от настроек. Там есть константы, которые за это отвечают. За вольтаж именно константа. За частоту отвечает задержка между измерениями, вроде там в коде минимальная задержка, как задержка в работе самого adc, стоит 30микросекунд, вот ее и надо регулировать. Плюс регулируется центральная горизонтальная полоска, которая определяет позицию измерений, ее можно двигать вверх вниз и количество точек от начала до следующего пересечения с сигналом, помноженное на время измерения и будет время полупериода, от куда и считается частота. Расчеты очень грубые, вот и врет... 50hz у меня тоже скачут в приличном диапазоне, но вполне угадываются...
есть один вопрос у меня могут удалять комментарии в форуме? я так спрашиваю был один форум и там мне один ответил линком на страницу в интернете, теперь зашёл на форум и там нет больше его комментарии и совсем будто не было
Идеально, сперва посмотреть на успехи окружающих с понравившимся монитором, если у людей получилось его подключить - значит можно брать. Если сперва взять неизвестный моник, а потом пытаться его подключить - можно очень долго безуспешно пытаться заставить его работать, ибо не только надо знать распиновку, но и последовательность команд для инициализации. Заказывайте тач дисплей, что выше обсуждался, легко управляется, точно работает, есть куча примеров и цена смешная!
P.s. не замечал, чтобы от сюда ссылки удаляли. Мы же не спамим, а по делу :)
Всем доброе утро. Спасибо за ответ dtvims , полностью согласен с тобою ну просто у меня две таких мониторов имеются. Увидев в форуме тут осциллограф можно собрать который мне очень нужен как инструмент как по работе а так и дома подумал самая подходящий момент его использовать и заодно было жалко столько денег отданных когда то и так неиспользованным остался.
Органы управления, можно и нужно делать как кому удобнее, тут и куча вариантов в сети имеется. В схемотехнике, там максимум добавлен какой-нибудь операционный усилитель и защита, ну и готовый щуп. За 40 баксов ничего более там и нету... Еще там контроллер в несколько раз шустрее дуины и, для полного счастья, китайский, т.е. без документации (хорошо если маркировка будет).
Ключевое - это заменить U8GLIB_MINI12864 на U8GLIB_PCD8544
const byte lcdLED = 6; // LED Backlight
const byte lcdA0 = 7; // D/C - Data and command selections. L: command H : data
const byte lcdRESET = 8; // RST- Low reset
const byte lcdCS = 9; // SCE - SPI Chip Select (internally pulled up), active low
const byte lcdMOSI = 11; // DIN(MOSI) - SPI Data transmission
const byte lcdSCK = 13; // SCK - SPI Serial Clock
а вот дальше начинаются проблемы, что разрешение экрана меньше чем надо :(
На фото дисплей 5110 с последней программой, а на дуине замкнут adc7 с d0(rx), таким образом на вход осцилографа подается сигнал с uart'а, куда бегут с компа буковки "а".
Для последнего код выложен выше. Для 5110 код не сохранился как не заслуживающий внимания ибо отличался от исходного проекта оставленного автором только названием библиотеки, а впоследствии правкой констант, регулирующих размеры экрана.
ну дык я почистил все ненужные обращения в последовательный порт, один хрен задавать параметры по нему как-то стремно если уже есть экран. освободилось очень много места, но еще не хватает 200 байт. пробовал комментировать незадействованные методы в библиотеке TFТ но они видимо и так не компилируются и память не занимают.
ради 200 байт задействовать мегу вместо мини про это кощунство. пока думаю вот этот вариант
Еще можно избавиться от загрузчика arduino, воспользоваться AVRStudio и залить прошивку как на чистый МК - еще и место останется. Правда придется переписать чуток саму прошивку - избавиться от функций библиотек arduino.
Проверено, что если не использовать библиотеки Arduino и компилить в чистый МК в AVRStudio разница очень существенная. На простых задачах разница в несколько раз.
Да взять хотябы одну инициализацию переферии в Arduino по умолчанию, добавим настройки компилятора (оптимизация), убираем загрузчик, работа напрямую с портами - места много освободится.
В самом скетче осцилографа, при выводе на дисплей, тоже оптимизацией никто не занимался, там можно огого как развернуться.
я не умею работать напрямую с портами и AvrStudio в глаза не видел, так что ничего сказать не могу на этот счет. ардуинка мне нравится именно тем, что можно не "работать напрямую с портами". так что мой выбор по прежднему 23k256, благо что чип+дип вроде бы взялся за ум и внезапно выставил адекватные ценники. я так понимаю, что pro mini 3.3вольтовая + 23k256 = 34 kb ОЗУ практически без плясок с бубном.
У чип и дипа адекватные цены только в оптовом отделе, где заказ минимум на 400р., ито не на все, так что если уж очень хочется у них, то не пользуйтесь розницой. А работать с чистым контроллером не на много сложнее - инструкций в сети навалом, в этом особенная прелесть AVR.
ты просто давненько не заходил к ним. эти гуси по ценам умудрились переплюнуть даже нижегородский чип (chip-nn.ru). естественно, не по всем разделам, например в раздел ардуинок на чип+дипе лучше даже не заходить, зато к примеру предмет обсуждения реально стоит 37 руб при заказе от 10 штук, единичный заказ 75 руб. http://www.chipdip.ru/product/23k256-i-sn/ жаль что корпус soip8, но это небольшая проблема.
А теперь найди такой же ценник на ебее, везде раз в десять (!!!) дороже.
Доставку сделали тоже норм, через Евросеть около 180 руб. год назад никогда бы не подумал что буду однажды хвалить чип+дип, но в жизни всякие чудеса случаются )))
Удвоение толщины линий пошло на пользу :)
Параметром "const byte vTextShift = 130;", в начале скетча, двигаем текст ниже, а все остальное удваиваем вот так:
Недостатком, что отрисовка стала медленнее, т.к. рисовать стало больше, зато красивше:
Сколько герц или кадров в секунду получилось?
Чтобы кадрами делать, необходимо всю картинку в памяти держать, что возможно только для монитора 5110, а тут не хватает памяти, чтобы данные от ADC хранить. Если оценивать целиком отрисовку всего экрана, то дуинка его отрисовывает приблизительно за 1 секунду, точно не измерял.
Скорость отрисовки тут зависит от сложности графика. Данная картинка мене секунды рисуется. 5 периодов от 0 до 3.3В отрисовывается до 2-х секунд. Когда периодов ближе к 50, невооруженным глазом видно как перерисовавается весь график на протяжении нескольких секунд. Конечно есть еще задержка на работу самого ADC.
Алгоритм в 2-х словах:
1. Выполняется функция измерений, в количестве numOfSamples штук. Между измерениями может быть задержка в микросекундах для масштабирования. Чем меньше частота сигнала, тем больше задержка, чтобы на дисплее увидеть приблизительно 2 периода при автоматическом масштабировании. Данные сразу пересчитываются на масштаб отображения. Далее 2.
2. Отрисовка выполняется посредством стирания старой линии с одновременной отрисовкой новой линии. Отрисовка новой линии отстает от стирания на 2 измерения (семпла), т.о. при перерисовке появляется эффект бегущего огонька. Горизонтальные линии всегда короткие и рисуются очень быстро. Вертикальные, всегда длинные, потому рисуются медленно, от чего при большом количестве вертикальных линий отрисовка и происходит со значительно более медленной скоростью.
3. вывод текста, отработка меню по USART не заслуживают особого внимания.
4. Возвращемся на 1-й пункт.
я так понимаю const byte theAnalogPin = 7; нужно изменить на пин А5?
Зачем?
Так а куда щуп подключить? Ведь 7 американских используются
Телефон слова заменяет, как ему вздумается
Так а куда щуп подключить? Ведь 7 пин используется экраном
хотя, я сегодня подключал свою arduino uno с этим диплеем к гениратору, и паралельно подключил обычный осциллограф, так мало того что осцилограф на дуине врет, так он еще и подсаживает положительную полуволну. Не сильно но на паралельном осциллографе это видно
Проверять на осцилографе можно только сравнивая частоты и амплитуды, т.к. отображается картинка позже по времени после измерения. У меня именно 7-й и 8-й пины, единственные свободные от монитора, а моник сидит на первых 5. И ДА, ADC подсаживает сигнал, на stm32 значительно сильнее. Для этого обычно усилители ставят.
я не говорю за картинку. Картинка как раз очень порадовала. Красивая, четкая синусоида, и то что она медленно отрисовывается это не проблема. Огорчило то, что амплитуда и частота пишутся с отклонениями.
Я даже на вход подключил пальчиковую батарейку предварительно заменив напряжение на ней поверинным прибором. Вольтметр показал 1.569 В а дуина мне выдала линию на отметке 1.27В
Далее я генератором задал частоту синусоиды 500 Гц 2 В на что дуина мне выдала 320Гц 1,36В и красивую синусоиду правда положительная полуволна слегка просажена (тоже самое произошло на паралельно подключенном осциллографе при присоединении дуины)
Ну расчет часототы и вольтаж зависит от настроек. Там есть константы, которые за это отвечают. За вольтаж именно константа. За частоту отвечает задержка между измерениями, вроде там в коде минимальная задержка, как задержка в работе самого adc, стоит 30микросекунд, вот ее и надо регулировать. Плюс регулируется центральная горизонтальная полоска, которая определяет позицию измерений, ее можно двигать вверх вниз и количество точек от начала до следующего пересечения с сигналом, помноженное на время измерения и будет время полупериода, от куда и считается частота. Расчеты очень грубые, вот и врет... 50hz у меня тоже скачут в приличном диапазоне, но вполне угадываются...
У китайцев такие осциллографы по 40 баксов: http://www.dx.com/ru/p/234107
Думается на ebay или на aliexpres дешевле найти можно. Есть модельки и еще интереснее. Но вся фишка в том, чтобы сделать самому!
Да, в том то и дело, что интересно самому
ЖК дисплей HITACHI LMG7400PLFC
240 x128 HD61830B подобный дисплей обсуждали в начале темы, перечитай и все получитсяhttp://pdf1.alldatasheet.com/datasheet-pdf/view/147627/HITACHI/LMG7400PLFC.html
Спасибо pooller за ответ ша посмотрю
Там в датащите рапиновка написана вот и подключай согласно схемы
есть один вопрос у меня могут удалять комментарии в форуме? я так спрашиваю был один форум и там мне один ответил линком на страницу в интернете, теперь зашёл на форум и там нет больше его комментарии и совсем будто не было
Не знаю, сам тут чуть больше месяца.
Что то ничего не понял один туман, завтра по новой посмотрю.
Идеально, сперва посмотреть на успехи окружающих с понравившимся монитором, если у людей получилось его подключить - значит можно брать. Если сперва взять неизвестный моник, а потом пытаться его подключить - можно очень долго безуспешно пытаться заставить его работать, ибо не только надо знать распиновку, но и последовательность команд для инициализации. Заказывайте тач дисплей, что выше обсуждался, легко управляется, точно работает, есть куча примеров и цена смешная!
P.s. не замечал, чтобы от сюда ссылки удаляли. Мы же не спамим, а по делу :)
Всем доброе утро. Спасибо за ответ dtvims , полностью согласен с тобою ну просто у меня две таких мониторов имеются. Увидев в форуме тут осциллограф можно собрать который мне очень нужен как инструмент как по работе а так и дома подумал самая подходящий момент его использовать и заодно было жалко столько денег отданных когда то и так неиспользованным остался.
Органы управления, можно и нужно делать как кому удобнее, тут и куча вариантов в сети имеется. В схемотехнике, там максимум добавлен какой-нибудь операционный усилитель и защита, ну и готовый щуп. За 40 баксов ничего более там и нету... Еще там контроллер в несколько раз шустрее дуины и, для полного счастья, китайский, т.е. без документации (хорошо если маркировка будет).
0
Удвоение толщины линий пошло на пользу :)
Параметром "const byte vTextShift = 130;", в начале скетча, двигаем текст ниже, а все остальное удваиваем вот так:
Недостатком, что отрисовка стала медленнее, т.к. рисовать стало больше, зато красивше:
А можно ли полный код выложить для этого дисплея и дисплея от нокии 5110?
Ключевое - это заменить U8GLIB_MINI12864 на U8GLIB_PCD8544
а вот дальше начинаются проблемы, что разрешение экрана меньше чем надо :(
На фото дисплей 5110 с последней программой, а на дуине замкнут adc7 с d0(rx), таким образом на вход осцилографа подается сигнал с uart'а, куда бегут с компа буковки "а".
Не компилитьсяпод arduino uno
Для последнего код выложен выше. Для 5110 код не сохранился как не заслуживающий внимания ибо отличался от исходного проекта оставленного автором только названием библиотеки, а впоследствии правкой констант, регулирующих размеры экрана.
для дисплея QVGA на ILI9340 скомпилировать не получилось, хотя родные примеры от Adafruit компилируются и запускаются.
а можо выложить финальный код вместе с библиотеками, в которых делались изменения, а то половина ссылок уже не работает ??
упсь, вроде разобрался, скомпилировалось, но для переменных нужно 3186 байт, в ардуину мини не влезет. чо за хрень ? ))
память закончилась. бери что то с большой памятью или перелопать код. обычно много от чего можно избавится
вместо объявления пина например
использовать
ну и так далее
портами управлять напрямую
константы хранить во флеше
короче есть варианты. но проще купить другую железку
та есть у меня мега, просто не хочется ее тратить на енто дело.
афтар начинал с того, что у него завалялась мини про и дисплей 5110, вот и подумалось что проект он впихнул в мини про.
та есть у меня мега, просто не хочется ее тратить на енто дело.
афтар начинал с того, что у него завалялась мини про и дисплей 5110, вот и подумалось что проект он впихнул в мини про.
Вот и я надеялся что на не дорогом железеполучится осцилографический пробничек.
ну дык я почистил все ненужные обращения в последовательный порт, один хрен задавать параметры по нему как-то стремно если уже есть экран. освободилось очень много места, но еще не хватает 200 байт. пробовал комментировать незадействованные методы в библиотеке TFТ но они видимо и так не компилируются и память не занимают.
ради 200 байт задействовать мегу вместо мини про это кощунство. пока думаю вот этот вариант
http://ucexperiment.wordpress.com/2013/02/23/interfacing-microchip-23k256-32kb-sram-spi-memory-to-the-arduino/
цена вопроса 37 руб (при заказе от 10 штук) получаем дополнительно 32 кб ОЗУ и радуемся.
одно не пойму - почему до сих пор это никто из местных не реализовал.
ну и второй вариант - копать другую библиотеку графическую и еще уменьшать размер занимаемой памяти. возможно, что-то сбросить в eeprom
есть еще вариант отказаться от чисел с плавающей точкой, это позволит сэкономить сразу прилично памяти, но для этого уже нужно код перелопачивать
Ну мне вообще не поплечу такие подвиги)),слабоват в программировании я
убери вообще все обращения в uart, как и Serial.begin. там только при инициализации сразу около 200 байт резервируется под буфер
не хватает 81 байт.... чувствую без 23к256 не обойтись..
еще поковыряйся
кинь хоть код который переделываешь
Еще можно избавиться от загрузчика arduino, воспользоваться AVRStudio и залить прошивку как на чистый МК - еще и место останется. Правда придется переписать чуток саму прошивку - избавиться от функций библиотек arduino.
можно, наверное, но всё равно памяти будет очень впритык.... так что заказал 23k256. :-)
Проверено, что если не использовать библиотеки Arduino и компилить в чистый МК в AVRStudio разница очень существенная. На простых задачах разница в несколько раз.
Да взять хотябы одну инициализацию переферии в Arduino по умолчанию, добавим настройки компилятора (оптимизация), убираем загрузчик, работа напрямую с портами - места много освободится.
В самом скетче осцилографа, при выводе на дисплей, тоже оптимизацией никто не занимался, там можно огого как развернуться.
я не умею работать напрямую с портами и AvrStudio в глаза не видел, так что ничего сказать не могу на этот счет. ардуинка мне нравится именно тем, что можно не "работать напрямую с портами". так что мой выбор по прежднему 23k256, благо что чип+дип вроде бы взялся за ум и внезапно выставил адекватные ценники. я так понимаю, что pro mini 3.3вольтовая + 23k256 = 34 kb ОЗУ практически без плясок с бубном.
У чип и дипа адекватные цены только в оптовом отделе, где заказ минимум на 400р., ито не на все, так что если уж очень хочется у них, то не пользуйтесь розницой. А работать с чистым контроллером не на много сложнее - инструкций в сети навалом, в этом особенная прелесть AVR.
ты просто давненько не заходил к ним. эти гуси по ценам умудрились переплюнуть даже нижегородский чип (chip-nn.ru). естественно, не по всем разделам, например в раздел ардуинок на чип+дипе лучше даже не заходить, зато к примеру предмет обсуждения реально стоит 37 руб при заказе от 10 штук, единичный заказ 75 руб.
http://www.chipdip.ru/product/23k256-i-sn/ жаль что корпус soip8, но это небольшая проблема.
А теперь найди такой же ценник на ебее, везде раз в десять (!!!) дороже.
Доставку сделали тоже норм, через Евросеть около 180 руб. год назад никогда бы не подумал что буду однажды хвалить чип+дип, но в жизни всякие чудеса случаются )))
кстати, оставь плиз какой-нибудь контакт - аську, скайп чего-нибудь..