Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Construire un système d'entrée domotique inspiré des Sith

Composants et fournitures

Composant Quantité
Particle Photon 2
Arduino UNO 1
Shield Adafruit Music Maker MP3 1
Capteur de mouvement PIR Adafruit 1
LED (générique) 2
Résistance 220 Ω 2
Fils de connexion (jumper wires) 1
Haut-parleur 3W, 4 Ω 1
Plaque d'essai (breadboard) 2
Chargeur mural USB Micro B 1
Câble USB-A vers B 1
Connecteur mâle 36 positions 1 rangée (pas 0,1") 1

Outils et machines nécessaires

Applications et services en ligne

À propos de ce projet

Ma fille est une grande fan de Star Wars (même si elle n'a vu aucun film). Pas surprenant qu'elle ait été emballée quand je lui ai proposé un projet sur ce thème. Je ne compte plus le nombre de fois où elle m'a fait jouer la Marche Impériale (thème de Dark Vador) en costume pour faire une entrée fracassante dans la pièce. Nous avons donc vite choisi ce projet : détecter automatiquement quelqu'un qui rentre à la maison et déclencher la Marche Impériale juste avant qu'il n'entre.

C'est un projet assez simple, bien adapté aux débutants. C'était ma première utilisation du modèle publication/souscription vers/depuis le cloud, et ma première intégration de différents types de microcontrôleurs dans un seul projet. J'adore la simplicité du Photon pour créer une solution connectée au cloud. Et on ne peut pas battre la variété de matériel additionnel disponible pour Arduino. Pouvoir les combiner si facilement a permis de réaliser ce projet rapidement.

Étape 1 : Assembler le capteur

Temps : 10 minutes

Pièces : Photon, résistance 220 Ω, LED, capteur PIR, breadboard, fils mâle/mâle, câble USB Micro B

Outils : Aucun

D'abord, connectez la LED au Photon. Insérez le Photon dans la breadboard. Connectez la résistance entre une broche GND du Photon et une rangée libre. Connectez la patte longue de la LED à une broche numérique (j'ai utilisé D0) et la patte courte à la rangée de la résistance. La LED est optionnelle mais indique l'état du capteur (le PIR n'a pas d'indicateur visuel, ni le Photon quand il publie l'événement).

Ensuite, connectez le capteur PIR au Photon. Fixez le PIR sur la breadboard (j'utilise des connecteurs femelles à angle droit pour le maintenir verticalement). Sinon, utilisez du ruban double face ou de la pâte adhésive et des fils femelle/mâle. Connectez : GND du PIR → GND Photon, 5V du PIR → Vin Photon, Signal du PIR → broche numérique (j'ai utilisé D7).

Construire un système d entrée domotique inspiré des Sith
Construire un système d entrée domotique inspiré des Sith
Construire un système d entrée domotique inspiré des Sith
Construire un système d entrée domotique inspiré des Sith

Vérifiez la datasheet de votre capteur pour identifier correctement les broches 5V, GND et Signal (l'ordre varie selon les fabricants). Même si mon PIR fonctionne en 5V, sa broche signal sort du 3,3V, compatible avec le Photon. Vérifiez bien la tension de sortie signal sur votre datasheet.

Alimentez via l'USB Micro B du Photon (PC ou prise murale). Ouvrez l'IDE Particle, collez le code du capteur ci-dessous, et flashez-le.

Maintenant, passez la main devant le capteur : la LED doit s'allumer. Vérifiez aussi les logs sur le Tableau de bord Particle pour voir l'événement publié.

Construire un système d entrée domotique inspiré des Sith

Étape 2 : Assembler le déclencheur

Temps : 10 minutes

Pièces : Photon, résistance 220 Ω, LED, breadboard, fils mâle/femelle

Outils : Aucun

Connectez la LED et la résistance au Photon comme à l'étape précédente. La LED est optionnelle mais utile pour indiquer la réception d'un événement du cloud Particle. Connectez les fils mâles sur Vin, GND et une broche numérique (D7) du Photon. La broche numérique ira sur un GPIO du Music Maker pour déclencher la musique. Vin et GND alimenteront le Photon depuis l'Arduino.

Construire un système d entrée domotique inspiré des Sith
Construire un système d entrée domotique inspiré des Sith

Avant de connecter à l'Arduino, alimentez via USB Micro B, ouvrez l'IDE Particle, collez le code du déclencheur ci-dessous, et flashez-le (sélectionnez le bon dispositif car vous en avez maintenant deux connectés).

Étape 3 : Assembler l'Arduino et le shield Music Maker

Temps : 20 minutes

Pièces : Arduino Uno, shield Adafruit Music Maker, Photon, résistance 220 Ω, LED, mini breadboard, fils de connexion, câble USB

Outils : Fer à souder

Le shield Music Maker est livré avec des connecteurs à souder. En plus des connecteurs pour le shield, j'ai ajouté des connecteurs mâles sur le dessus pour les connexions GPIO et alimentation depuis le Photon. (J'aurais préféré des connecteurs femelles pour n'utiliser que des fils mâle/mâle, mais je n'avais que des mâles sous la main.)

Connectez le fil du Photon (broche numérique) sur un GPIO du shield (j'ai utilisé la broche 7). Connectez Vin du Photon sur 5V du shield et GND sur GND du shield.

Construire un système d entrée domotique inspiré des Sith

Connectez votre haut-parleur sur les borniers du shield (un pour droite, un pour gauche). J'ai utilisé un seul petit haut-parleur récupéré sur un jouet cassé de ma fille.

Construire un système d entrée domotique inspiré des Sith

Connectez l'Arduino à votre machine, collez le sketch Arduino ci-dessous dans l'IDE Arduino, et téléversez-le.

C'est tout ! Passez devant le capteur et attendez que la musique commence.

À propos du code

Comme mentionné, c'était ma première utilisation du modèle publication/souscription. C'était très simple avec le Photon. Dans le code du capteur, quand la broche signal du PIR passe HIGH, j'allume la LED et je publie un événement sur le cloud Particle. La publication ne nécessite qu'une ligne :

published = Particle.publish("motion-detected", NULL, 60, PRIVATE);

Au début, je n'avais pas mis la publication en privé. Mais en m'abonnant, je recevais beaucoup de fausses alertes (d'autres utilisateurs publient des événements "motion"). J'ai donc limité la souscription à mes propres appareils avec le paramètre MY_DEVICES :

Particle.subscribe("motion", soundAlarm, MY_DEVICES);

Et pour que la souscription se limite à mes appareils, la publication doit être privée.

Le code du déclencheur appelle simplement le gestionnaire d'événement soundAlarm quand l'événement motion survient. Ce gestionnaire allume la LED et met la broche GPIO du Music Maker à HIGH. Le sketch Arduino détecte ce HIGH et attend 60 secondes (le temps de garer la voiture, rassembler ses affaires et entrer) avant de lire le fichier MP3 sur la carte SD.

Étape 4 : Déployer le projet

J'ai installé le capteur dans le garage sur les étagères à côté de ma place de parking. Le déclencheur, l'Arduino avec le shield Music Maker et le haut-parleur sont sur le plan de travail de la cuisine (ma fille est généralement à table quand je rentre). Les deux endroits ont des prises murales à proximité pour l'alimentation.

Construire un système d entrée domotique inspiré des Sith
Construire un système d entrée domotique inspiré des Sith

Code

Code du capteur (C/C++)

Exemple de code pour le Photon qui publie un événement sur le cloud Particle à chaque détection de mouvement.

int led = D0;
int pir = D6;
bool published;

void setup() {
  pinMode(led, OUTPUT);
  pinMode(pir, INPUT);
  digitalWrite(led, LOW);
}

void loop() {
  if (digitalRead(pir) == HIGH) {
    digitalWrite(led, HIGH);
    published = Particle.publish("motion-detected", NULL, 60, PRIVATE);
    if (!published) {
      for (int i = 0; i < 10; i++) {
        digitalWrite(led, LOW);
        delay(500);
        digitalWrite(led, HIGH);
        delay(500);
      }
    }
  } else {
    digitalWrite(led, LOW);
  }
  delay(2000);
}

Code du déclencheur (C/C++)

Exemple de code pour le Photon qui s'abonne aux événements motion de mes appareils et déclenche le shield Music Maker.

int led = D0;
int trigger = D7;

void soundAlarm(const char *event, const char *data) {
  digitalWrite(led, HIGH);
  digitalWrite(trigger, HIGH);
  delay(2000);
  digitalWrite(trigger, LOW);
  digitalWrite(led, LOW);
}

void setup() {
  Particle.subscribe("motion", soundAlarm, MY_DEVICES);
  pinMode(led, OUTPUT);
  pinMode(trigger, OUTPUT);
}

void loop() {}

Code Arduino et shield Music Maker (Arduino)

Exemple de code pour l'Arduino qui lit le MP3 via le shield Music Maker sur déclenchement du Photon connecté sur un GPIO du shield.

/************************************************************
 * Lit un MP3 depuis la carte SD avec le shield Adafruit Music Maker
 * déclenché par un Photon connecté sur un GPIO du shield.
 * Merci à Adafruit pour le tutoriel et la bibliothèque.
 * https://learn.adafruit.com/adafruit-music-maker-shield-vs1053-mp3-wav-wave-ogg-vorbis-player/pinouts
 ************************************************************/
#include <SPI.h>
#include <Adafruit_VS1053.h>
#include <SD.h>

#define SHIELD_RESET -1
#define SHIELD_CS 7
#define SHIELD_DCS 6
#define CARDCS 4
#define DREQ 3

Adafruit_VS1053_FilePlayer musicPlayer = Adafruit_VS1053_FilePlayer(SHIELD_RESET, SHIELD_CS, SHIELD_DCS, DREQ, CARDCS);

int photonPin = 7;

void setup() {
  musicPlayer.begin();
  SD.begin(CARDCS);
  musicPlayer.setVolume(1, 1);
  musicPlayer.GPIO_pinMode(photonPin, INPUT);
}

void loop() {
  if (musicPlayer.GPIO_digitalRead(photonPin) == HIGH) {
    delay(60000);
    musicPlayer.playFullFile("track001.mp3");
  }
  delay(500);
}

Schémas

Fichiers Fritzing : sensor.fzz, trigger.fzz

Processus de fabrication

  1. Les composants clés d'une machine CNC expliqués
  2. Éléments essentiels d'une communication de crise efficace
  3. Avenir de la manufacture : Tendances, talents et innovation
  4. Annoy-O-Bug : Construire un petit jouet buzzer LED compact avec ATtiny85
  5. Nanotechnologie : La prochaine frontière de la sécurité IoT
  6. Composants clés d'un système d'air comprimé fiable
  7. Comment la modernisation de grue transforme les composants clés pour une performance optimale
  8. Le technicien de demain : compétences, outils et rôles dans une usine numérique
  9. Pièces essentielles des machines à scie à ruban à double colonne