Table des matières:

Stores Windows automatisés : 6 étapes (avec images)
Stores Windows automatisés : 6 étapes (avec images)

Vidéo: Stores Windows automatisés : 6 étapes (avec images)

Vidéo: Stores Windows automatisés : 6 étapes (avec images)
Vidéo: Сделай Сам: Идеи, Которые Переведут Ваш Дом На Новый Уровень ▶6 2024, Juillet
Anonim
Image
Image
Stores de Windows automatisés
Stores de Windows automatisés
Stores de Windows automatisés
Stores de Windows automatisés

Un mot d'avance

J'ai vu beaucoup de tutoriels sur la façon d'automatiser les stores et les stores manuels, eh bien dans celui-ci, nous automatiserons les stores électriques. Nous couvrirons les stores électriques alimentés par des moteurs électriques à courant continu (CC) qui s'ouvrent ou se ferment en inversant la polarité du courant.

Bien que si vous achetez des stores électriques, vous obtiendrez une certaine automatisation, il y a des raisons de faire l'automatisation vous-même comme:

* vous pouvez n'avoir qu'un interrupteur près d'eux pour le contrôle haut/bas

* c'est moins cher (certaines entreprises proposent une automatisation avancée pour beaucoup de $$ supplémentaires)

* plus flexible, vous pouvez les programmer pour les ouvrir ou les fermer selon diverses circonstances, nous apprendrons à créer un serveur Web en python qui se connectera à l'interface bluetooth des shades, et exposera une API pour contrôler les shades, nous allons également intégrer avec les choses en langage clair et là, vous pouvez faire des choses comme contrôler les stores selon un calendrier ou le contrôler via l'entrée du capteur

Il s'agira d'un didacticiel intermédiaire, vous aurez besoin de compétences telles que la soudure, la programmation arduino, des connaissances de base en électronique et comment installer des services sur un serveur, les exécuter et les configurer.

Si vous avez aimé les vidéos youtube, vous pouvez vous abonner ici.

Étape 1: Choses requises

Choses requises
Choses requises
Choses requises
Choses requises

Astuce: agrandissez les images pour voir les étiquettes descriptives sur elles

Les pièces:

1. arduino pro mini 16Mhz 5V type (eBay) 2$

2. Module bluetooth HC-05 (eBay) 3.3$

3. Relais 5 V à deux canaux (eBay) 1.6$

4. Transistor NPN qui est évalué pour au moins quelques ampères, j'ai utilisé Tip142T < 1$

5. 220 ohms, 0.25W rezistor <1$

6. diode, 1N4004 <1$

7. fils pour connecter les pièces < 1$

8. PCB (eBay) <1$ par pièce

9. 2 x connecteur à vis enfichable KF301-2P (eBay) <1$ par pièce

10. fils de liaison mâle-femelle (eBay) 1,2$ x 2 pour un paquet

11. Régulateur L7805CV 5V (eBay) < 1$ par pièce

12. Prise d'alimentation CC de 5,5 mm mâle et femelle (eBay) < 1 $ par pièce

13. Gaine thermorétractable ou ruban isolant

14. Alimentation, l'alimentation doit être conçue pour 12V et 2-3A.

J'ai récupéré le mien sur un chargeur 12 V 2 A (eBay) 3.2 $

14. Bornier de bornier (eBay) 15c

15. porte-fusible (Aliexpress) 1$ par pièce

16. fusible (eBay) < 1$ par pièce

17. connecteurs pcb mâle et femelle (eBay) < 1 $ pour ce dont nous avons besoin

18. Câble d'alimentation secteur

19. boîtier en plastique, le mien mesurait 6 x 19 cm

Outils:

1. Fer à souder avec soudure

2. Coupe-fil

3. Divers tournevis

4. Coupeur

5. perceuse électrique et foret de 8,5 mm

6. Adaptateur USB vers série FTDI FT232RL pour programmer l'arduino pro mini

7. Ordinateur portable avec ArduinoIDE installé pour programmer l'arduino

8. Plus léger si vous utilisez une gaine thermorétractable

9. Un smartphone capable de connexion Bluetooth (j'utilise un Android dans l'exemple) avec un logiciel Bluetooth installé

10. Facultatif: loupe, multimètre, pinces

Étape 2: Préparatifs

Les préparatifs
Les préparatifs
Les préparatifs
Les préparatifs
Les préparatifs
Les préparatifs

Choix de l'alimentation, et du boîtier en plastique

La première chose est de déterminer combien de courant et quelle tension fonctionnent les moteurs des stores.

Cela peut être fait en lisant les spécifications ou en prenant des mesures à l'aide du multimètre. Habituellement, ils fonctionnent en 12 V et 1 à 3 ampères (les miens sont de 2,5 A et 12 V). Multipliez le courant par combien d'entre eux devez-vous conduire simultanément (j'en conduis deux) pour connaître le courant maximal nécessaire. Vous devriez trouver une alimentation qui est exactement la même tension et idéalement le même ampérage ou légèrement plus élevé.

À cette étape, j'ai un peu triché en utilisant une alimentation 12 V et 2,5 A pour entraîner deux moteurs 12 V et 2,5 A, ce qui signifie que les moteurs consomment deux fois plus d'énergie que l'alimentation ne peut en fournir. Mais en utilisant une technique appelée PWM (consultez le lien pour voir plus de détails), j'ai réussi à entraîner le moteur simultanément à une vitesse inférieure.

La raison pour laquelle j'ai fait cela est d'économiser de l'espace dans la boîte (j'ai choisi une boîte plus petite).

Le boîtier en plastique devra contenir l'alimentation, deux relais, un petit circuit imprimé avec l'électronique et les fils, alors choisissez la taille pour que tout rentre.

Mon alimentation avait un boîtier en plastique que j'ai déchiré à l'aide d'un outil dremel, j'ai coupé les fils existants et de cette façon j'ai une alimentation bon marché et petite adaptée à mon projet (voir photos).

Préparer les câbles du moteur

Vous devez calculer la longueur des câbles du moteur, c'est-à-dire jusqu'à ce qu'ils atteignent le boîtier de commande que nous construisons. Il y a de fortes chances que les câbles existants ne soient pas assez longs, et vous devrez les rallonger, dénuder les deux fils (le câble des lames existant et les câbles d'extension) à une extrémité, mettre des tubes thermorétractables, souder les fils puis appliquer de la chaleur avec un plus léger pour isoler.

À l'extrémité du câble d'extension, il y aura une prise jack mâle d'alimentation CC de 5,5 mm. Vous devez souder les deux fils à la prise, le résultat final sera comme sur les photos.

Insertion de la prise femelle d'alimentation CC de 5,5 mm dans la boîte

À l'aide de la perceuse, percez deux trous suffisamment grands pour que le vérin puisse y glisser. Insérez les prises d'alimentation, vissez à l'aide des écrous. Ensuite, soudez des fils noirs et rouges épais à chacune des entrées jack, puis isolez-les à l'aide d'un tube thermorétractable. Les fils doivent être suffisamment longs pour entrer facilement dans le bornier, mais pas trop longs pour occuper trop d'espace.

Fixation du porte-fusible avec le fusible

Sur un côté de la boîte, percez un petit trou pour mettre un petit écrou qui maintient en place le porte-fusible. Ensuite, à l'aide de la pince, d'un tournevis et de l'écrou, vissez-le fermement en position. Le porte-fusible doit se trouver à proximité de l'emplacement de l'alimentation électrique et doit être à l'intérieur de la boîte. Vérifiez encore une fois les images.

Étape 3: Construire le PCB avec l'électronique

Construire le PCB avec l'électronique
Construire le PCB avec l'électronique
Construire le PCB avec l'électronique
Construire le PCB avec l'électronique
Construire le PCB avec l'électronique
Construire le PCB avec l'électronique

Le PCB contiendra le microcontrôleur, la communication bluetooth, le module RTC, un transistor de puissance avec une diode de protection et un petit rezistor, des fils de connecteurs et un régulateur 5V.

J'ai joint le schéma de fritzig pour que les choses soient faciles. La première image représente l'image exportée du schéma et j'ai également joint sketch.fzz (le fichier d'origine, vous pouvez l'ouvrir avec cet outil)

Étapes de soudure:

1. coupez les connecteurs PCB femelles, il y a deux connecteurs à 12 broches pour le microcontrôleur, il y a aussi un connecteur à 6 broches pour le bluetooth et un autre connecteur à 12 broches sur le côté droit du microcontrôleur et un connecteur à deux broches pour le relais négatif et puissance positive

2. Une fois tous les connecteurs coupés, il doit être soudé à l'arrière du PCB

3. Souder les deux connecteurs KF301-2P

4. Mettez le régulateur L7805CV 5V sur le PCB. Pliez ses pattes et soudez-les de l'autre côté puis coupez les pattes en excès avec le coupe-câble

5. Soudez le transistor NPN Tip142T et la diode de protection 1N4004, coupez les pattes en excès après

6. Soudez le rezistor de 220 ohms entre la broche numérique correspondante 5 et la broche de base du transistor

7. Soudez des fils plus épais entre le tranzistor et les prises KF301-2P (rouge et noir comme indiqué sur les photos)

8. Soudez tous les fils minces rouge (+), noir (-) et blanc (signal) selon le schéma de fritzig

9. Soudez les broches mâles sur le microcontrôleur, vous avez besoin de deux 12 broches mâles sur les côtés

10. Faites des connexions entre chacune des broches correspondantes femelles du côté droit du microcontrôleur (c'est mieux expliqué dans les images). Les connexions seront faites en utilisant juste de la soudure (les broches seront proches)

11. Facultatif: avec la loupe inspectez les soudures pour les courts-circuits et vérifiez si les fils sont correctement soudés à l'arrière du PCB, vous pouvez également vérifier avec le multimètre (réglage de la résistance) s'il y a un court-circuit entre le positif et connexions négatives. Un autre test consiste à alimenter le circuit sans le microcontrôleur, bluetooth

12. Placez le microcontrôleur et le bluetooth HC-05 sur le pcb

Étape 4: Câblage et assemblage

Câblage et assemblage
Câblage et assemblage
Câblage et assemblage
Câblage et assemblage

À présent, nous avons notre circuit imprimé prêt, notre boîte en plastique prête, les câbles des stores câblés et nos autres composants préparés. Il ne nous reste plus qu'à câbler le système.

1. à travers le trou latéral supérieur de la boîte, insérez le câble d'alimentation secteur, dénudez le câble et soudez-le sur le bloc d'alimentation (si votre bloc d'alimentation a des vis, vissez-le)

2. à l'aide d'un fil rouge, soudez la sortie (+) de l'alimentation à l'un des fusibles du côté, utilisez un peu de gaine thermorétractable pour cacher le fil dénudé exposé.

3. souder un autre fil rouge de l'autre côté du fusible appliquer un tube thermorétractable, l'autre côté du fil doit être inséré et vissé dans l'entrée (+) du connecteur à vis KF301-2P

4. souder un fil noir au côté sortie (-) de l'alimentation puis le visser sur le connecteur à vis KF301-2P d'entrée PCB

4. À l'aide des connecteurs mâle-femelle de la carte d'essai, connectez le relais positif et négatif aux connecteurs femelles positif et négatif du circuit imprimé. Connectez également les broches 8 et 9 du microcontrôleur (en utilisant les connecteurs mère du PCB à gauche du PCB) aux broches de déclenchement du relais

5. connectez un côté du bornier aux fils rouges respectivement noirs provenant des connecteurs femelles d'alimentation CC de 5,5 mm. Dans vous avez plus d'un connecteur femelle de 5,5 mm comme je le fais, alors tous les fils rouges se retrouveront dans le côté supérieur gauche du bornier, et tous les fils noirs sur le côté supérieur droit du bornier (voir photos). Lorsque vous actionnerez les stores s'ils ne se déplacent pas dans la même direction, nous inverserons les fils ici (nous en reparlerons plus tard)

6. connectez les fils positif et négatif provenant du connecteur à vis KF301-2P (sortie) au milieu des bornes du relais. Le milieu des bornes est appelé commun.

7. connectez le côté gauche du relais gauche (peu importe la façon dont vous faites face au réel) au côté gauche du relais droit au côté inférieur gauche du bornier. Connectez ensuite le côté droit du relais gauche au côté droit du relais droit au côté inférieur droit du bornier. Le bornier aura le côté supérieur connecté aux connecteurs femelles de 5,5 mm (voir étape 5).

Remarque: j'ai décrit le bornier comme ayant des côtés supérieur et inférieur ayant chacun un côté gauche et un côté droit. Peu importe comment vous tenez le bornier tant que vous vous souvenez de quel côté est quoi. Vous pouvez vérifier les photos et surtout le schéma de fritzig.

Étape 5: Le code Arduino

Le code Arduino
Le code Arduino

Le code doit être téléchargé sur l'arduino pro mini à l'aide de l'adaptateur USB vers série FTDI FT232RL.

Vous devrez connecter les broches GND, VCC, Rx, Tx et DTR à l'arduino pro mini. Ensuite, ouvrez le logiciel arduino, sélectionnez outils/port et quel que soit le port que vous utilisez. Puis Outils/Carte/Arduino Pro ou Pro Mini. Puis Outils/Carte/Processeur/ATmega328 (5V 16Mhz).

Enfin, ouvrez le croquis ci-dessous et appuyez sur télécharger.

Ajustements: La seule chose qui peut être ajustée dans l'esquisse est le pwmPower. La valeur peut être comprise entre 0 et 255 et elle représente approximativement la quantité de puissance d'alimentation qui ira aux moteurs des stores. Il s'agit essentiellement d'allumer et d'éteindre rapidement l'alimentation. Je l'ai implémenté principalement pour me permettre d'utiliser une alimentation plus petite sans surchauffer ni éteindre. Si votre alimentation a une puissance supérieure à celle que les moteurs consomment, vous pouvez régler le pwmPower sur 255.

Alors, comment fonctionne ce programme: d'abord, il écoute la ligne série (une série logicielle secondaire) pour les transmissions entrantes. Lorsqu'une transmission arrive, le message est lu dans un tampon jusqu'à ce que le ";" est présent ou la fin du tampon est atteinte. Ensuite, il est analysé et s'il est au format correct (ex: O45;) la fonction toggleState est appelée avec le premier paramètre state, puis la durée.

Pour réaliser le commutateur de polarité, les deux relais sont ouverts ou fermés. Le tranzistor est allumé et éteint à l'aide du PWM pendant la durée spécifiée. O45 signifie ouvert pendant 45 secondes.

Une fois la commande exécutée, le tampon est vidé.

Étape 6: Utilisation

Usage
Usage
Usage
Usage
Usage
Usage

Nous pouvons utiliser les commandes de plusieurs manières

1. Via une application bluetooth android ou iphone (le plus simple)

Dans ma démo, j'ai choisi une application Android appelée Bluetooth Controller. Cette application vous permet de personnaliser les boutons qui enverront des données série. J'ai créé deux boutons appelés Up et Down, j'ai associé Up avec le code "C40;" et le bas avec "O35;".

"C40;" signifie que je vais fermer (rétracter) les stores pendant 40 secondes, "035" signifie que je vais s'ouvrir (ils montent) pendant 35 secondes. ";" est le terminateur de commande que j'ai choisi dans mon croquis, cela signifie qu'il signale la fin d'une commande.

2. Via un script python qui s'exécute en continu en arrière-plan

C'est la partie avancée du tutoriel. J'ai un script python qui s'exécutera sur un serveur comme un raspberry pi ou un ordinateur portable avec accès Internet. Il se connectera au bluetooth du boîtier de contrôle et exposera une API http. L'API est accessible directement ou via Thingspeak.

Je vais vous expliquer étape par étape ce que vous devez faire

une. la première chose est de coupler le bluetooth

vous utiliserez la commande bluetoothctl à partir de la console, à l'intérieur du type

allumer

détectable sur l'agent sur l'agent par défaut appariable lors du scan sur la paire xx:xx:xx:xx:xx:xx (et entrez le mot de passe) trust xx:xx:xx:xx:xx:xx (si aucun mot de passe):

ouvrez ensuite le fichier de configuration bluetooth

vim /etc/bluetooth/rfcomm.conf

à l'intérieur, vous devrez configurer votre périphérique Bluetooth comme suit:

rfcomm1 {

lier oui; appareil your_bluetooth_mac_address quelque chose comme 97:D3:31:21:A0:51; canal 1; commentaire "Connexion à mes nuances bt"; }

lier, redémarrer les services bluetooth

sudo rfcomm lier allsudo /etc/init.d/bluetooth redémarrer sudo hciconfig hci0 up

b. install flask, flask basic auth:

sudo -H pip install Flask Flask-BasicAuth

c. créez un fichier server.py avec le code suivant et exécutez le serveur:

# utilisation: python httpToBluetooth nom d'utilisateur mot de passe bluetooth_address

# Remarque: le nom d'utilisateur et le mot de passe sont utilisés

import os, bluetooth, sys, threading

depuis flask import Flask depuis flask_basicauth import BasicAuth depuis la file d'attente import Queue app = Flask(_name_) configuration = sys.argv app.config['BASIC_AUTH_USERNAME'] = configuration[1] app.config['BASIC_AUTH_PASSWORD'] = configuration[2] file d'attente = Queue() basic_auth = BasicAuth(app) classe BluetoothBackground(threading. Thread): def _init_(self, bluetooth_address, queue): threading. Thread._init_(self) self._bluetooth_address = bluetooth_address self._queue = queue self.shutdown = False def run (self): self._bluetooth = self.get_bluetooth() sans self.shutdown: message = self._queue.get() self._bluetooth.send(message) self._bluetooth.close() def get_bluetooth(self): connection = bluetooth. BluetoothSocket(bluetooth. RFCOMM) connection.settimeout(None) try: connection.connect((self._bluetooth_address, 1)) sauf exception, e: print 'Error connection to bluetooth' + str(e) connection.setblocking(False) renvoie la classe de connexion Webserver(threading. Thread): def run(self): port = in t(os.environ.get('PORT', 5000)) app.run(host='0.0.0.0', port=port, debug=True, use_reloader=False) @app.route("/send_to_serial/") @basic_auth.required def send_to_serial(command): queue.put(command) return 'ok' threads = threads.append(BluetoothBackground(configuration[3], queue)) threads.append(Webserver()) [thread.start () pour le fil dans les fils]

pour exécuter le serveur, exécutez:

mot de passe utilisateur python server.py 97:D2:31:20:A0:51

Ok, donc server.py est notre script, l'utilisateur et le mot de passe sont les informations d'identification utilisées pour votre authentification, et "97:D2:31:20:A0:51" est votre adresse MAC Bluetooth.

ré. utilisez votre serveur pour envoyer des commandes de n'importe où dans le monde

depuis le navigateur tapez:

- entrez l'utilisateur et le mot de passe que vous avez configurés précédemment lors du démarrage du serveur python

- "C30;" est la commande qui sera transmise au périphérique bluetooth (notre box qui contrôlera les stores)

- vérifiez que le port 5000 n'est pas bloqué par votre pare-feu (nous utilisons ce port)

- si vous êtes derrière un routeur (par exemple un raspberry pi) vous devez faire une redirection de port depuis le routeur du port 5000 vers le port 5000

e. vous pouvez utiliser Thingspeak pour faire des choses comme contrôler les stores selon un horaire ou lorsque certaines données de capteur de canal changent. Par exemple, vous pouvez accrocher un capteur de lumière (à l'extérieur) à thinkspeak et lorsque le niveau de lumière baisse à un certain niveau (c'est le soir), vous pouvez fermer les stores pour que les gens à l'extérieur ne vous voient pas.

Vous pouvez connecter les shades (serveur python que nous avons configuré précédemment) avec Thingspeak en utilisant ThingHTTP.

J'ai inclus une image du formulaire ThingHTTP avec les données remplies à titre d'exemple et une image avec TimeControl Donc, pour une flexibilité maximale, Thingspeak devrait faire tout ce dont vous avez besoin.

3. Via mon application domotique

C'est un peu plus compliqué, mon application domotique fait bien plus que contrôler les stores.

Il contrôle également les lumières, la porte, possède plusieurs capteurs, s'intègre à des interrupteurs et possède des règles complexes définies par l'utilisateur qui peuvent par exemple ouvrir les stores si le niveau de lumière à l'intérieur est faible ou si c'est le matin.

Vous pouvez consulter mon référentiel github, et si vous avez des questions, je serai ravi d'y répondre.

Si vous avez trouvé mon tutoriel quelque peu utile, partagez-le ou ajoutez-le à vos favoris. Et je veux voir des commentaires intéressants aussi:)

Conseillé: