Текущее время: 28 мар 2024, 17:03

Калининград & ХОББИ

Занятие любимым хобби - это путь к счастливой жизни!

Часы на Ардуино, TM1637 и DS1307

Тут собраны схемы различных устройств сделанных на контроллерах Ардуино, Лазерный гравер на Ардуино, Металлоискатель на Ардуино, Метеостанция, Кодовый замок, и множество других устройств и изобретений
Аватар пользователя
 
Сообщений: 799
Зарегистрирован: 27 мар 2013, 22:12

Часы на Ардуино, TM1637 и DS1307

Сообщение -=dp=- » 22 май 2017, 17:03

Часы на Ардуино, TM1637 и DS1307

Для изготовления часов на Ардуино, нам понадобятся следующие детали:

Контроллер Ардуино (НАНА, УНО, Про мини) - 1шт
Модуль LED TM1637 - 1 шт
Модуль RTC DS1307 - 1 шт.

Далее соединяем модули к Ардуино по следующей схеме:


Вложения
Схема часов на Ардуино.jpg
Часы на Ардуино,

Аватар пользователя
 
Сообщений: 799
Зарегистрирован: 27 мар 2013, 22:12

Re: Часы на Ардуино, TM1637 и DS1307

Сообщение -=dp=- » 23 май 2017, 08:00

После соединения всех наших модулей необходимо скачать и скопировать в папку libraries следующие библиотеки
"TM1637.h"
<Time.h>
<Wire.h>
<DS1307RTC.h>

Далее, приступаем программированию.
В начале модуль часов реального времени поставляется с не настроенным временем, чтобы его установить нам необходимо открыть в Ардуино IDE вот этот скетч , в нем прописать текущую дату и время и залить этот скетч в нашу Ардуину.

Код: выделить все
//Подключаем библиотеки:
#include <Time.h> 
#include <Wire.h> 
#include <DS1307RTC.h>
 
void setup()  {
setSyncProvider(RTC.get);
//Устанавливаем время в формате:
//Часы, минуты, секунды, день, месяц, год
setTime(14,13,0,18,5,2017);
//Применяем:
RTC.set(now());
}
void loop()
{
delay(100);
}




После того как скетч установки даты и времени мы успешно запрограммировали в Ардуино, дата и время сразу же установятся, ничего нажимать больше не надо.
Т. е. прошили скетч установки времени, перезагрузили контроллер Ардуино и все, время установлено.
Единственно, надо обратить внимание на то, чтоб не допускать замыкания контактов батарейки и не вынимать батарейку из часов, а то время сбросится :!:

Если вдруг у вас что то не скомпилируется, или будут какие нибудь ошибки, то рекомендую скачать версию Ардуино IDE 1.5.7 :!:


Вложения
DS1307RTC.zip
Библиотека DS1307RTC.h
(5.68 KiB) Скачиваний: 2071
Time.zip
Библиотека Time.h
(26.99 KiB) Скачиваний: 2024
TM1637.zip
Библиотека TM1637.h
(18.13 KiB) Скачиваний: 2128

Аватар пользователя
 
Сообщений: 799
Зарегистрирован: 27 мар 2013, 22:12

Re: Часы на Ардуино, TM1637 и DS1307

Сообщение -=dp=- » 23 май 2017, 08:03

Теперь переходим к программе самих часов

Для этого загружаем следующий скетч

Код: выделить все
#include "TM1637.h"
#include <Time.h> 
#include <Wire.h> 
#include <DS1307RTC.h>
#define CLK 3     
#define DIO 2
int s=0;
TM1637 disp(CLK,DIO);
int8_t TimeDisp[] = {0x00,0x00,0x00,0x00};
unsigned char ClockPoint = 1;
void setup()
{
  while (!Serial) ;
  setSyncProvider(RTC.get);   
  if(timeStatus()!= timeSet)
     Serial.println("Unable to sync with the RTC");
  else
     Serial.println("RTC has set the system time");     
disp.set(7);
disp.init(D4056A);
 
}
void loop()
{
ClockPoint = (~ClockPoint) & 0x01;
  //disp.point(POINT_OFF);
 if(ClockPoint)disp.point(POINT_ON);
  else disp.point(POINT_OFF);
  if (timeStatus() == timeSet) {
  TimeDisp[0] = hour() / 10;
  TimeDisp[1] = hour() % 10;
  TimeDisp[2] = minute() / 10;
  TimeDisp[3] = minute() % 10;
  disp.display(TimeDisp);
};
 
  delay(1000);

 
}





Компилируем скетч, прошиваем в Ардуино и радуемся, теперь у вас есть часы на Ардуино! ;)


Вложения
set_time.zip
Скетч установки времени
(441 байт) Скачиваний: 1566
lcd_clock_tm1637_and_ds1307.zip
Скетч программы часов
(708 байт) Скачиваний: 1835
Wire.zip
Библиотека Wire.h
(10.3 KiB) Скачиваний: 1568

Аватар пользователя
 
Сообщений: 799
Зарегистрирован: 27 мар 2013, 22:12

Re: Часы на Ардуино, TM1637 и DS1307

Сообщение -=dp=- » 23 май 2017, 08:22

Все модули можно подключить к Ардуино монтажными перемычками, без пайки!
А, еще один момент, у меня не получилось задействовать мигание двоеточия, как выяснилось, в моем модуле TM1637 в светодиодной матрице отсутствуют светодиоды во всех точках.
Выкладываю фото моих часов.


Вложения
3.jpg
Часы на Ардуино
2.jpg
Часы на Ардуино
1.jpg
Часы на Ардуино


Вернуться в Устройства на Ардуино

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9