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 (Вчера 17: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;}} // отсчет секунд

}