Часики на ардуино

Oleg_Go
Offline
Зарегистрирован: 09.03.2019

Народ как сделать так чтобы время из   ds3231 выводился на дисплей TM1637 и чтоб установить его можно было с помощью 2 кнопок

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Подключить часики, тм и 2 кнопки, ну и запрограммировать лагаритм

negavoid
Offline
Зарегистрирован: 09.07.2016

А ещё, если запрограммировать логарифм, то можно узнать площадь под часиками :)

Oleg_Go
Offline
Зарегистрирован: 09.03.2019
Ты тут походу самый умный? Если бы у меня получилось, я бы сюда не писал
 
svm
Offline
Зарегистрирован: 06.11.2016

Oleg_Go пишет:

Ты тут походу самый умный? Если бы у меня получилось, я бы сюда не писал
 

 

Тогда покажи что получилось, а то так и будешь на свой вопрос получать странные ответы.

negavoid
Offline
Зарегистрирован: 09.07.2016

Я тут не только самый умный, но ещё и самый красивый. И ещё богатый :)))

Если б вы действительно хотели, чтобы вам помогли, могли бы прочитать правила форума, создать тему в соответствующем разделе, а не в разделе "готовые проекты", выложить то, что получилось сделать самостоятельно, код и схему и задавать нормальные вопросы. Так что, пожалуй, и правда поумнее буду, ну или как минимум, повнимательнее.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Oleg_Go пишет:

Ты тут походу самый умный? Если бы у меня получилось, я бы сюда не писал

Нет, самый умный тут я. Он - самозванец.

на твой вопрос есть простой ответ

Oleg_Go пишет:

как сделать так чтобы время из   ds3231 выводился на дисплей TM1637 и чтоб установить его можно было с помощью 2 кнопок

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

Я всегда так делаю, и тебе советую. Всё получается отлично.

Клапауций 003
Offline
Зарегистрирован: 20.07.2019

DetSimen пишет:

Подключить часики, тм и 2 кнопки, ну и запрограммировать лагаритм

Симен, не разговаривай с ним - он щаз тебя под статью о терроризме подведёт.

...часики - знаем мы такие часики. тик-так-бум.

SheSlav
Offline
Зарегистрирован: 21.10.2019

Ворота пишет:
... для установки времени двумя кнопками ...

Модуль «RTC часы реального времени DS1302» может сохранить установки после выключения питания «Ардуино» и восстановить после включения или только  "кнопки" помогут?

nik182
Offline
Зарегистрирован: 04.05.2015

Если есть резервная батарейка, то да. 

SheSlav
Offline
Зарегистрирован: 21.10.2019

Есть, но такой функции в стандартной библиотеки не обнаружил. Спасибо

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

SheSlav пишет:

Есть, но такой функции в стандартной библиотеки не обнаружил. Спасибо

какой "такой"?

nik182
Offline
Зарегистрирован: 04.05.2015

Ну так просто не пишите в неё при запуске, а только читайте. Один раз записали, другой программой читаем. 

ArtemV
Offline
Зарегистрирован: 23.10.2019

Я делал такие, но только без кнопок, вот код. И  да обязательно прошивать отдельно модуль DS3231


//DS3231 подключать SDA = А4  ; SCL = А5  ;
//TM1637 подключать DIO = 8 ; CLK = 9 ;
//ПЕРЕД ПОДКЛЮЧЕНИЕМ ОБЯЗАТЕЛЬНО ПРОШИТЬ МОДУЛЬ DS3231 ОТДЕЛЬНО!!!!!!!
#include "TM1637.h"
 
//{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
//0~9,A,b,C,d,E,F,"-"," ",degree,r,h

#define CLK 9//Pins for TM1637       
#define DIO 8
TM1637 tm1637(CLK,DIO);

// Date and time functions using a DS3231 RTC connected via I2C and Wire lib
#include <Wire.h>
#include "RTClib.h"
RTC_DS3231 rtc;
int hh, mm; 

void setup()
{
  tm1637.init();
  tm1637.set(5); 
  //BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;

  rtc.begin();
// manual adjust
  // January 21, 2014 at 3am you would call:
  // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
// automatic adjust
  //rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}//end "setup()"
 
void loop(){
DateTime now = rtc.now();
hh = now.hour(), DEC;
mm = now.minute(), DEC;
tm1637.point(POINT_OFF);
    tm1637.display(0,hh/10);     // hour
    tm1637.display(1,hh%10);
    tm1637.display(2,mm/10);    // minutes
    tm1637.display(3,mm%10);    // 
delay(500);
tm1637.point(POINT_ON);
    tm1637.display(0,hh/10);     // hour
    tm1637.display(1,hh%10);
    tm1637.display(2,mm/10);    // minutes
    tm1637.display(3,mm%10);    // 
delay(500);
}// end loop()

Проверяй, у меня компилируется.

SheSlav
Offline
Зарегистрирован: 21.10.2019

nik182 пишет:
Ну так просто не пишите в неё при запуске, а только читайте. Один раз записали, другой программой читаем.

Все правильно. Надо при запуске проверять установки, если это не первый запуск после смены батаейки, то не меняем. Спасибо.

// Установить дату и время
  if ( day_s > time.day ){
     time.settime(0, minutes_s, Hours_s, day_s, month_s, year_s, weekday_s);
  }

sadman41
Offline
Зарегистрирован: 19.10.2016

Просто интересно - как определятся "первый запуск после смены батарейки"?

SheSlav
Offline
Зарегистрирован: 21.10.2019

sadman41 пишет:
Просто интересно - как определятся "первый запуск после смены батарейки"?

Например при запуске установили 29.10.2019 12:24 и сохранили, далее отключили, затем снова включили, считали текущее время, сравнили с 29.10.2019 12:24, приняли решение.

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

SheSlav пишет:

sadman41 пишет:
Просто интересно - как определятся "первый запуск после смены батарейки"?

Например при запуске установили 29.10.2019 12:24 и сохранили, далее отключили, затем снова включили, считали текущее время, сравнили с 29.10.2019 12:24, приняли решение.

"

89B.

Он передвигает на чипе почти невидимый переключатель в другую позицию. Теперь он в режиме «запись». Затем Джон, морщась, вставляет пластину обратно в слот в черепе Терминатора.

89C.

ЗРЕНИЕ ТЕРМИНАТОРА снова возвращается к жизни вспышкой статического разряда. Формируется изображение. Сара и Джон стоят позади него и видны в зеркало.

ТЕРМИНАТОР:

— Была проблема?

Джон робко смотрит на Сару, затем улыбается Терминатору.

ДЖОН:

— Никаких проблем. Совсем никаких."

(с)

в режисерской версии он заметил что слишком долго чип переключали