Bonjour.
Je cherche à utiliser le DAC de mon Lolin32 mais je bloque dans le code.
Le but premier me parait pourtant simple :
Faire varier la tension de sortie du GPIO25 en fonction d’un switch sur GPIO15
Par la suite, j’aimerais pouvoir :
Faire varier cette tension en fonction de la distance retournée par un capteur à Ultra-Son de type SR04. Par exemple 50cm = 50%, 25cm = 25%, 10cm = 10%…
Voici mon code (Je passe le début qui ne pose aucun problème) :
Bonsoir ,
, par exemple
avec esphome tu vas pouvoir intégré un automation dans l’esp ou sous ha, ça me semble plus simple
Là c’est un choix
Et il vas donc falloir faire un peut de math si tu veux quelque choses de proportionnelle
Ou une longue automation si tu veux faire des paliers.
Pour t’aider, Liens pour une variation de vitesse par palier qui est devenu proportionnelle
Oui je pense que tu dois pouvoir faire un automation
Trigger
......
Condition
.......
Action
Appeller service
Switch turn_on
Entité : Switch ( bon vas peu être falloir le rénome🙄)
Data:
Level: {{states.('ultrasonic')| float }}
Je pense que si j’arrive à faire fonctionner ‹ output › en lambda, j’aurais ce que je veux.
A savoir une tension variable en fonction de plusieurs conditions.
Ce sera pas vraiment proportionnel mais des paliers me suffiront.
J’ai aussi testé la fonction ‹ on_value_range › qui fonctionne parfaitement pour une seule condition mais comment faire pour avoir plusieurs conditions à la suite ?
Pour ce qui est de tester dans l’outil de développement, pour le moment je ne peux pas car le module n’est pas intégré à Home Assistant et je ne souhaite pas l’intégrer tant que je ne sais pas encore ce que je vais vraiment envoyer dans HA.
Ce module doit fonctionner en autonome, ensuite je le connecterai.
Dans tous les cas, je te remercie bien de prendre du temps pour répondre à mes interrogations.
j’ai regarder aussi et les capteurs ultrasonic sont par default a 60 sec. update_interval ( facultatif , heure ): l’intervalle de vérification du capteur. La valeur par défaut est 60s
Pour la tension de sortie, ‹ id(tension_de_sortie).set_level(0.xx) ›, le chiffre entre () indique un pourcentage de la tension de sortie du gpio, soit x% de 3,3v
Avec cette solution, je fais autant de palier que je le souhaite et je termine par :
else {
id(tension_de_sortie).set_level(x.xx);
}
Ainsi, je peux fixer la tension max de sortie.
Ta solution fonctionne aussi parfaitement et fait une réelle proportionnalité.
Bonjour.
Je confirme après tous mes tests, que la solution à la question posée dans ce post correspond au code déjà diffusé plus haut.
Ca marche nickel.
L’ensemble des plus de 1000 lignes de mon code ne serait pas opportun dans cette discussion…
Je clos donc ce sujet mais en ouvre un autre sur l’utilisation de l’UART avec ESPHome.
A de suite…