из коробки от CD дисков вырезал и затонировал авто тонировкой (у ребят из автосервиса взял обрезки).Скажите пожалуйста, что Вы использовали на фальшпанель? Какой светофильтр или тонировку?
"Детская игровая кухня своими руками" супер!!!
из коробки от CD дисков вырезал и затонировал авто тонировкой (у ребят из автосервиса взял обрезки).Скажите пожалуйста, что Вы использовали на фальшпанель? Какой светофильтр или тонировку?
из коробки от CD дисков вырезал и затонировал авто тонировкой (у ребят из автосервиса взял обрезки).Скажите пожалуйста, что Вы использовали на фальшпанель? Какой светофильтр или тонировку?
И было бы неплохо реализовать программное включение-отключение почасового звука в настройках.
Код: Выделить всё
//=============== Бить куранты (chime) каждый час=======================
// if(hour>=CHIME_START&&hour<CHIME_END&&minute==0&&second==0&&secFr==0) playChime(); showString(32, " ghbdtn Dfy.if ");Код: Выделить всё
//------------------------------------------------ Инициализируем переменные-------------------------------------------------------------------------------
OneWire oneWire(ONE_WIRE_PIN);
bool alarme=false; // флаг включенного будильника Нужен для отображения разного стиля точек на бигклоке)))
int dx=0; // начальные координаты на светодиодной матрице
int dy=0; // --//--
int alarmCnt=0; // 0 - не воспроизводим мелодию звонка. если больше "0" - то это количество проиграшей мелодии
int h1,h0,m1,m0,s1,s0,secFr,lastSec=1,lastMin=0; // h1 - десятки часов, h0 - еденицы часов и так далее, secFr- минутный цикл,
int d1, d0, mn1, mn0, y1, y0, dw, lastDay=-1; // d1 - десятки дней, d0 - еденицы дней и так далее...
int lasth1, lasth0 ,lastm1, lastm0 ,lasts1 , lasts0 ;
int mode, prevMode; // моде - режим вывода на экран, превмоде - предыдущий режим
int stx=1, sty=1; // напавление смещения для скачущего дисплея
int st=1; // направление смещения экранов -1 или +1
int disp, prevDisp; // номер текущего дисплея и предыдущего дисплея
int kuku // для пиканья каждый час
Код: Выделить всё
void eeprom () {
if (EEPROM.read(INIT_ADDR) != INIT_KEY) { // первый запуск
EEPROM.write(INIT_ADDR, INIT_KEY); // записали ключ
int brightSet = 16; // яркость экрана 0-15, 16-автоматическая рег., 17-день/ночь
int mode = 0; // моде - режим вывода на экран
int kuku=0; // кукушка каждый час =0 выключена
EEPROM.update(0, brightSet); // записали по адресу 0
EEPROM.update(1, mode); // записали по адресу 1
EEPROM.update(2, kuku); // записали по адресу 2
}Код: Выделить всё
switch(setMode){ // Выводим на экран надпись в соответствии с режимом
case 1: showString(1, "Dhtvz"); break; // Печатаем "Время";
case 2: showString(1, "Lfnf"); break; // Печатаем "Дата";
case 3: showString(0, "Ytltkz"); break; // Печатаем "Неделя";
case 4: showString(0, "<elbkmybr"); break; // Печатаем "Будильник";
case 5: showString(0, "Zhrjcnm"); break; // Печатаем "Яркость";
case 6: showString(0, "rereirf"); break; // Печатаем "кукушка";
Код: Выделить всё
if(key == 3) { //
playSound(AUDIO_PIN,1500,60); //
switch(setMode){ //
case 1: setUpTime(); break; //
case 2: setUpData(); break; //
case 3: setUpDoW(); break; //
case 4: setUpAlarm(); break; //
case 5:brightDisp() ; break; //
default:setkuku() ; break;
} Код: Выделить всё
void setkuku(){ //
int i; //
now=millis(); // сбарсываем переменную счета таймера в (миллис)
while(millis()-now<timerMenu){ // запускаем таймер
clrAll(); //
i=((millis()-now)/350%2); // создаем переменную которая меняет значение с периодом 3 Гц.
klav(); // Опрашиваем клавиши 0- не нажаты, 1-3 клавиши нажаты
if(key==1){ //
playExit(); return; //выход
} //
if(key==2){ // вкл куку
kuku=1; //
} //
if(key==3){ // выкл куку
kuku=0; //
} //
if(kuku==0){ //
showString(0, "dsrk re"); // выводим "выкл ку"
}
if(kuku > 0){ //
showString(0, "drk re"); // выводим "вкл ку"
EEPROM.update(3, kuku);
refreshAll(); //
}
playExit(); //
} если я правильно понял вы про эту скоростьМмм, а не подскажите, где примерно можно смотреть скорость анимации на больших часах, чтобы цифры немного быстрее скользили?
if (m0 != lastm0)
for (int shag = 0; shag < 10; shag++ ) { // для того чтобы отрисовать цифру состаящую из 12 точек (или шагов как правильно?)
showDigit( m0 * 10 + shag, 25, dig6x8m); // dig6x8m - указатель на масив данных (смотрим вкладку "fonts.h")
showDigit(lastm1, 18, dig6x8);
showDigit(lasth0, 8, dig6x8);
if (lasth1 > 0) showDigit(lasth1, lasth1 == 2 ? 1 : 2, dig6x8);
refreshAll();
delay(90); // скорость смены цифры
}
если я правильно понял вы про эту скоростьМмм, а не подскажите, где примерно можно смотреть скорость анимации на больших часах, чтобы цифры немного быстрее скользили?
[/uquote]if (m0 != lastm0)
for (int shag = 0; shag < 10; shag++ ) { // для того чтобы отрисовать цифру состаящую из 12 точек (или шагов как правильно?)
showDigit( m0 * 10 + shag, 25, dig6x8m); // dig6x8m - указатель на масив данных (смотрим вкладку "fonts.h")
showDigit(lastm1, 18, dig6x8);
showDigit(lasth0, 8, dig6x8);
if (lasth1 > 0) showDigit(lasth1, lasth1 == 2 ? 1 : 2, dig6x8);
refreshAll();
delay(90); // скорость смены цифры
}
Код: Выделить всё
void setkuku(){ //
int i; //
now=millis(); // сбарсываем переменную счета таймера в (миллис)
while(millis()-now<timerMenu){ // запускаем таймер
clrAll(); //
i=((millis()-now)/350%2); // создаем переменную которая меняет значение с периодом 3 Гц.
klav(); // Опрашиваем клавиши 0- не нажаты, 1-3 клавиши нажаты
if(key==1){ //
playExit(); return; //выход
} //
if(key==2){ //
kuku=1; //
showString(8, "Drk"); // ВКЛ
} //
if(key==3){ //
kuku=0; //
showString(8, "Dsrk"); // ВЫКЛ
} //
//
EEPROM.update(3, kuku);
refreshAll(); //
}
playExit(); //
}
Код: Выделить всё
EEPROM.update(3, kuku); //
}
playExit();
refreshAll(); //
}Код: Выделить всё
EEPROM.update(3, kuku); //
}
playExit();
refreshAll(); //
}получилось?Увы, нет, уже пробовал
получилось?[/uquote]Увы, нет, уже пробовал
Код: Выделить всё
//=============== Корректировка времени RTC модуля - в полночь на -5 secs============
if(hour==23&&minute==0&&second==0&&lastDay!=day){ // Если наступил новый день, то
lastDay=day; // сбрасываем переменную ластдей что бы больше проверка в этот день не выполнялась
second=1; // корректируем секунды на +1 секунд
setRTCTime(); // записываем новое время в RTC модуль
}
Код: Выделить всё
//=============== Корректировка времени RTC модуля - в полночь на -5 secs============
if(hour==23&&minute==0&&second==0&&lastDay!=day){ // Если наступил новый день, то
lastDay=day; // сбрасываем переменную ластдей что бы больше проверка в этот день не выполнялась
second=1; // корректируем секунды на +1 секунд
setRTCTime(); // записываем новое время в RTC модуль
}
надо загрузить настройку из eeprom и высветить ее, если я правильно понимаю
Код: Выделить всё
// --------------------------- загрузить данные из eeprom ----------------------------------
brightSet = EEPROM.read(0); // прочитали яркость
mode = EEPROM.read(1); // прочитали режим
kuku = EEPROM.read(2); // прочитали куку
} Код: Выделить всё
if(brightSet==17){ //
showString(12, "L|Y"); // выводим "Д/Н"
sendCmdAll(CMD_INTENSITY, 10); //
} //
EEPROM.update(0, brightSet);
refreshAll(); //
}
playExit(); Код: Выделить всё
//if (kuku != 0){
if(hour>=CHIME_START&&hour<CHIME_END&&minute==0&&second==0&&secFr==0) playChime();
//}