Étape 2: circuit
Les microcontrôleurs (MCU) et la puce I2C sont tous deux connectés au 5V de la source d’alimentation. Dans mon cas, que le circuit est alimenté par mon programmeur MCU qui l’obtient d’alimentation par le port USB de mon ordinateur.
Les 8 broches d’e/s de la puce I2C sont connectés aux 8 broches du clavier. Il est plus facile pour l’écriture du code, si nous faisons les connexions dans un ordre logique. J’ai branché les broches de la colonne sur un côté de la puce et les broches de la rangée de l’autre côté de la puce.
Données (SDA) et horloge (SCL) de la puce I2C sont connectés à la broche données et horloge de la MCU.
Les lignes fois SCL et SDA sont pilotes « open drain ». Cela veut dire que la puce peut conduire son rendement faible, mais il ne peut pas conduire haute. Pour la ligne pouvoir aller haut, vous devez fournir des résistances de pull-up pour l’alimentation de 5v. Il devrait y avoir une résistance de 2,2 kohms depuis la ligne SCL à la ligne 5v et un autre de la ligne SDA à la ligne de 5v. Il suffit d’une seule série de résistances de pull-up pour l’ensemble du bus I2C.
3 bits de l’adresse de 8 bits de l’appareil sont définies en connectant les broches d’adresse à 5V ou au sol.
Sortie :
La sortie série (UART/rs232) va à ma série de dongle usb qui est connecté à mon pc.
La deuxième puce PCF8574 est connectée au bus I2C en reliant les données et la ligne d’horloge pour les données et la ligne d’horloge de la première puce.
Pour la deuxième puce, il faut une adresse différente donc j’ai branché la première broche adresse au 5V au lieu de la terre.
L’anode commun de l’afficheur 7 segments est branché sur le 5V de la source d’alimentation. Les autres broches sont reliées avec les broches e/s de la puce I2C (à l’aide de résistances limitant actuellement 330 ohms).