ESPHome avec ESP32 et carte d’extension ES32A08
Partager
Ce dépôt fournit des exemples d'intégration du microcontrôleur ESP32 avec la carte d'extension ES32A08 d'eletechsup à l'aide d'ESPHome. Cette combinaison permet des applications polyvalentes impliquant la gestion des entrées de capteurs et des sorties, adaptées aux projets d'électronique DIY.
- 8 entrées opto-isolées : déclenchement à bas niveau, type NPN.
- 8 sorties relais 10 A
- 4 entrées de tension 0-5 V/10 V
- 4 entrées de courant 0/4-20 mA
- 4 boutons
- 1 affiche numérique 4 bits
- Interface RS485 : (défectueuse, voir ci-dessous)
Vous trouverez ci-dessous des exemples montrant comment utiliser chaque fonctionnalité de la carte ES32A08.
Certaines des fonctionnalités de la carte sont possibles grâce à des composants tels que des registres à décalage, nous devons donc d'abord les définir.
Pour les sorties, il y a 3 SN74HC595 extenseurs d'E/S (registres à décalage).
sn74hc595 : - id : 'output_hub' data_pin : GPIO13 clock_pin : GPIO27 latch_pin : GPIO14 oe_pin : GPIO4 sr_count : 3
Pour les entrées, il y a 1 SN74HC165 extenseur d'E/S (registre à décalage).
sn74hc165 : - id : 'input_hub' data_pin : GPIO5 clock_pin : GPIO17 load_pin : GPIO16
KEY1 - GPIO18KEY2 - GPIO19KEY3 - GPIO21KEY4 - GPIO23
binary_sensor : - platform : gpio id : key_1 name : "Touche 1" internal : true pin : number : GPIO18 inverted : true mode : input : true pullup : true on_press : then : ...
Les entrées opto-isolées sont disponibles à l'aide du registre à décalage SN74HC165 et utilisent les broches 0 à 7.
binary_sensor : - platform : gpio id : input_1 name : "Entrée 1" pin : sn74hc165 : 'input_hub' number : 0 inverted : true on_press : then : ...
Remarque : assurez-vous de définir les configurations de base nécessaires pour que cela fonctionne
Les relais sont disponibles à l'aide du registre à décalage SN74HC595 et utilisent les broches 16 à 23.
switch : - platform : gpio id : relay_1 name : "Relais 1" pin : sn74hc595 : 'output_hub' number : 16
Remarque : assurez-vous de définir les configurations de base nécessaires pour que cela fonctionne
Je suggère d'utiliser le composant Status LED Light , car il permet de partager une seule LED pour indiquer l'état du dispositif (lorsqu'il est en état d'erreur/d'avertissement) ou comme lumière binaire.
light : - platform : status_led id : board_led name : "LED de la carte" pin : GPIO15 internal : true
V1 - GPIO32V2 - GPIO33V3 - GPIO25V4 - GPIO26
Remarque
Les entrées V3 (GPIO25) et V4 (GPIO26) ne peuvent pas être utilisées lorsque wifi: est utilisé.
sensor : - platform : adc id : voltage_1 name : "Tension 1" update_interval : 30s attenuation : auto pin : number : GPIO32 mode : input : true filters : # Conversion de ce que l'ESP voit en valeur réelle en fonction des résistances utilisées sur la carte - lambda : return x / 10.0 * (10.0 + 43.0); # Arrondi à 2 décimales, mais n'hésitez pas à modifier cela si vous avez besoin de plus ou moins de précision - round : 2 - delta : 0.01
I1 - GPIO36I2 - GPIO39I3 - GPIO34I4 - GPIO35
Voici un exemple avec un capteur de pression 4-20mA à 10 bars :
sensor : - platform : adc id : pressure name : "Pression" device_class : pressure state_class : measurement unit_of_measurement : bar accuracy_decimals : 2 attenuation : 0db samples : 64 pin : number : GPIO36 mode : input : true filters : - lambda : !lambda |- if (isnan(x)) return NAN; float min_v = 0.364; // 4mA x 91R float max_v = 1.82; // 20mA x 91R float max_bar = 10.0; float bar = (x - min_v) * max_bar / (max_v - min_v); if (bar < 0.0) bar = 0.0; if (bar > max_bar) bar = max_bar; return bar; - round : 2 - delta : 0.015
Après de nombreuses heures de débogage, j'ai découvert que l'interface RS485 intégrée à la carte ES32A08 présente un problème matériel provoquant une boucle de signal. Cela perturbe la communication correcte du dispositif et rend le RS485 intégré inutilisable.
Pour ceux qui ont besoin de la fonctionnalité RS485, consultez #2 où je discute d'une solution de contournement possible en utilisant un module RS485 externe soudé sur les broches des boutons intégrés.
- Système d'irrigation ESPHome – Mon propre cas d'utilisation pour cette carte.
