Automate pour la gestion des volets
Description
Cet automate devra gérer les volets roulants électrique qui sont dans la cuisine/salon.
Cette grande pièce est plein sud, il faut donc pour ouvrir/fermer les volets en fonction de la luminosité et de la température.
Le fonctionnement sera le suivant :
Si la luminosité et la température dépasse un seuil, on ferme les volets.
Accessoirement, on essayera de mettre 2 seuils, un pour la fermeture complète, un pour une fermeture à moitié.
Un liaison wifi permettra d'envoyer en MQTT la luminosité, la température et l'humidité à une éventuelle centrale.
Il sera possible de changer les seuils par la liaison wifi.
MAJ
Une MAJ importante de l'automate. Comme on dispose d'informations intéressantes (température, humidité, lumière …) pourquoi ne pas les afficher ?
J'ai donc ajouté un afficheur OLED i2c qui permet un gain de place et affichera ces infos.
J'ai aussi ajouté un module i2c qui comprend :
- un capteur de température/humidité HTV21D
- un capteur de pression atmosphérique et température BMP180
- un capteur de lumière BH1750FVI
Ce module me permettra d'avoir les infos (temp, hum, lum, pression) de l'extérieur.
Il est possible que j'ajoute un module RTC i2c.
En effet j’envisage de mettre tout mes modules wifi pour la domotique de la maison, derrière mon routeur déjà utilisé pour mon système de vidéo surveillance Routeur WIFI.
Et dans ce cas comme le réseaux derrière ce routeur est isolé, je ne sais pas si on pourra accéder à un serveur NTP .
Et après quelques tests avec NTP, j'ai décidé de mettre une petite horloge du type dn1337.
Au niveau câblage, l'i2c est déjà présent pour l'afficheur.
Le bouton poussoir va augmenter en mode :
Affichage normal - Heure ( a mettre en place)
BP 1 coup : Affichage température interne/externe
BP 2 coup : Affichage luminosité interne/externe
BP 3 coup : Affichage pression (prévision météo ?)
BP 5 coup : Désactivation du module pour les volets (mode vacance ou protection)
Pour les seuils, je vais essayer de les définir via une commande MQTT.
Il faut un seuil pour la luminosité ainsi que pour la température en interne et externe.
Matos
esp8266 type witty (avec une ldr, bp et led)
DHT11
Télécommande pour volets préprogrammé pour les volets (on modifiera celle existante).
Pour l'alimentation, le plus simple est un chargeur USB.
Je vais étudier une alim avec une cellule solaire qui charge une batterie.
Cette solution dépendra de la consommation du module.
Le module Witty est un esp8266E soudé sur un circuit où se trouve :
Un régulateur
Une led 3 couleurs
Un BP
Une LDR
Un port usb pour l'alimentation.
L'ensemble peu s'enficher sur un circuit qui est prévue pour le programmation de l'ESP. Ce circuit à un port USB pour communiquer avec un ordinateur, un bp reset, un bp pour flasher l'ESP.
Cet ensemble permet de tester rapidement des bouts de programmes et de visualiser avec la led 3 couleurs des états.
C'est idéal pour le prototypage.
Les ports de l'ESP utilisés sont :
LDR = Adc0
LED vert = 12
LED bleu = 13
Led rouge = 15
BP = 4
Schémas
Pour le module, j'ai utilisé une plaque à trou.
Le module Witty s'enfiche sur des connecteurs, ce qui permet de le retirer pour le programmer avec la plaque prévue à cet effet. J'ai dessoudé la led qui ne me sert pas afin d'utiliser les ports pour commander la télécommande.
La télécommande est une identique à celles utilisées pour monter/descendre les volets roulants. Elle est programmé pour agir sur l'ensemble des volets du salon/cuisine.
J'ai sortie les 4 ports disponibles pour simuler les boutons.
Commun = +3V de la télécommande.
Haut, arrêt, bas
Un contact entre le commun et un des autre ports agit comme l'appui sur le bouton.
Sur l'ESP les ports utilisés sont | MAJ Ajout d'un afficheur OLED I2C |
- LDR = Adc0 (déjà sur le Witty) | - LDR = ADC0 |
- haut = Cpio 12 | - haut = Cpio 12 |
- arret = Cpio 13 | - arret = Cpio 13 |
- bas = Cpio 15 | - bas = Cpio 15 |
- DHT11 = Cpio 2 | - DHT11 = Cpio 2 |
- Test bouton = Cpio14 | - Test bouton + LED = Cpio14 |
| - SDA = 4 |
| - SCL = 5 |
Pour la LDR j'ai due dessouder la résistance du module witty pour la remplacer par un trimmer.
En effet je ne pouvais pas régler la plage de luminosité.
Le capteur DHT11 est alimenté en 3.3V pour avoir une plage complète.
Le test bouton est en fait une détection de l'appui sur le bouton stop de la télécommande, il est prévue de faire quelques actions préprogrammés par l'appui suivant une séquence de ce bouton.
Par exemple désactiver le module lorsqu'un fenêtre est ouvert volets fermés, ou à l'occasion des vacances….
Tous les autres modules sont piloté par I2C, il faudra que j'ajoute une petit alimentation en plus car l'alim du Witty ne sera pas assez puissante.
Surtout pour le 3,3v qui doit alimenter les modules I2C. une alim 220V/3,3V devra être rajouté.
Une petit plaque à trous supplémentaire, ferons l'affaire pour tous mettre.
Schémas eagle
Schémas intial Schémas après MAJ
La MAJ apporte un afficheur OLED et corrige quelques bugs
Note ment l'alimentation de la led qui n'est pas bon dans le schémas initial.
Programme
Pour cette partie, il faut avoir une connexion WIFI avec un DHCP, ainsi qu'un brooker MQTT.
Le programme est sur cette page. Programme
Bilan