En février 2014, je vous avais proposé un article sur l’utilisation du circuit RTC DS1302 avec le Raspberry Pi.
Cet article a été utilisé par Philippe qui a modifié le programme pour utiliser les GPIO 20, 21 et 26 (broches 38, 40, 37) et ainsi libérer la place pour d’autres extensions.
Philippe m’a fait parvenir le programme modifié que vous trouverez ci-dessous.
On voit sur ce tableau que Philippe a utilisé les ports GPIO situés « en bas » du GPIO du B+. Ceci a l’avantage de libérer complètement la partie supérieure du GPIO pour d’autres utilisations.
Le programme rtc-pi-bplus est disponible en téléchargement. Faites un clic droit sur le lien et choisissez « Enregistrer la cible du lien sous… » si vous êtes sous Windows et que ça coince… bin oui aussi, pourquoi vous êtes sous Windows ?
Et si vous utilisez un système d’exploitation sérieux 😉 utilisez
wget https://www.framboise314.fr/docs/rtc-pi-bplus.zip
Si le Raspberry est connecté à Internet, il se met à l’heure via NTP. Pour mettre à l’heure l’horloge du RTC1302 utilisez cette commande :
sudo ./rtc-pi $(date +%Y%m%d%H%M%S)
Si vous trouvez ce programme utile, ne manquez pas de le dire à Philippe en lui laissant un mot dans les commentaires ci-dessous…
Merci à Philippe pour ce retour très intéressant sur le DS1302
Au sommaire :
Complément d’information
Un autre article sur le DS1302 paru début 2014. Et un lecteur du blog, Flavien me signale : « Je me suis servi de cette lib qui ne demande aucune installation ou configuration :
https://github.com/codelast/raspberry-pi/tree/master/real-time-clock »
C’est vraiment sympa de partagé ses sources
Bonjour,
Je ne suis pas parti de rien mais si ça peut servir, je suis bien content.
Plop,
Rhoooooooooo ! Une élévation de privilèges pour faire un simple téléchargement.
😉
Bonjour Zeb
oui, bon… ralala
c’est rectifié
merci ! 😉
Cordialement
François
Je viens de recevoir le même module (à base de DS1307) que celui vu sur l’article ci-dessous, commandé effectivement pour moins de 2 € sur mamazone (port compris – envoyé direct de Chine et reçu après 2 bonnes semaines !) sur :
http://hardware-libre.fr/2013/08/raspberry-pi-ajouter-une-horloge-rtc-en-i%C2%B2c/
A priori, pas besoin d’appli externe, 2 modules noyaux i2c à charger dans raspbian.
Pas encore mis en oeuvre moi-même, mais ça semble imbattable en terme de coût / simplicité.
Bonjour rubictus
ils sont de la même famille mais le 1307 est I2C alors que le 1302 utilise un protocole série
Merci pour cette info et le lien
Cordialement
François
Ping : Mesure de distance par ultrasons avec le Raspberry Pi | Framboise 314, le Raspberry Pi à la sauce française….
Si j’ai bien compris,
1 – Je branche le module
2 – J’execute wget https://www.framboise314.fr/docs/rtc-pi-bplus.zip
3 – Ensuite sudo ./rtc-pi $(date +%Y%m%d%H%M%S)
4- Je peux laisser éteindre la Raspi pendant quelques jours et la rallumer sans internet sans que l’heure soit énormément décalée ?
Est ce bien cela ? Merci
bonjour
oui le module RTC vous permet de conserver l’heure avec une pile (comme sur un PC 😉 ) et à la remise en route votre RasPi se recale sur cette heure.
cordialement
François
Bonjour,
Tout d’abord, je remercie Philippe pour cette astuce qui ma grandement aidé.
Cependant j’ai commandé une dizaine de RaspBerry V2 (1 Go de RAM) à 40 Pins, j’ai remarqué que mes DS1302 ne marchait plus.
Le programme que vous fournissez fonctionne parfaitement sur la B+ (RaspBerry V1) à 40 Pins, serait’il possible de faire le même programme avec les mêmes Pins du schéma ci-dessus pour la V2 ?
Merci pour ce topic.
Bonjour
Les adresses des IO ont changé entre le 2835 et le 2836
voir http://lists.denx.de/pipermail/u-boot/2015-February/204483.html
+#ifdef CONFIG_BCM2836
+#define BCM2835_GPIO_BASE 0x3f200000
+#else
#define BCM2835_GPIO_BASE 0x20200000
+#endif
#define BCM2835_GPIO_COUNT 54
Dans le programme remplacez
#define GPIO_ADD 0x20200000L // physical address of I/O peripherals on the ARM processor
par
#define GPIO_ADD 0x3f200000L // physical address of I/O peripherals on the ARM processor
recompilez et ça roule !
C’est bon, ça marche, merci de m’avoir indiqué cette modification
Bonjour,
merci beaucoup pour ce joli programme modifié !
Pour mon projet le GPIO 21 ( pin 40) est déjà utilisé par une carte, mais c’est ce même port qui est déclaré dans le programme rtc-pi-bplus pour le DAT (ou SDA).. Comment puis-je modifié cette affectation ?
Merci d’avance !
Ping : Un module RTC à base de DS1302 pour le Raspberry Pi | Framboise 314, le Raspberry Pi à la sauce française….