Часы на Arduino UNO R3, модуль часов DS1307 и двухстрочный дисплей - Arduino / ATMEGA - Каталог статей - Системный администратор г.Харьков - Тим
Суббота, 21.01.2017
TiM
Меню сайта
Категории раздела
Мои статьи [9]
Arduino / ATMEGA [9]
OrangePi PC и Raspberry Pi 2 Model B V1.1 [4]
Шаговые двигатели [1]
PHPProBid [0]
CMS DLE (DataLife Engine) [0]
CMS Joomla [13]
SugarCRM [5]
Базы данных [5]
PHP скрипты [16]
Bash и скрипты [26]
IP АТС Elastix / Asterisk [12]
CentOS [6]
Debian [8]
Lubuntu / LinuxMINT [29]
Windows [23]
Умный дом [2]
Сервера [16]
Natural Selection [1]
System Shock 2 [1]
Форма входа
Главная » Статьи » Arduino / ATMEGA

Часы на Arduino UNO R3, модуль часов DS1307 и двухстрочный дисплей

Нам понадобится:

1. Arduino UNO R3
2. Модуль часов DS1307
3. 16X2 LCD дисплей.

 

1) Подключаем LCD дисплей

Подстроечный резистор, это регулировка контрастности дисплея (от 2кОм до 10кОм)

 

2) Подключаем модуль часов DS1307

Примечание: вывод "DS" модуля часов DS1307 - это вывод цифрового датчика температуры DS18B20, который не впаян в плату модуля.

 

3) Скетч для Arduino UNO

Библиотека RTClib
 

#include <Wire.h>
#include "RTClib.h"
#include <LiquidCrystal.h>

RTC_DS1307 RTC;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup () {
  Serial.begin(9600);
  lcd.begin(16, 2);
  Wire.begin();
  RTC.begin();

  if (! RTC.isrunning()) {
    Serial.println("RTC is NOT running!");
    RTC.adjust(DateTime(F(__DATE__), F(__TIME__)));
  }
}

void loop () {
    DateTime now = RTC.now();
    
    lcd.setCursor(0,0);
    lcd.print("    ");
    if (now.hour() < 10)
    lcd.print('0');
    lcd.print(now.hour(), DEC);
    lcd.print(":");
    if (now.minute() < 10)
    lcd.print('0');
    lcd.print(now.minute(), DEC);
    lcd.print(":");
    if (now.second() < 10)
    lcd.print('0');
    lcd.print(now.second(), DEC);
    
    lcd.setCursor(0,1);
    lcd.print("   ");
    if (now.day() < 10)
    lcd.print('0');
    lcd.print(now.day(), DEC);
    lcd.print("/");
    if (now.month() < 10)
    lcd.print('0');
    lcd.print(now.month(), DEC);
    lcd.print("/");
    lcd.print(now.year(), DEC);
//    delay(1000);
}

 

Дополнительно: Для установки времени в модуле DS1307 можно воспользоваться скетчем и программой для Windows

скетч и программа

 

Комментарий: Недостаток проекта: вручную не устанавливается время без компьютера

В проекте использовалась arduino 1.0.5

 

По материалам:

http://cxem.net/arduino/arduino108.php

http://www.manelsoft.com/projects/arduino_ds1307_clock.aspx

Лечение модуля DS1307 для использования с батарейкой CR2032

Категория: Arduino / ATMEGA | Добавил: Timur (17.03.2016)
Просмотров: 1137
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
YANDEX
Яндекс.Метрика
Сайты
  • Харьков Видео-Реклама
  • Харьковский Юридический Альянс
  • Обеды в офис
  • Снежка
  • Оцифровка кинопленки
  • TiM ©
    Харьков 2017