Paso 7:12 h vs tiempo, 24 h
Construido este bosquejo para el tiempo de 24h, así que 13:00 muestra realmente como 13. Mucha gente prefiere un reloj de 12h, con h, así que modificado para el bosquejo final en su lugar. Ahora tengo dudas, así que estoy añadiendo un interruptor para elegir que formato prefiere para ver.
En primer lugar, necesitamos leer un switch para determinar el formato, entonces necesitamos cambiar un código basado en los resultados de que leer.
Vamos a utilizar pin 5 del interruptor, como el escudo de Ethernet se utiliza pines 4, 10, 11, 12 y 13.
Conectar un interruptor entre el pin 5 y la tierra. Usted no necesita una resistencia de pullup, pues utilizaremos un integrado en el arduino usando el comando INPUT_PULLUP.
Aquí está el código afectado tal y como actualmente está:
lcd.setCursor (0,0);
Si (hour() < 10) {}
LCD.Print("0"); }
Si {} (hour() > 12)
LCD.Print("0");
LCD.Print(hour()-12); } else {}
LCD.Print(hour()); }
LCD.Print(":");
Si (minute() < 10) {}
LCD.Print("0"); }
LCD.Print(minute());
LCD.Print(":");
Si (second() < 10) {}
LCD.Print("0"); }
LCD.Print(Second());
Si {} (hour() > 12)
LCD.Print ("PM"); }
Else {}
LCD.Print ("AM"); }
Aquí es cómo el nuevo código con la opción de cambiar hacia adelante y hacia atrás se vería:
12h_24h (en la parte superior del bosquejo antes de instalación de vacío
int timeFormatPin = 5; interruptor conectado al pin digital 5
int timeFormatVal = 0; variable para almacenar el valor leído
poner en replaceing configuración nula el code original mencionado
lcd.setCursor (0,0);
Si (hour() < 10) {}
LCD.Print("0"); }
12h / 24h
pinMode (timeFormatPin, INPUT_PULLUP); pone el pin digital 5 como entrada y activa Levante resistencia
timeFormatVal = digitalRead(timeFormatPin); leer la entrada de pin
Si (timeFormatVal == 1) {}
Si (hour() < 10) {}
LCD.Print("0");}
LCD.Print(hour());
} else {}
Si {} (hour() > 12)
Si ((horas)-12 < 10) {}
LCD.Print("0");}
LCD.Print(hour()-12); } else {}
LCD.Print(hour()); }
}
LCD.Print(":");
Si (minute() < 10) {}
LCD.Print("0"); }
LCD.Print(minute());
LCD.Print(":");
Si (second() < 10) {}
LCD.Print("0"); }
LCD.Print(Second());
Si (timeFormatVal == 1) {}
LCD.Print ("24");
} else {}
Si {} (hour() > 12)
LCD.Print ("PM"); }
Else {}
LCD.Print ("AM"); }
}