Часы ардуино

Тема в разделе "Глядите, что я сделал", создана пользователем lifi, 27 ноя 2020.

  1. lifi

    lifi Нуб

    Код (C++):
    unsigned long a;
    int valh = 0;                          // часы
    int valm = 0;                          // минуты
    int vals = 0;                          // секунды
    int val = 0;

    void setup() {
    Serial.begin(9600);  }

    void loop() {
    if (Serial.available() > 0) {
    val = Serial.read();                  //
    if(val=='Q') valh++;                  // прибавляем 1 час.    
    if(val=='W') valm++;                  // прибавляем 1 минуту.
    if(val=='A') --valh;                  // убавляем 1 час.
    if(val=='S') --valm; }                // убавляем 1 минуту.

    if (millis() - a > 1000)   {          //
    vals = vals +1;                       // прибавляем 1 сек.
    a = millis();}                        // 1 раз в сек.

    // часы
    if (vals==60) {      
    vals = 0;
    valm = valm+1;}                    
    if (valm==60) {
    valm = 0;
    valh = valh+1; }
    if (valh==24) {
    valh = 0; }

    Serial.print(valh);
    Serial.print(' ');
    Serial.print(valm);
    Serial.print(' ');
    Serial.print(vals);
    Serial.println(' '); }
    создал больше для себя, что бы потом найти, но вы тоже можете пользоваться если хотите))) версия 1 так сказать))) в планах сделать сброс unsigned long a; еще и чтобы при этом часы не сбивались, но это позже, и если время будет, если у кого есть допилите и дайте тут код (модуля часов нет и не охота его ждать))) )
     
  2. issaom

    issaom Гуру

    ммм.... раздел называется "Глядите, что я сделал", а пока это все выглядит "я написал бесполезный код - сделайте из него что-нибудь полезное."
     
    Deniskyn, parovoZZ и Feofan нравится это.
  3. akl

    akl Гуру

    без использования delay()! - хотя бы за одно это можно похвалить

    если серьезно - без модуля RTC ардуино не будет работать как часы. вернее будет, но не очень долго. В качестве какого-нибудь таймера для кухни сойдет, но не как настоящие часы.
     
  4. lifi

    lifi Нуб

    unsignedlong a; сброситься в 0 (говорят через 50 суток ), чуть позже его хочу попробовать сбросить так что бы время не сбилось при этом, а кроме этого что еще будем мешать сделать часы (библиотеку в будущем надеюсь) на ардуино ? из за чего то будут отставать сек или идти вперед ?
     
  5. issaom

    issaom Гуру

    Даже на на Wiki данного сайта есть:
    Простые часы на Arduino Uno
    Часы с кнопками
    Автономные часы
    и даже Электронный будильник
    Поясните смысл изобретения Вашего велосипеда?
     
  6. akl

    akl Гуру

    недостаточная точность. в часах используется специальный часовой резонатор.
    к тому же ардуина потребляет очень много энергии, а значит должна быть постоянно подключена к сети и после отключения время сбросится. А часовые модули могут прожить пару лет на одной таблеточной батарейке.
     
  7. a1000

    a1000 Гуру

    А кто мешает? Таймер 2 в асинхронный режим от часового кварца и вперёд творить. Но не средствами ардуино.
     
  8. issaom

    issaom Гуру

    Только это не решит проблему с возможным перебоем питания ;-) В часовом модуле главный плюс это батарейка!
     
  9. a1000

    a1000 Гуру

    Это да. Прийдётся либо безперебойник изобретать, либо внешнюю синхронизацию делать. В практическом плане модуль RTC наиболее выгоден, но для поиграться, с целью получения практических навыков программирования, можно и попробовать.
     
    Andrey12 нравится это.
  10. SergeiL

    SergeiL Оракул Модератор

    ESP с NTP.
    И даже кнопок не нужно.;)
     
  11. a1000

    a1000 Гуру

    Я делал синхронизацию через GPS. Это более автономная система. Главное небо увидеть.:)
     
  12. parovoZZ

    parovoZZ Гуру

    новые ардуины могут. Цепляешь часовой кварц или, что ещё лучше, TCXO - и никакой китайский RTC модуль не угонится по точности. Впрочем, TCXO можно цапануть и к старым дуринам, вот только питание должно быть не батареечным.
     
  13. Un_ka

    Un_ka Гуру

    И каким же gps модулем?
     
  14. a1000

    a1000 Гуру

  15. a1000

    a1000 Гуру

    Даже легендарная Atmega8 такое может.
     
  16. lifi

    lifi Нуб

    это программа не для полноценных часов) а для встраивания в скеч, есть еще обычные МК, они дешевле всего) если нужно питание цепляешь какое хочешь) можно и солнечные батареи подключить) скеч для использования часов в ардуино без модуля часов, в нете искал, не нашел, тут оставил, что бы если понадобиться быстро скопировать и вставить
     
  17. parovoZZ

    parovoZZ Гуру

    речь про ардуиновские МК
     
  18. Un_ka

    Un_ka Гуру

  19. a1000

    a1000 Гуру

    С той, что идёт в комплекте.
    Я работал с синим модулем. С красным не пробовал, но отзывы о нём не лучшие.