Connexion d'un composant sur l'I2C (ex : RTC Philips/NXP PCF8583)

De Wiki_du_Réseau_des_Electroniciens_du_CNRS
Version datée du 20 septembre 2019 à 22:01 par William.benharbone (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

Revenir au sommaire du RasberryPi

J'ai tenté de connecter une RTC qui trainait dans mes tiroirs sur Raspberry... suivez le guide

Prérequis : avoir réalisé les installations du début du wiki (PHP, Apache, i2ctools...)

La connexion Hard ne pose pas de soucis aux électroniciens et je ne vous ferais pas l'affront de m'y attarder : Masse 3,3V SCL,SDA, Câbler les broches d'adresse s'il y en a, et dans le cas d'une RTC penser à monter un quartz...).

Au passage :il se vend des adaptateurs pour monter le connecteur HE10-26 sur une breadboard... perso j'ai utilisé un connecteur coudé dont j'ai modifié l'orientation des broches... ça marche aussi.

J'ai câblé une "vieille" RTC philips/NXP sur l'I2C (PCF8583) :http://www.nxp.com/documents/data_sheet/PCF8583.pdf

adresse I2C 0x50 , détecté avec "i2cdetect -y 1"

les registres rapidement intéressants sont :

02: secondes (et dizaines)

03: minutes (et dizaines)

04: heures

on les récupère sans problème en ligne de commande avec :

 i2cget -y 1 0x50 x      # -y pour éviter la confirmation, 1 : numéro du bus I2C(0 sur les premières versions)
                         # 0x50 adresse hexa du slave I2C, x : numéro du registre à lire

ou

i2cdump -y -r 2-4 1 0x50 # -y pour éviter la confirmation, -r pour définir la plage de registres à lire (2,3,4, dans mon cas),
                         # 1 pour le num de bus, 0x50 adresse slave)

La même manip doit pouvoir être réalisée avec n'importe quel composant I2C présent dans vos tiroirs alimenté en 3V3(I/O expander, convertisseurs A/D ou D/A ou autre)s'il est alimenté en 5V il faudra sans doute clamper le Bus I2C au 3V3, par sécurité pour le raspberry.

Une voie particulièrement intéressante serait de disposer d'un PIC en mode esclave ... si quelqu'un veut se pencher sur la question... (en particulier en ce qui me concerne avec le MikroC de Mikroelektonika). On pourrait même imaginer une panoplie de Pics "slaves" dédiés à quelques taches récurrentes dans la recherche... on appellerait ça les "Raspberry-Pics".

L'étape suivante sera la création d'un programme permettant de visualiser la lecture I2C sur une page Web...

Elle fera l'objet du second TP : Afficher l'heure sur une page web (lecture I2C et envoi HTML) et doit pouvoir s'appliquer également à un convertisseur A/D ou aux entrées d'un I/O expander.