Часы с графическим дисплеем
- 215.00грн
-
Набор для сборки часов на базе платы DCCduino Nano с отображением текущего времени, даты и дня недели на графическом дисплее. Показания времени не теряются после отключения времени благодаря наличию встроенного в модуль DS1302 аккумулятора.
Комплект состоит из платы DCCduino Nano, модуля часов реального времени DS1302, графического дисплея Nokia 5110 LCD и набора необходимых проводов.
Работа с модулем реального времени и дисплеем реализована через готовые библиотеки, благодаря чему эти часы на базе Arduino сможет сделать своими руками даже человек без глубоких познаний в электронике и программировании. Необходимая документация по библиотекам имеется в архивах, ссылки на которые указаны ниже.
Комплектация:
- DCCduino Nano в антистатической упаковке
- модуля часов реального времени DS1302
- дисплей Nokia 5110 LCD
- 10 проводников для соединения модулей
- USB кабель
Инструкция по сборке:
1) Скачайте и установите последнюю версию Arduino IDE. На указанном сайте также можно найти информацию по первичной настройке и работе с IDE, а также ответы на основные вопросы по работе с ней.
2) Скачайте библиотеки LCD5110_Graph и DS1302, после чего распакуйте их в папку arduino-1.0.4\libraries
3) Теперь можно приступать к следующему этапу - соединению модулей. Их необходимо соединить с помощью идущих в комплекте проводников по следующей схеме:
Выводы Arduino | Выводы LCD | Выводы DS1302 |
5v | 1-Vcc | VCC |
GND | 2-GND | GND |
D12 | 3-SCE | |
D11 | 4-RST | |
D10 | 5-D/C | |
D9 | 6-DN(MOSI) | |
D8 | 7-SCLK | |
D2 | RST | |
D3 | DAT | |
D4 | CLK |
4) Подключите к компьтеру плату Arduino Nano и загрузите в нее следующий скетч, предварительно установив текущее время:
#include <LCD5110_Graph.h> // Подключение библиотек #include <DS1302.h> DS1302 rtc(2, 3, 4); // Инициализация библиотеки с указанием LCD5110 myGLCD(8,9,10,11,12); // пинов подключения к Arduino extern uint8_t TinyFont[]; // Объявление трех внешних extern uint8_t SmallFont[]; // массивов символов extern uint8_t BigNumbers[]; Time t; // Инициализация структуры void setup() { myGLCD.InitLCD(); // Инициализация дисплея rtc.halt(false); // Установка режимов rtc.writeProtect(false); // работы часов // Следующих три строки нужно закомментировать после // установки времени и загрузить скетч в плату повторно rtc.setDOW(MONDAY); // Установка дня недели rtc.setTime(10, 59, 10); // Установка времени 10:59:10 rtc.setDate(20, 7, 2013); // Установка даты 20 июля 2013 } void loop() { t = rtc.getTime(); // Получение времени и его запись в структуру t myGLCD.setFont(BigNumbers); // Установка набора символов myGLCD.clrScr(); // Очистка экрана myGLCD.printNumI(int(t.hour), 7, 0); // Вывод часов myGLCD.print("-", 35, 0); myGLCD.printNumI(int(t.min), 49, 0); // Вывод минут myGLCD.setFont(SmallFont); // Установка набора символов myGLCD.printNumI(int(t.sec), CENTER, 0); // Вывод секунд myGLCD.print(rtc.getDOWStr(), CENTER, 25); // Вывод дня недели myGLCD.print(rtc.getDateStr(), CENTER, 33); // Вывод даты myGLCD.setFont(TinyFont); // Установка набора символов myGLCD.print("Chronos by Mini-Tech", CENTER, 42); myGLCD.update(); // Вывод вместимого буфера на дисплей delay (1000); // Задержка 1 с }
5) Если после загрузки скетча Вы получили сообщение "Done uploading.", значит все сделано правильно. Но для того, что-бы при каждом включении питания не устанавливалось одно и то же время необходимо закомментировать строки 17, 18, 19 и загрузить скетч повторно.
6) Через пару секунд после подачи питания на дисплее появится текущее время, дата и день недели: