Arduino로 디지털 시계를 만들려고하는데 몇 시간 후에 몇 분 뒤에 있습니다.잠시 후 시계 알고리즘이 몇 분 뒤에 지연됩니다.
기술적으로 4ms 후에 aux 값이 증가 했으므로 15000 * 4ms 후에 바로 마지막 숫자를 증가시켜야합니까?
void loop() {
// t is first hour digit
// y is the second hour digit
// u is the first minute digit
// i is the second minute digit
if (t == 2 && y == 4) {
t = 0;
y = 0;
}
digitalWrite(ox, 0);
digitalWrite(oy, 1);
digitalWrite(mx, 1);
digitalWrite(my, 1);
draw(t);
delay(1);
digitalWrite(ox, 1);
digitalWrite(oy, 0);
digitalWrite(mx, 1);
digitalWrite(my, 1);
draw(y);
delay(1);
digitalWrite(ox, 1);
digitalWrite(oy, 1);
digitalWrite(mx, 0);
digitalWrite(my, 1);
draw(u);
delay(1);
digitalWrite(ox, 1);
digitalWrite(oy, 1);
digitalWrite(mx, 1);
digitalWrite(my, 0);
draw(i);
delay(1);
aux++;
if (aux == 15000) {
aux = 0;
i++;
}
if (i > 9) {
i = 0;
u++;
}
if (u == 6) {
u = 0;
y++;
}
if (y > 9) {
y = 0;
t++;
}
}
JavaScript를 사용하여 정확한 시간을 유지할 수는 없습니다. 대신 moment.js와 같은 라이브러리를 사용하십시오. –
moment.js는 여전히 JS이므로 더 이상 정확하게 유지할 수 없습니다. 대신 시스템 시간을 참조하는 것입니다. 정확한 시간을 원하면해야 할 일입니다. – samanime
이것은 분명히 Arduino 코드 (C++)이며 JavaScript는 아닙니다. JavaScript 응답이 왜 받아 들여 졌습니까? –