私はArduinoでデジタル時計を作ろうとしていますが、数時間後には数分後です。クロックアルゴリズムはしばらくして数分後に遅れます
4ms後にaux値を大きくしました。技術的には15000 * 4ms後に最後の1桁を増やす必要がありますか?
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の回答が受け入れられたのはなぜですか? –