#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
Vga
cpp напиши в первой строчке после обратных кавычсек ```cpp ну ты перенос строки-то сделай после cpp
Dmitry
все дошло
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
хотя после появления хаскеля до такой херни совсем чуть чуть осталось)
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; }