mercredi 11 août 2021

Connaître la date et l'heure avec un Raspberry Pi Pico (machine.RTC)

Grâce à la classe machine.RTC de MicroPython, il est possible d'utiliser l'horloge temps réel interne du Raspberry Pi Pico, ce qui permet de connaître la date et l'heure à n'importe quel moment.


MicroPython: version 1.16 ou plus récente

Pour le Rasbperry Pi Pico, la classe machine.RTC n'est disponible que depuis la version 1.16 de MicroPython (sortie en juin 2021). Si vous utilisez la version 1.14 ou 1.15, il faudra faire une mise à jour avant d'aller plus loin.  (Rappel: on presse le bouton BOOTSEL au moment où on branche le Pico à un porte USB, et on y copie le fichier uf2 approprié).

Si vous utilisez Thonny, le numéro de version de MicroPython s'affiche dans la console.


Script #1: Affichage de la date et de l'heure

Le script ci-dessous affiche la date et l'heure à chaque seconde. La méthode datetime() (utilisée à la ligne 17) retourne la date et l'heure en format "datetimetuple".  Il s'agit d'un tuple comportant 8 éléments: l'année, le mois (1 à 12), le jour (1 à 31), le jour de la semaine (0 à 6), l'heure (0 à 24), la minute (0 à 59), la seconde (0 à 59) et les "subsecondes".

Lors de la première exécution de ce script, vous obtiendrez probablement un tuple qui indique le 1er janvier 2021: l'horloge interne du Raspberry Pi Pico redémarre à cette valeur chaque fois que son alimentation a été interrompue.

-

-


Script #2: Réglage de la date et de l'heure

Puisque nous ne sommes plus le 1er janvier 2021, il va sans dire que nous avons besoin d'une méthode pour régler l'horloge interne du Raspberry Pi Pico à la bonne date Pour ce faire, il s'agit d'utiliser encore une fois la méthode datetime, mais en lui fournissant en argument le tuple correspondant à la date et l'heure actuelle.

Par exemple, je peux régler l'horloge du Pico à 9 heures, 12 minutes et 17 secondes le lundi 16 août 2021 en utilisant:

rtc.datetime((2021, 8, 16, 0, 9, 12, 17, 0))

Une fois la date et l'heure correctement réglée au moyen de la méthode datetime(), le Raspberry Pi Pico va afficher la date et l'heure correctes aussi longtemps qu'il est alimenté, peu importe que vous exécutiez un script ou non. Mais si vous interrompez son alimentation, il retournera inévitablement au 1er janvier 2021 (dans le prochain article, nous aborderons l'utilisation d'un module RTC externe pour éviter cet irriant).

Le script ci-dessous permet de régler la date et l'heure.

-

-

Après avoir réglé la date et l'heure grâce au script #2, vous pouvez exécuter à nouveau le script #1 pour constater que le Raspberry Pico affiche maintenant l'heure correcte.


À lire également


Yves Pelletier (Facebook)


Aucun commentaire:

Enregistrer un commentaire