Table des matières:

Rideaux de maison automatisés - Mini projet avec le module BluChip (nRF51 BLE) de MakerChips : 7 étapes (avec images)
Rideaux de maison automatisés - Mini projet avec le module BluChip (nRF51 BLE) de MakerChips : 7 étapes (avec images)

Vidéo: Rideaux de maison automatisés - Mini projet avec le module BluChip (nRF51 BLE) de MakerChips : 7 étapes (avec images)

Vidéo: Rideaux de maison automatisés - Mini projet avec le module BluChip (nRF51 BLE) de MakerChips : 7 étapes (avec images)
Vidéo: Premiers tests pour bien débuter avec l'ESP32 [ESP32 #1] 2024, Juillet
Anonim
Rideaux de maison automatisés - Mini projet avec le module BluChip (nRF51 BLE) de MakerChips
Rideaux de maison automatisés - Mini projet avec le module BluChip (nRF51 BLE) de MakerChips

Imaginez que vous vous réveilliez et que vous souhaitiez obtenir un rayon de soleil à travers vos fenêtres, ou que vous fermiez les rideaux pour pouvoir dormir plus loin, sans l'effort de vous approcher des rideaux, mais plutôt en appuyant sur un bouton de votre smartphone. Avec le système automatisé de rideaux pour la maison, vous y parvenez avec des composants qui ne coûtent pas plus de 90 $ !

Voir ce tutoriel sur Github

Étape 1: la conception

La conception
La conception

Au cœur du système de rideau domestique automatisé se trouve le module BluChip de MakerChips.

Le BluChip est un petit module Bluetooth de 16,6 x 11,15 mm qui peut servir de périphérique aux smartphones via BTLE.

Cliquez ici pour une introduction à Bluetooth Low Energy (BTLE).

Le module se compose d'un SoC nRF51 de Nordic Semiconductors, une excellente plate-forme pour les applications BLE car il prend en charge de nombreuses fonctionnalités intégrées sur les applications Android et Apple.

Étape 2: Kit d'explorateur BluChip

Kit d'explorateur BluChip
Kit d'explorateur BluChip
Kit d'explorateur BluChip
Kit d'explorateur BluChip
Kit d'explorateur BluChip
Kit d'explorateur BluChip

Pour construire ce projet, j'ai obtenu le BluChip Explorer Kit de MakerChips qui est arrivé dans 2 boîtes séparées, une pour le programmeur CMSIS-DAP et une autre boîte contenant le BluChip sur une maquette avec 2 LED RVB, une photo-résistance et une pile CR2032.

Comme vous l'avez remarqué, le module BluChip est extrêmement petit, ce qui le rend parfait pour les petits projets Bluetooth embarqués de faible puissance. Il tient sur une empreinte de seulement 6 x 4 en-têtes de 0,1" sur une planche à pain et a des en-têtes supplémentaires de 0,05" sur le dessus de la carte, assez impressionnant pour un emballage commercialement certifié FCC !

Voici quelques fonctionnalités clés du site Web BluChip de MakerChips:

  • 14 broches GPIO accessibles
  • Processeur ARM Cortex M0 32 bits et 256 Ko de mémoire flash et 32 Ko de RAM
  • 16,6 mm x 11,15 mm Le plus petit module Bluetooth ® compatible avec une planche à pain disponible
  • L'alimentation prend en charge 1,8 V - 3,6 V
  • Fonctionnalités Bluetooth

    • BTLE - Bluetooth Low Energy - (BLE, BT 4.1)
    • Bluetooth® et Japon, FCC, certifié IC
    • Horloge système 32 MHz intégrée
    • Puissance de sortie: +4dBm typique
    • Fréquence: 2402 à 2480 MHz

      Antenne modèle haute performance intégrée

    • Esclave/maître intelligent Bluetooth® monomode
  • Interfaces prises en charge: SPI, UART, I2C et ADC 8/9/10 bits
  • Deux jeux de broches de programmation

    • Embases de 0,05" pour un couplage facile aux appareils CMSIS-DAP et J-Link
    • En-têtes.1" pour l'interfaçage avec les maquettes
  • LED rouge contrôlable par logiciel

Étape 3: Application NRF Connect

Image
Image
Application NRF Connect
Application NRF Connect
Application NRF Connect
Application NRF Connect

Dès que vous ouvrez la boîte de l'explorateur BluChip, vous la voyez prendre vie avec des LED clignotantes, un spectacle assez fascinant, n'est-ce pas ?

Pour voir ce qui vous attend avec ce module BLE, installons l'application nRF Connect depuis Google Play ou App Store.

Nous allons nous connecter au BluChip avec notre téléphone, alors ouvrez l'application nRF Connect, parcourez l'écran d'accueil et appuyez sur Activer pour activer Bluetooth. Ensuite, appuyez sur Analyser et vous découvrirez bientôt que votre appareil BluChip est répertorié sous l'onglet Scanner.

Avant de nous connecter réellement au BluChip, obtenons une LED et plaçons-la sur la maquette à côté des broches 026(+ve) et 021(-ve). La LED doit s'allumer immédiatement car la broche 026 délivre 3,3 V (niveau logique HAUT) alors que la broche 021 est logique BAS (Masse).

Allez-y et appuyez sur se connecter pour établir une connexion entre votre smartphone et le BluChip, qui vous amène ensuite à l'onglet client de l'appareil dans l'application.

L'onglet client BluChip affiche tous les services disponibles sur votre appareil. Ce qui nous intéresse ici, c'est le service BlueChip GPIO (répertorié comme service inconnu). Appuyez dessus, puis appuyez sur la flèche orientée vers le haut à côté de la caractéristique de modulation GPIO (répertoriée comme caractéristique inconnue).

Une fenêtre contextuelle de valeur d'écriture apparaîtra, vous donnant la possibilité d'envoyer des données à votre appareil BluChip. Dans notre cas, nous voulons éteindre la LED, alors appuyez sur la flèche à côté de BYTE ARRAY et changez le format de données en UINT 8. Nous enverrons le numéro de broche comme première valeur, alors entrez 21 pour la broche021. Appuyez sur ajouter une valeur pour envoyer la prochaine donnée dont l'état doit être défini (format hexadécimal BYTE). Pour éteindre la LED, nous allons régler la broche 021 sur 3,3 V (niveau logique élevé), alors entrez 01 puis appuyez sur Envoyer.

La LED s'éteint instantanément ! Pour rallumer la LED, envoyez une valeur de 0x00 (niveau logique BAS) à la broche 021. Comme on le voit sous la caractéristique répertoriée, la valeur envoyée de (0x) 15-01 est affichée. {[(décimal UINT8) 21 = (hex BYTE) 0x15] + (hex BYTE) 0x01 => (hex BYTE) 0x1501 }

Si vous choisissez d'enregistrer ces valeurs dans la fenêtre contextuelle Write value en lui donnant un nom, puis en appuyant sur enregistrer, vous pourrez les charger à l'avenir en tant que préréglages pour une modulation GPIO facile !

Étape 4: Programmation du BluChip

Programmation du BluChip
Programmation du BluChip
Programmation du BluChip
Programmation du BluChip
Programmation du BluChip
Programmation du BluChip

Vous auriez remarqué dans la vidéo ci-dessus que le nom de l'appareil BluChip sur mon téléphone est différent du vôtre, alors comment allons-nous le changer à notre guise ?

Le micrologiciel de l'application exécuté sur le BluChip sert de périphérique (esclave) sur BLE aux périphériques centraux (maître) tels que les smartphones qui y sont connectés. Pour changer le nom de notre appareil, essayons de faire clignoter le firmware de l'application sur notre BluChip.

Le programmeur ARM (CMSIS-DAP) est inclus avec le kit BluChip Explorer. MakerChips a fourni un guide pratique sur les détails du flashage du micrologiciel sur le BluChip avec le CMSIS-DAP.

Pour compiler le firmware dans un fichier hexadécimal et le flasher, nous aurons besoin de Keil, du kit de développement logiciel nRF51 (SDK) et du firmware BluChip. Allez-y et téléchargez-les à partir des liens dans la section "Le logiciel" sur la page Programmation du BluChip avec CMSIS-DAP et Keil de MakerChips.

Installez Keil, puis suivez les étapes 1 à 3 de la section "Création du fichier hexadécimal".

À ce stade, vous pouvez passer à l'étape 4, Reconstruire tous les fichiers cibles.

Si vous obtenez une erreur concernant "core_cm0.h", vous devrez ajouter son chemin au projet pour le compiler.

Nous aurions simplement besoin de rechercher le fichier et de localiser son répertoire, qui est "\components\toolchain\gcc".

Incorporons ce chemin à notre projet. Cliquez sur Options pour la cible, accédez à l'onglet C/C++, puis incluez le chemin, comme illustré à la figure 16.

Après avoir inclus les dépendances nécessaires, notre projet se compile et nous pouvons maintenant afficher la sortie compilée, un fichier hexadécimal personnalisé sur "nRF51_SDK_10.0.0_dc26b5e\examples\ble_peripheral\ble_app_ahc-master\bluchip\s110_with_dfu\arm4\_buildnrf51422_xxac_s110.hex".

Pour flasher le fichier hexadécimal sur le BluChip, suivez les étapes 1 à 8 de la section « Transfert du fichier hexadécimal ».

Maintenant que vous avez chargé le firmware sur le BluChip avec un nom d'appareil personnalisé, lancez l'application nRF Connect et recherchez votre appareil. Vous remarquerez qu'il porte désormais le nom de ce que vous avez défini dans DEVICE_NAME dans le firmware !

Dans l'étape suivante, nous commencerons à configurer le matériel, l'électronique et le logiciel de notre système de rideau domestique automatisé.

Étape 5: Construire les rideaux automatisés

Image
Image
Construire les rideaux automatisés
Construire les rideaux automatisés
Construire les rideaux automatisés
Construire les rideaux automatisés
Construire les rideaux automatisés
Construire les rideaux automatisés

Après avoir passé en revue le processus de compilation et de flashage de notre firmware, passons à la construction de nos propres rideaux bluetooth !

Un moteur pas à pas sera utilisé pour entraîner une courroie de distribution qui déplace les rideaux pour s'ouvrir et se fermer. Le moteur pas à pas est entraîné par un circuit intégré pilote Half-H qui sera contrôlé par le BluChip.

Pour l'alimentation, nous utiliserons un régulateur de tension 12V AC-DC qui alimente le moteur, ainsi qu'un régulateur de tension DC-DC LM317 pour réduire de 12V à 3,3V, ce qui alimentera le circuit intégré BluChip et Stepper Driver.

Vous pouvez obtenir votre propre module BluChip dans la toute nouvelle boutique de MakerChips à Tindie ou sur le site Web de MakerChips.

Procurons-nous les pièces répertoriées ci-dessous en plus du kit BluChip Explorer pour commencer à assembler les rideaux automatiques:

  • Adaptateur secteur 12V 1A $3.40
  • Cric baril 0,68 $
  • Régulateur de tension LM317T 0,80 $
  • Résistances (200 et 330 Ohm) 1,69 $
  • Pilote pas à pas L293D $1.63
  • Moteur pas à pas unipolaire 8,00 $ (ou 1,66 $ <= modifier ce plus petit unipolaire en un pas à pas bipolaire)
  • Courroie de distribution 6 mm $7.31
  • Engrenage 6 mm 0,54 $ (ou imprimable en 3D depuis Thingiverse)
  • Poulie 6 mm 1,17 $ (ou imprimable en 3D depuis Thingiverse)
  • Interrupteur de fin de course x2 (facultatif) 1,34 $
  • Boîte de clôture de projet (facultatif) 1,06 $
  • Fils de cavalier de planche à pain $2.09
  • Fils de connexion Dupont $2.80
  • Élastiques $1.13
  • Cravates torsadées $3.22
  • Fil 22 AWG (facultatif) 1,22 $
  • Attaches zippées (facultatif) 0,63 $
  • Tube rétractable (facultatif) 1,97 $

Outils (facultatif):

  • Pistolet à colle chaude $3.75
  • Fer à souder 6,79 $

Télécharger la nomenclature depuis GitHub (Amazon)

La figure 20 montre comment vous allez câbler le système, en fonction des fonctionnalités que vous choisissez d'ajouter. Si vous voulez un mouvement plus précis, vous ajouteriez des interrupteurs de fin de course au projet.

Les interrupteurs de fin de course sont des points d'extrémité des rideaux qui indiquent au BluChip quand il est ouvert ou fermé. Sans les interrupteurs de fin de course, vous auriez besoin de configurer le micrologiciel pour indiquer jusqu'où vos rideaux se déplacent dans la prochaine section « Configuration du micrologiciel ».

La figure 20 comprend également une photorésistance en option qui permet la détection de jour et de nuit, également configurable dans la section "Configuration du firmware".

Commencez l'assemblage du matériel en montant le moteur pas à pas, la poulie et la courroie de distribution en haut de vos rideaux. (Illustration 21)

Tendre temporairement la courroie de distribution avec un élastique. Plus tard, avant de terminer le projet, vous allez le lier ensemble pour le maintenir en permanence.

Pour attacher les rideaux à votre courroie de distribution, passez des attaches métalliques autour de la ceinture et du crochet de rideau.

Pour avoir une meilleure idée sur la façon d'accrocher les rideaux à la ceinture, suivez la figure 22. Vous allez attacher le rideau gauche à l'arrière de la courroie de distribution avec une attache métallique et le rideau droit à l'avant de la courroie de distribution avec une attache métallique.

Une fois que vous avez fixé la ceinture et attaché le rideau, retirez le moteur pas à pas afin que nous puissions commencer à assembler et à tester le circuit électronique qui le pilotera. à la figure 20.

Insérez les résistances de 200 et 330 ohms conformément à la Figure 20. Les résistances ajustent la sortie du LM317 afin qu'elle fournisse ~3,3V. (Illustration 24)

Insérez le fil de pontage puis une prise à barillet câblée comme illustré à la Figure 26.

Branchons notre adaptateur secteur à la prise murale et branchez l'adaptateur dans la prise cylindrique pour tester les tensions, comme illustré à la figure 27.

Une fois que les tensions correctes ont été vérifiées, retirez la prise d'alimentation et commencez à placer les fils de cavalier restants de la planche à pain conformément à la figure 20.

Ensuite, nous allons câbler notre moteur pas à pas bipolaire au circuit intégré L293d.

Tout d'abord, placez les cavaliers Dupont dans le connecteur du moteur pas à pas, comme illustré à la Figure 29.

Pour savoir quel fil va où, suivez le schéma de la figure 30.

Comme le montre le schéma, les fils d'une bobine vont aux broches 2 et 6 du L293D. Les fils de l'autre bobine vont aux broches 11 et 14.

Le moteur pas à pas bipolaire 28BYJ-48 modifié a quatre fils de couleur utilisables comme le montre la figure 31.

Nous filons bleu à Pin3, jaune à Pin6, orange à Pin11 et rose à Pin14 sur le L293d.

Le circuit de base est maintenant terminé !

Si vous souhaitez mettre en œuvre des interrupteurs de fin de course, câblez les fils NO & C à un fil 22AWG. À l'autre extrémité, attachez les cavaliers DuPont pour former des fils qui s'adaptent à la planche à pain. (Illustration 32)

Vous pouvez les monter sur la tringle à rideau comme illustré à la figure 33 avec des élastiques, ou si vous avez un pistolet à colle chaude à portée de main, vous pouvez l'attacher à la tringle, puis tamponner une bonne quantité de colle chaude pour vous assurer qu'il ne bouge pas. environ.

Pour avoir une idée de l'endroit où les placer, reportez-vous à la Figure 34.

Un interrupteur de fin de course est fixé à l'extrémité gauche du rail de rideau, entre le premier crochet de rail et le second, de sorte que lorsque les rideaux s'ouvrent, le crochet appuie contre l'interrupteur et l'active. L'autre fin de course est placé directement au centre du rail, face à gauche. De cette façon, il s'active lorsque les rideaux se ferment.

Insérez les fils de l'interrupteur de fin de course sur la planche à pain conformément à la Figure 20.

Enfin, si vous souhaitez que vos rideaux s'ouvrent lorsque le soleil se lève et se ferment lorsqu'il se couche, vous devez câbler la photorésistance comme indiqué sur la figure 36 et la placer près de l'endroit où elle a accès à la lumière du soleil à l'aube.

Une fois que vous avez terminé la configuration du circuit de la maquette, préparez-vous et connectez votre programmeur au BluChip pour flasher le micrologiciel. Téléchargez le firmware depuis GitHub et extrayez-le dans votre répertoire SDK comme vous le faisiez auparavant.

Téléchargez ble_app_ahc.zip depuis Github.

Ouvrez le projet, puis compilez et téléchargez le firmware sur le BluChip.

Avant de le tester, nous allons mettre la maquette dans une boîte et faire des trous pour les fils et notre LED d'état du rideau.

Placez la planche à pain sur la base de la boîte du boîtier et faites une ouverture pour les fils. L'ouverture sert également de point pour que le BluChip communique avec d'autres appareils via son antenne. (Illustration 37)

Percez un trou de la taille de la LED sur le côté du boîtier et montez la LED dessus. Câblez la LED conformément à la Figure 20.

Trouvez un endroit approprié pour monter le boîtier du boîtier à gauche de la tringle à rideau, à proximité d'une prise de courant. Remontez le moteur et effectuez un dernier test de tension de la courroie de distribution, en vous assurant qu'il n'y a pas de jeu. (Illustration 39)

Il est maintenant temps de tester notre système assemblé. Insérez l'adaptateur secteur et lancez votre application nRF Connect. Vous découvrirez un appareil nommé Curtains. BluChip.

Connectez-vous, envoyez une valeur de UINT8 1 (rideaux ouverts) à la caractéristique inconnue sous le service inconnu et regardez les rideaux s'ouvrir !

Maintenant que vous avez testé avec succès votre système, examinons la configuration d'une partie du code qui exécute le spectacle sur le BluChip.

Étape 6: Configuration du micrologiciel BluChip

Configuration du micrologiciel BluChip
Configuration du micrologiciel BluChip
Configuration du micrologiciel BluChip
Configuration du micrologiciel BluChip
Configuration du micrologiciel BluChip
Configuration du micrologiciel BluChip

Le projet de firmware Automated Home Curtain se compose principalement de 4 fichiers: main.c, ahc.c, ble_ahc_service.c & ble_ahc_service.h.

Lors de la construction de l'électronique et du matériel, nous avions la possibilité de choisir si nous voulions des interrupteurs de fin de course pour augmenter la précision de notre système automatisé.

Dans le code de ahc.h, nous pouvons voir #define pour LIMIT_SWITCHES.

La compilation et le clignotement du code avec #define LIMIT_SWITCHES permettent d'utiliser les deux interrupteurs de fin de course pour détecter quand les rideaux se sont ouverts et fermés.

Le renommer en #undef LIMIT_SWITCHES est nécessaire si vous avez choisi de ne pas inclure de fins de course pour votre projet. Dans ce cas, vous devrez affiner la distance parcourue par votre rideau dans les variables CURTAIN_OPEN_STEPS et CURTAIN_CLOSE_STEPS. Ajustez ces valeurs pour allonger ou raccourcir la distance de déplacement du rideau.

L'autre option, l'ajout d'une photorésistance, peut être activée en modifiant #undef LDR en #define LDR. LDR signifie résistance dépendante de la lumière, également appelée photorésistance. Lorsque nous activons la LDR, la photorésistance sait quand il fait clair ou sombre à l'extérieur et vous aide à fermer ou à ouvrir vos rideaux au début ou à la fin de la journée.

Outre la configuration des interrupteurs de fin de course et de la photorésistance, examinons quelques-uns des autres principaux blocs de code qui vous permettent d'ouvrir et de fermer automatiquement les rideaux.

Les fichiers ble_ahc_service.c & ble_ahc_service.h contiennent du code qui transmet les données de votre téléphone au BluChip.

Lorsque le BluChip reçoit les données, il les analyse selon si un 0 ou un 1 est envoyé. Il active alors la LED d'état, effectue le mouvement du moteur, puis désactive la LED de signalisation de fin.

La fonction ahc_init() de ahc.h est exécutée au début de la boucle principale, initialisant toutes les broches du BluChip.

Étape 7: Résumé

Pour conclure, c'était un projet extrêmement amusant et assez facile pour apprendre les bases de BLE. Le fait que le module de dérivation de BluChip s'adapte parfaitement à une planche à pain facilite le prototypage rapide sur n'importe quelle planche à pain que vous pourriez avoir.

Je dirais qu'après avoir construit mes rideaux automatisés, j'ai déjà pensé à diverses autres choses pour connecter le BluChip, y compris des néopixels intelligents, un OLED pour créer une montre numérique, un robot contrôlé par smartphone et de nombreux autres projets électroniques de faible puissance. des idées qui nécessiteraient une communication sans fil compacte !

Quiconque s'intéresse vivement à l'électronique et à la programmation serait agréablement surpris de ce que le BluChip a à offrir, ainsi que de la commodité de la configuration et de la mise en œuvre du BLE pour transformer des projets en projets encore plus cool.

À partir de maintenant, je vais recommencer à profiter de mes rideaux de maison automatisés pratiques.

Conseillé: