Arduino и универсальный дисплейный модуль TE-ULCD

Тема в разделе "Глядите, что я сделал", создана пользователем Валерий, 24 авг 2011.

  1. Валерий

    Валерий Нерд

    Если после прочтения статьи в вики появились вопросы или предложению по улучшению кода предлагаю обсуждать их здесь.
     
  2. nailxx

    nailxx Официальный Нерд Администратор

    Крутейшая статья, Валерий! Спасибо большое.
     
  3. Different

    Different Нерд

    Отличная статья!
    Кстати, время с Яндекса можно брать гораздо проще. Для этого у них есть специальный сервис Яндекс.Время. Запрос на http://time.yandex.ru/js/sync.js.xml выдаст временную метку с точностью до секунды.
     
    Валерий нравится это.
  4. Валерий

    Валерий Нерд

    Сделал библиотеку ULCD для работы с универсальным дисплейным модулем, немного поправил статью в вики. Для иллюстрации примера работы с библиотекой (и в качестве проверки :)) сделал еще вот такой пример:
    [​IMG]
    три кнопки включают/выключают светодиоды, а элемент "колесико" управляет сервой. Вот плохонькое (моя камера плохо снимает с экранов, видимо не хватает динамического диапазона) видео:


    P. S. Different спасибо! Не знал что можно так просто получить время.
     
  5. nailxx

    nailxx Официальный Нерд Администратор

    Супер! Ещё чуть-чуть и iPod получится :)
     
  6. Different

    Different Нерд

    Валерий, Яндекс буквально на днях внёс изменения в выдачу времени. Теперь временная метка выдается по адресу http://time.yandex.ru/async/sync.json.xml, причем в миллисекундах с округлением до секунд.
    Кроме этого, в JSON-формате можно получать еще много интересной информации вплоть до погоды, если добавить в запрос пару дополнительных параметров, например для Москвы так: http://time.yandex.ru/async/sync.json.xml?lang=ru&geo=213
     
  7. Валерий

    Валерий Нерд

    Немного доработал скетч, добавил датчик температуры для квартиры и улицы, датчик давления для предсказания погоды с историей, отображение прогноза погоды с GISMeteo на ближайшие 24 часа:
    [​IMG]
     
    lazarew.stepan нравится это.
  8. А где можно купить такой универсальный дисплейный модуль?
     
  9. nailxx

    nailxx Официальный Нерд Администратор

  10. а можно же такое сделать и с модулем для wi-fi?
     
  11. Валерий

    Валерий Нерд

    Коммуникация с модулем осуществляется по SPI, каких либо ограничений на использование с другими устройствами он не налагает, разве что габариты и электропитание.
    Кстати, на форуме Терры есть хороший пример реализации интерфейса для TE-ULCD с описанием его создания:

     
  12. vit

    vit Нуб

    Валерий здравствуйте....решил попробовать Ваш маленький пример
    #include <ULCD.h> ULCD lcd; // ... lcd.LOAD_PICTURE(1, "back.bmp"); //Загружаем картинку с microSD в регистр R1 lcd.CR_WID(5); //Создаем виджет BitMap (для фона) lcd.SET_SIZE(320, 240); //Устанавливаем размер BitMap равным размеру экрана TE-ULCD35 lcd.SET_POS(0, 0); //Устанавливаем позицию BitMap lcd.SET_PICTURE(1); //устанавливаем картинку для виджета из регистра R1
    при компиляции выдает вот такую ошибку...

    C:\arduino-0017\hardware\libraries\ULCD\ULCD.cpp:203: error: invalid types 'int[int]' for array subscript

    с чем может связано быть?

    заранее благодарен.
     
  13. vit

    vit Нуб

  14. Валерий

    Валерий Нерд

    Виталий добрый день!
    Попробуйте установить ArduinoIDE 022 (или 023) и загрузите скетч из примера выше (это про три светодиода и сервопривод).
    P. S. На SD-карте не должно быть никаких скриптов.
     
  15. Lesnik

    Lesnik Нуб

    Валерий, вечер добрый!
    Помогите советом, если есть возможность.

    Попробовал подключить ULCD 56 к Ардуино Мега, скетч со светодиодами не пошел.

    Скрипты на карте стер.
    Исправил Wprogram.H на Arduino.H в библиотеке, была ошибка при компиляции.
    Теперь нет ошибок при компиляции.
    Отключил серво библитеку и все выводы на серво - остались только светодиоды с кнопками - не идет.

    При наличии скриптов на карте - показывает скрипт с диска микро SD.При записи других скриптов на SD карту их тоже воспроизводит и реагирует на нажатия.
    Питание сделал отдельно от отдельного блока питания на 5 В.

    Начал думать в сторону проверки напряжений от Ардуино к ULCD:
    Вопросы:
    1. на приведенной схеме не корректируется напряжение от MISO Ардуино к ULCD - подается напрямую (т,е. 5В), хотя остальные корректируются до 3В.
    Почему?
    2. Указана кроме GND Ардуино еще земля на схеме подключения - это к чему надо заземлить?

    3.Распиновка контактов SPI (Х6) в шахматном порядке, от 1 где стрелочка на корпусе разъема. Аналогично распиновке на соседнем X8 для питания, где 5 пин - ключ (т.е. нет пина)?

    Как еще можно потестить подключение?
    похоже, сам дисплей работает, от Ардуино управление не проходит.

    С уважением,
    Константин
     
  16. Валерий

    Валерий Нерд

    Константин, ответил вам в личную переписку.