Table des matières:

NODEMCU LUA ESP8266 avec IC d'extension de port 16 bits MCP23017 : 6 étapes (avec photos)
NODEMCU LUA ESP8266 avec IC d'extension de port 16 bits MCP23017 : 6 étapes (avec photos)

Vidéo: NODEMCU LUA ESP8266 avec IC d'extension de port 16 bits MCP23017 : 6 étapes (avec photos)

Vidéo: NODEMCU LUA ESP8266 avec IC d'extension de port 16 bits MCP23017 : 6 étapes (avec photos)
Vidéo: How to Use ESP8266 NodeMCU with 16x2 LCD i2C Display 2024, Novembre
Anonim
NODEMCU LUA ESP8266 avec IC d'extension de port 16 bits MCP23017
NODEMCU LUA ESP8266 avec IC d'extension de port 16 bits MCP23017

Le MCP23017 est un circuit intégré relativement facile à réaliser car il a les ports A et B de chaque côté de la puce et les broches sont dans l'ordre séquentiel.

De même, le bus d'adresses I2C est également tout ensemble.

Il y a 2 broches sur ce circuit intégré qui ne sont pas utilisées car il est comparable au MCP23S17 qui utilise une interface SPI où ces broches sont utilisées.

Une fiche technique pour ce circuit intégré est disponible auprès de Microchip.

Étape 1: schéma de circuit

Schéma
Schéma

Le schéma de circuit montre comment connecter le circuit intégré à un ESP8266

REMARQUE: le circuit intégré fonctionne entre 2,7 et 5,5 volts.

Pin connexions sur ma carte

  • Broche 9 (VDD) à 3v3
  • Broche 18 (RESET) à 3v3
  • Broche 17 (A2) à GND
  • Broche 16 (A1) à GND
  • Broche 15 (A0) à GND
  • Broche 14 (NC) à GND (pas nécessaire)
  • Broche 13 (SDA) vers ESP GPIO0
  • Broche 12 (SCL) vers ESP GPIO2
  • Pin 11 (NC) à GND (Pas nécessaire)
  • Broche 10 (VSS) à GND

Étape 2: fabrication de la carte principale

Faire la carte principale
Faire la carte principale

La planche est simple à faire comme expliqué ci-dessus, tout est d'une disposition simple.

Ma carte principale a pris peu de temps à faire et est montrée ci-dessus.

Vous pouvez bien sûr construire ce circuit sur une maquette.

Étape 3: Cartes supplémentaires

Cartes supplémentaires
Cartes supplémentaires

J'ai créé des cartes 8 bits supplémentaires qui peuvent facilement être branchées sur différentes cartes de projet.

La première carte est connectée à un écran LED à 7 segments et est connectée à la broche 1 au segment a, à la broche 2 à b, etc. Il y a une petite résistance (environ 55 ohms) pour protéger les LED.

Le second est une banque de 8 commutateurs tous câblés ensemble et peut être connecté à 3,3 V ou à la terre. Je n'ai inclus aucune résistance de traction car le MCP23017 les a intégrées.

Le troisième provient d'un kit Ebay, il se compose de 8 LED et d'un réseau de résistances avec une connexion à Gnd. J'ai aussi la même carte mais j'ai installé les LED à l'envers pour qu'elle se connecte à 3,3V ou 5V au lieu de Gnd. Sur Ebay, ils sont connus sous le nom de kit DIY LED Flowing Water Light à 8 canaux, 99p de Chine.

Étape 4: Programmation

La programmation
La programmation

J'ai écrit les programmes pour fonctionner avec un ESP01 car celui-ci n'a que 2 broches d'E/S. Il peut bien sûr être utilisé avec n'importe laquelle des cartes ESP8266. Les broches SDA et SCL peuvent être attribuées à n'importe quelle broche entre 1 et 12.

Si vous utilisez une ancienne version de LUA (par exemple, NodeMCU 0.9.6 build 20150704 alimenté par Lua 5.1.4), l'I2C est déjà installé. Sinon, vous devez vous assurer que le module I2C est inclus dans votre build.

J'ai inclus 3 programmes Lua simples pour montrer comment l'IC peut être utilisé.

7Segment.lua pilote un affichage LED et des séquences entre les chiffres 1 à 0.

KittCar.lua pilote la carte à 8 LED pour simuler la célèbre voiture des années 80.

Reader.lua lit à partir du port B.

Étape 5: quelle épingle ?

Quelle épingle ?
Quelle épingle ?

Un programme supplémentaire que j'ai imaginé en bricolant.

Il utilise le port B comme entrée et le port A comme sortie. La photo montre des commutateurs DIP, mais vous pouvez connecter l'une des broches du port B à Gnd et l'écran LED indiquera quelle broche est connectée.

REMARQUE: cela ne fonctionne qu'avec 1 broche à la fois !

Étape 6: Conclusion

Conclusion
Conclusion

Il existe bien sûr d'autres extensions d'E/S disponibles. Certains sont en 8 bits, 16 bits et même 24 bits ! Tous fonctionnent de la même manière que le MCP23017, mais ce circuit intégré est très bon marché pour ses capacités et peut être acheté pour environ 10p chacun en Chine.

Je n'ai pas utilisé toutes les fonctionnalités de ce circuit intégré car des interruptions sont également disponibles et peuvent être utilisées. La lecture de la fiche technique explique tout sur les différents registres et les façons dont le circuit intégré peut être utilisé.

Il est possible d'avoir 8 de ces appareils sur le même bus I2C donnant 128 ports I/O tous contrôlés par 2 lignes. Pensez aux possibilités là-bas!

Conseillé: