Если после прочтения статьи в вики появились вопросы или предложению по улучшению кода предлагаю обсуждать их здесь.
Отличная статья! Кстати, время с Яндекса можно брать гораздо проще. Для этого у них есть специальный сервис Яндекс.Время. Запрос на http://time.yandex.ru/js/sync.js.xml выдаст временную метку с точностью до секунды.
Сделал библиотеку ULCD для работы с универсальным дисплейным модулем, немного поправил статью в вики. Для иллюстрации примера работы с библиотекой (и в качестве проверки ) сделал еще вот такой пример: три кнопки включают/выключают светодиоды, а элемент "колесико" управляет сервой. Вот плохонькое (моя камера плохо снимает с экранов, видимо не хватает динамического диапазона) видео: P. S. Different спасибо! Не знал что можно так просто получить время.
Валерий, Яндекс буквально на днях внёс изменения в выдачу времени. Теперь временная метка выдается по адресу http://time.yandex.ru/async/sync.json.xml, причем в миллисекундах с округлением до секунд. Кроме этого, в JSON-формате можно получать еще много интересной информации вплоть до погоды, если добавить в запрос пару дополнительных параметров, например для Москвы так: http://time.yandex.ru/async/sync.json.xml?lang=ru&geo=213
Немного доработал скетч, добавил датчик температуры для квартиры и улицы, датчик давления для предсказания погоды с историей, отображение прогноза погоды с GISMeteo на ближайшие 24 часа:
Коммуникация с модулем осуществляется по SPI, каких либо ограничений на использование с другими устройствами он не налагает, разве что габариты и электропитание. Кстати, на форуме Терры есть хороший пример реализации интерфейса для TE-ULCD с описанием его создания:
Валерий здравствуйте....решил попробовать Ваш маленький пример #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 с чем может связано быть? заранее благодарен.
Виталий добрый день! Попробуйте установить ArduinoIDE 022 (или 023) и загрузите скетч из примера выше (это про три светодиода и сервопривод). P. S. На SD-карте не должно быть никаких скриптов.
Валерий, вечер добрый! Помогите советом, если есть возможность. Попробовал подключить ULCD 56 к Ардуино Мега, скетч со светодиодами не пошел. Скрипты на карте стер. Исправил Wprogram.H на Arduino.H в библиотеке, была ошибка при компиляции. Теперь нет ошибок при компиляции. Отключил серво библитеку и все выводы на серво - остались только светодиоды с кнопками - не идет. При наличии скриптов на карте - показывает скрипт с диска микро SD.При записи других скриптов на SD карту их тоже воспроизводит и реагирует на нажатия. Питание сделал отдельно от отдельного блока питания на 5 В. Начал думать в сторону проверки напряжений от Ардуино к ULCD: Вопросы: 1. на приведенной схеме не корректируется напряжение от MISO Ардуино к ULCD - подается напрямую (т,е. 5В), хотя остальные корректируются до 3В. Почему? 2. Указана кроме GND Ардуино еще земля на схеме подключения - это к чему надо заземлить? 3.Распиновка контактов SPI (Х6) в шахматном порядке, от 1 где стрелочка на корпусе разъема. Аналогично распиновке на соседнем X8 для питания, где 5 пин - ключ (т.е. нет пина)? Как еще можно потестить подключение? похоже, сам дисплей работает, от Ардуино управление не проходит. С уважением, Константин