151

Re: ESP32 ретро часы (разработка)

Так должно быть раз в час
if(mm==0){
switch(ms){
    case 0: sum=000000;break;
    case 1: sum=111111;break;
    case 2: sum=222222;break;
    case 3: sum=333333;break;
    case 4: sum=444444;break;
    case 5: sum=555555;break;
    case 6: sum=666666;break;
    case 7: sum=777777;break;
    case 8: sum=888888;break;
    case 9: sum=999999;break;}
  }
}

152

Re: ESP32 ретро часы (разработка)

liman324 пишет:

Так должно быть раз в час
if(mm==0){
switch(ms){
    case 0: sum=000000;break;
    case 1: sum=111111;break;
    case 2: sum=222222;break;
    case 3: sum=333333;break;
    case 4: sum=444444;break;
    case 5: sum=555555;break;
    case 6: sum=666666;break;
    case 7: sum=777777;break;
    case 8: sum=888888;break;
    case 9: sum=999999;break;}
  }
}

Благодарю, но я может быть неверно написал. Смотрите, периодичность включения режима перебора я могу изменить. Но, когда перебор включается, он включается 9 раз, а не 1 раз. Т. е. перебор идёт от 0 до 9, но по 9 раз на всех индикаторах.

153

Re: ESP32 ретро часы (разработка)

if(millis()-times1>50){ms++; times1=millis();if(ms>9){ms=0;stop_ms=1;}}


if(mm==0&&stop_ms==0){
switch(ms){
    case 0: sum=000000;break;
    case 1: sum=111111;break;
    case 2: sum=222222;break;
    case 3: sum=333333;break;
    case 4: sum=444444;break;
    case 5: sum=555555;break;
    case 6: sum=666666;break;
    case 7: sum=777777;break;
    case 8: sum=888888;break;
    case 9: sum=999999;break;}
  }
}else{stop_ms=0;}

154 (2024-12-28 11:35:43 отредактировано MORO-1986)

Re: ESP32 ретро часы (разработка)

liman324 пишет:

if(millis()-times1>50){ms++; times1=millis();if(ms>9){ms=0;stop_ms=1;}}


if(mm==0&&stop_ms==0){
switch(ms){
    case 0: sum=000000;break;
    case 1: sum=111111;break;
    case 2: sum=222222;break;
    case 3: sum=333333;break;
    case 4: sum=444444;break;
    case 5: sum=555555;break;
    case 6: sum=666666;break;
    case 7: sum=777777;break;
    case 8: sum=888888;break;
    case 9: sum=999999;break;}
  }
}else{stop_ms=0;}

Работает)) Но в нем перебор стоит каждый час. Хотел поправил код под перебор каждую минуту, а он только после загрузки в первую минуту перебор делает, а дальше не хочет.

void anti(){
if(millis()-times1>20){ms++; times1=millis();if(ms>9){ms=0;stop_ms=1;}
if(ss<10&&stop_ms==0){
switch(ms){
    case 0: sum=000000;break;
    case 1: sum=111111;break;
    case 2: sum=222222;break;
    case 3: sum=333333;break;
    case 4: sum=444444;break;
    case 5: sum=555555;break;
    case 6: sum=666666;break;
    case 7: sum=777777;break;
    case 8: sum=888888;break;
    case 9: sum=999999;break;}
  }
}else{stop_ms=0;}}

155

Re: ESP32 ретро часы (разработка)

if(millis()-times1>20&&ss<10)

156

Re: ESP32 ретро часы (разработка)

liman324 пишет:

if(millis()-times1>20&&ss<10)

Извините что надоедаю, я непроходимый дундук.
Что я делаю не так? Ничего не поменялось.

void anti(){
if(millis()-times1>50&&ss<10){ms++; times1=millis();if(ms>9){ms=0;stop_ms=1;}
if(ss<10&&stop_ms==0){
switch(ms){
    case 0: sum=000000;break;
    case 1: sum=111111;break;
    case 2: sum=222222;break;
    case 3: sum=333333;break;
    case 4: sum=444444;break;
    case 5: sum=555555;break;
    case 6: sum=666666;break;
    case 7: sum=777777;break;
    case 8: sum=888888;break;
    case 9: sum=999999;break;}
}
}else{stop_ms=0;}}

157

Re: ESP32 ретро часы (разработка)

if(millis()-times1>50){ms++; times1=millis();}
if(ss==59){ms=0;}
if(ss<10&&ms<=9){
switch(ms){
    case 0: sum=000000;break;
    case 1: sum=111111;break;
    case 2: sum=222222;break;
    case 3: sum=333333;break;
    case 4: sum=444444;break;
    case 5: sum=555555;break;
    case 6: sum=666666;break;
    case 7: sum=777777;break;
    case 8: sum=888888;break;
    case 9: sum=999999;break;}
}

158

Re: ESP32 ретро часы (разработка)

liman324 пишет:

if(millis()-times1>50){ms++; times1=millis();}
if(ss==59){ms=0;}
if(ss<10&&ms<=9){
switch(ms){
    case 0: sum=000000;break;
    case 1: sum=111111;break;
    case 2: sum=222222;break;
    case 3: sum=333333;break;
    case 4: sum=444444;break;
    case 5: sum=555555;break;
    case 6: sum=666666;break;
    case 7: sum=777777;break;
    case 8: sum=888888;break;
    case 9: sum=999999;break;}
}

Ругается на скобки в конце. Если ставлю двойные, то код компилируется, но все равно после загрузки только один раз переберет цифры и все.

159

Re: ESP32 ретро часы (разработка)

Должен перебирать один раз каждую минуту

160

Re: ESP32 ретро часы (разработка)

У меня нет возможности провести полное тестирование, но тестовый скетч работает правильно

long ms,stop_ms,sum,times1,ss,times0;


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

void loop(){
if(millis()-times1>50){ms++; times1=millis();}
if(ss==59){ms=0;}
if(ms<=9){
switch(ms){
    case 0: sum=000000;break;
    case 1: sum=111111;break;
    case 2: sum=222222;break;
    case 3: sum=333333;break;
    case 4: sum=444444;break;
    case 5: sum=555555;break;
    case 6: sum=666666;break;
    case 7: sum=777777;break;
    case 8: sum=888888;break;
    case 9: sum=999999;break;}
Serial.println(sum);}


if(millis()-times0>1000){times0=millis();ss++;if(ss>59){ss=0;}} // отсчет секунд

}

161

Re: ESP32 ретро часы (разработка)

liman324 пишет:

У меня нет возможности провести полное тестирование, но тестовый скетч работает правильно

long ms,stop_ms,sum,times1,ss,times0;


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

void loop(){
if(millis()-times1>50){ms++; times1=millis();}
if(ss==59){ms=0;}
if(ms<=9){
switch(ms){
    case 0: sum=000000;break;
    case 1: sum=111111;break;
    case 2: sum=222222;break;
    case 3: sum=333333;break;
    case 4: sum=444444;break;
    case 5: sum=555555;break;
    case 6: sum=666666;break;
    case 7: sum=777777;break;
    case 8: sum=888888;break;
    case 9: sum=999999;break;}
Serial.println(sum);}


if(millis()-times0>1000){times0=millis();ss++;if(ss>59){ss=0;}} // отсчет секунд

}

Все победил))
Скетч поправил, сделал себе выбор перебора каждую минуту или каждые пять минут. А чтобы засветы убрать допаял стабилитроны по прикрепленной схеме.


http://forum.rcl-radio.ru/uploads/images/2025/01/b2b86370d648b46b7f66b839abfbaebf.jpg

162 (2025-01-31 12:32:48 отредактировано MORO-1986)

Re: ESP32 ретро часы (разработка)

Есть еще один странный глюк, который проявляеться не всегда.
При включении, до того как часы подхватят wi-fi, на несколько секунд включается повышающий преобразователь, с эффектом как на фото. Что это может быть? Помехи какие-нибудь на него там действуют? Ведь вряд-ли это в коде дело, такой эффект есть не всегда.

http://forum.rcl-radio.ru/uploads/images/2025/01/6db5da25b2b997453e9cc17b52a9a1fc.jpg
http://forum.rcl-radio.ru/uploads/images/2025/01/872d47e944934098f0503566fa489087.jpg
http://forum.rcl-radio.ru/uploads/images/2025/01/160b01440220192080d4dc46681ed4f1.jpg