#include #include #include #define TIME_HEADER "T" // Header tag for serial time sync message #define TIME_REQUEST 7 // ASCII bell character requests a time sync message const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); Button button1(6); Button button2(7); Button button3(8); unsigned long i; unsigned long u; bool x = 0; bool y = 0; int min; int hr; void setup(){ button1.begin(); button2.begin(); lcd.begin(20, 2); } void loop() { lcd.setCursor(6, 0); digitalClockDisplay(); lcd.setCursor(0, 1); if(button1.pressed() || y) { y = 1; min = 0; setTime(0,0,0,0,0,0); lcd.print("Reset"); } if(button1.released()) { y = 0; x = 1; i = millis(); } if(button2.pressed()) { min++; setTime(hour(),min,second(),0,0,0); } if(button3.pressed()) { hr++; setTime(hr,mminute(),second(),0,0,0); } if(x && millis() - i > 1000) { lcd.clear(); i = millis(); x = 0; } } void digitalClockDisplay(){ // digital clock display of the time lcd.print(hour()); printDigits(minute()); printDigits(second()); /*Serial.print(" "); Serial.print(day()); Serial.print(" "); Serial.print(month()); Serial.print(" "); Serial.print(year()); Serial.println(); */ } void printDigits(int digits){ // utility function for digital clock display: prints preceding colon and leading 0 lcd.print(":"); if(digits < 10) lcd.print('0'); lcd.print(digits); }

Комментарии: 27

  1. Vga

    cpp напиши в первой строчке после обратных кавычсек ```cpp ну ты перенос строки-то сделай после cpp

    • Dmitry

      все дошло

  2. Vga

    кнопки и переменные по-прежнему по-человечески не названы

    • Dmitry

      это я доделаю

      • Vga

        теперь третья кнопка заведена но не инициализирована

        • Dmitry

          щас 3 кнопку подпаяю для установки часов

      • Vga

        без этого даже не понятно, что по-твоему кнопки делать должны и переменные тоже однобуквенными x, y принято обозначат координаты, явно не твой случай. Однобуквенными i, j принято называть счетчики, опять же явно не твой случай

        • Dmitry

          Это пока что набросок Кстати

          • Karboflex

            а n m k это до куда считать)

            • Dmitry

              Вчера молодой человек предлагал оптимуса прайма сделать

              • Karboflex

                не отвлекайся пиши)

                • Dmitry

                  У меня есть для оптимуса мозги

            • Vga

              автору по башке!)

              • Karboflex

                традиции математиков)

                • Vga

                  вот пусть у себя в математике и оставляют!

                  • Dmitry

                    Дисплей кстати от этой платы

                  • Karboflex

                    скажи спасибо что они со своими символами в погромирование не лезут)

                    • Vga

                      Иногда лезут! Приходится учить.

                      • Karboflex

                        хотя после появления хаскеля до такой херни совсем чуть чуть осталось)

  3. Vga

    еще здесь хоть как-то становится понятно что ты пытаешься с x, y, i получить. сбросить время, написать ресет и через 2 секунды стереть написанное тут нужно две переменные - флаг "надо почистить" и счетчик когда чистить: static need_clear = false; static clear_time = 0; //ставим на очистку: need_clear = true; clear_time = millis() + 2000; //проверяем и очищаем if(need_clear && (millis() > clear_time)) { lcd.clear; need_clear = false; }

Не нашли ответ?

Вам также может быть интересно