Étape 07:12 h / 24h temps
J’ai construit cette esquisse pour 24h de temps, oui 13:00 réellement affichée à 13. Beaucoup de gens préfère une horloge de 12h, avec AM/PM, donc j’ai modifié le croquis final pour cela à la place. Maintenant j’ai des doutes, donc je suis ajout d’un commutateur pour choisir quel format vous préférez voir.
Tout d’abord, nous devons lire un commutateur pour déterminer le format, puis nous avons besoin passer un code basé sur les résultats de cette lecture.
Nous utiliserons la broche 5 du commutateur, comme bouclier Ethernet lui-même utilise broches 4, 10, 11, 12 et 13.
Raccorder un interrupteur entre la broche 5 et au sol. Vous n’avez pas besoin une résistance pullup, car nous allons utiliser celui intégré à l’arduino à l’aide de la commande INPUT_PULLUP.
Voici le code affecté dans son état actuel :
lcd.setCursor (0,0) ;
Si (heure() < 10) {}
LCD.Print("0") ; }
Si {(heure() > 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 {(heure() > 12)
LCD.Print ("PM") ; }
else {}
LCD.Print ("AM") ; }
Voici comment le nouveau code avec la possibilité de passer en arrière ressemblerait à :
12h_24h (en haut du croquis avant installation Sub
int timeFormatPin = 5 ; connecté à la broche numérique 5
int timeFormatVal = 0 ; variable pour stocker la valeur lue
mettre en replaceing installation Sub le code original mentionné ci-dessus
lcd.setCursor (0,0) ;
Si (heure() < 10) {}
LCD.Print("0") ; }
12h/24h
pinMode (timeFormatPin, INPUT_PULLUP) ; définit la broche numérique 5 comme entrée et active les tirer vers le haut la résistance
timeFormatVal = digitalRead(timeFormatPin) ; lire l’entrée pin
Si (timeFormatVal == 1) {}
Si (heure() < 10) {}
LCD.Print("0");}
LCD.Print(Hour()) ;
} else {}
Si {(heure() > 12)
Si (heure ()-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 {(heure() > 12)
LCD.Print ("PM") ; }
else {}
LCD.Print ("AM") ; }
}