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

Entrez dans la maison comme un seigneur Sith

Composants et fournitures

Photon de particule
× 2
Arduino UNO
× 1
Adafruit Music Maker MP3 Shield
× 1
Capteur de mouvement PIR Adafruit
× 1
LED (générique)
× 2
Résistance 220 ohm
× 2
cavaliers
× 1
Haut-parleur :3 W, 4 ohms
× 1
Planche à pain (générique)
× 2
Chargeur mural USB Micro B
× 1
Câble USB-A vers B
× 1
Male-Header 36 Position 1 Row - Long (0,1")
× 1

Outils et machines nécessaires

Fer à souder (générique)

Applications et services en ligne

Nuage de particules

À propos de ce projet

Ma fille est une grande fan de Star Wars (même si elle n'a encore vu aucun des films). Sans surprise, elle était partout quand je lui ai demandé si elle voulait construire un projet sur le thème de Star Wars. Je ne sais pas combien de fois elle m'a fait jouer la Marche Impériale (la chanson thème de Dark Vador) alors qu'elle porte son costume de Dark Vador pour qu'elle puisse faire une entrée remarquée dans la pièce. Nous nous sommes donc rapidement arrêtés sur cette idée de projet :détecter automatiquement quelqu'un qui rentre à la maison, puis déclencher le jeu de la Marche impériale juste avant que la personne n'entre dans la maison.

Il s'agit d'un projet assez simple, il est donc bien adapté pour les débutants. Je l'ai trouvé intéressant car c'est la première fois que j'utilise le modèle de publication/abonnement vers/depuis le cloud. C'était aussi la première fois que j'intégrais différents types de microcontrôleurs dans un même projet. J'aime la simplicité et la facilité d'utilisation de Photon lorsqu'il s'agit de créer une solution connectée au cloud. Et vous ne pouvez pas battre la variété et l'ampleur du matériel supplémentaire disponible pour l'Arduino. Pouvoir les assembler si facilement a permis à ce projet de se concrétiser rapidement.


Étape 1 :Assembler le capteur

Durée :10 minutes

Pièces :Photon, résistance 220 Ohm, LED, capteur de mouvement PIR, maquette, fils de raccordement mâle/mâle, câble USB micro B

Outils : N/A

Tout d'abord, connectez la LED au photon. Montez votre photon dans la maquette. Ensuite, connectez la résistance entre la broche de masse d'un photon et une rangée ouverte sur la planche à pain. Enfin, connectez la branche longue de la LED à un PIN numérique sur le photon (j'ai utilisé la broche D0) et la branche courte de la LED à la rangée ouverte à laquelle la résistance est connectée. Franchement, la LED est facultative mais je l'utilise pour indiquer l'état du capteur car le capteur PIR lui-même ne fournit aucune indication du moment où un mouvement est détecté et le Photon ne fournit aucune indication lorsqu'il publie l'événement dans le cloud.

Ensuite, connectez le capteur PIR au photon. Montez le capteur PIR sur la planche à pain - J'utilise des broches femelles à angle droit pour connecter le capteur PIR à la planche à pain car cela me permet de "fixer" le capteur PIR à la planche à pain verticalement. (Si vous n'avez pas de broches d'en-tête à angle droit, utilisez du ruban adhésif double face ou du collant pour monter votre capteur PIR sur la table ou tout ce sur quoi vous le montez et utilisez des câbles de raccordement femelle/mâle directement à partir du mâle du capteur PIR broches à la planche à pain.) Utilisez des cavaliers pour connecter le GND du PIR à la broche GND d'un photon, la broche 5V du PIR à la broche Vin du photon et la broche de signal du PIR à une broche numérique sur le photon (j'ai utilisé la broche D7).

Vérifiez la fiche technique de votre capteur pour vous assurer d'identifier correctement les broches 5V, GND et de signal du capteur, car leur ordre varie selon le fabricant. Même si mon capteur PIR fonctionne à 5 volts, sa broche de signal fonctionne à seulement 3,3 V, c'est pourquoi elle peut être connectée directement à une broche numérique sur le photon. Encore une fois, vérifiez la fiche technique de votre capteur pour vous assurer que la tension du signal est de 3,3 V.

Mettez l'ensemble sous tension via le connecteur USB Micro B du Photon vers un PC ou une prise murale. Ouvrez l'IDE de particules et collez le code du capteur fourni ci-dessous. Flashez ensuite le code sur le Photon.

Maintenant, si vous passez votre main devant le capteur, la LED devrait s'allumer. Vous pouvez également consulter vos journaux sur le tableau de bord des particules pour voir que l'événement a été publié.

Étape 2 :Assembler le déclencheur

Durée :10 minutes

Pièces : Photon, résistance 220 Ohm, LED, maquette, câbles de raccordement mâle/femelle

Outils :NA

Connectez la LED et la résistance au photon comme vous l'avez fait à l'étape précédente. Encore une fois, la LED est facultative mais je trouve utile d'indiquer quand un événement est reçu du nuage de particules. Ensuite, connectez l'extrémité mâle des câbles de raccordement à Vin, GND et à une broche numérique de Photon (j'ai utilisé la broche D7). La broche numérique du Photon se connectera à l'une des broches GPIO du Music Maker pour déclencher la musique. Les connexions Vin et GND du Photon seront utilisées pour alimenter le Photon à partir de l'Arduino.

Mais d'abord, avant de vous connecter à l'Arduino, alimentez l'assemblage via le connecteur USB Micro B du Photon à un PC ou à une prise murale. Ouvrez l'IDE de particules et collez le code de déclenchement fourni ci-dessous. Ensuite, flashez le code sur le photon - assurez-vous d'avoir sélectionné le bon appareil pour flasher le code maintenant que vous avez deux appareils connectés à Particle IDE.



Étape 3 :Assemblez le shield Arduino et Music Maker

Durée :20 minutes

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

Outillage :fer à souder

Les broches d'en-tête sont incluses avec le bouclier Music Maker, mais vous devez les souder. En plus des broches d'en-tête pour connecter le blindage à l'Arduino, j'ai ajouté des broches d'en-tête mâles au-dessus du blindage pour les connexions GPIO et d'alimentation du Photon. (Si j'avais eu des broches d'en-tête femelles, je les aurais utilisées pour n'avoir besoin que de câbles de connexion mâle/mâle. Mais, je n'avais que des broches d'en-tête mâles sous la main (en plus des câbles de connexion mâle/femelle) itinéraire à la place.)

Connectez le cavalier de la broche numérique du photon à une broche GPIO sur le blindage (j'ai utilisé la broche 7 sur le blindage). Connectez le cavalier du Photon's Vin à la broche 5v du blindage et le cavalier GND à la broche GND du blindage.

Enfin, connectez votre (vos) haut-parleur(s) au(x) bornier(s) sur le blindage - il y a un bornier pour un haut-parleur droit et un pour un haut-parleur gauche. Je viens de connecter un haut-parleur - j'ai récupéré un petit haut-parleur d'un des jouets cassés de ma fille avant de le jeter.

Connectez l'Arduino à votre machine de développement, collez le croquis Arduino ci-dessous dans l'IDE Arduino et téléchargez-le.

C'est ça. Allez marcher devant le capteur et asseyez-vous et attendez que la musique commence.

À propos du code

Comme je l'ai mentionné plus tôt, c'était la première fois que j'utilisais le modèle de publication/abonnement. C'était assez facile à faire avec le Photon. Dans le code du capteur, lorsque la broche de signal du capteur PIR devient HAUTE, j'allume la LED et publie un événement sur le nuage de particules. La publication d'un événement ne nécessite qu'une seule ligne :

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

Au départ, je n'ai pas rendu la publication privée - je m'en fichais car il n'y a pas d'informations personnellement identifiables. Mais, quand je suis allé m'abonner à l'événement, j'ai reçu beaucoup de fausses alarmes - apparemment, beaucoup d'autres utilisateurs publient des événements orientés "mouvement". J'ai donc basculé l'appel d'abonnement pour ne m'abonner qu'aux événements de mes appareils en ajoutant le paramètre "MY_DEVICES" :

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

Et pour que la fonction d'abonnement ne se limite qu'à mes appareils, j'ai dû rendre la publication privée.

Le code de déclenchement appelle simplement le gestionnaire d'événements - soundAlarm - lorsque l'événement de mouvement se produit. Tout ce que fait le gestionnaire d'événements, c'est d'allumer la LED et de mettre la broche GPIO sur le bouclier Music Maker en HAUT. L'esquisse Arduino détecte que la broche GPIO est HAUTE, puis attend 60 secondes (que je gare ma voiture, rassemble mes affaires et entre dans la maison) avant de lire le fichier MP3 sur la carte SD.


Déployer le projet

J'ai installé le capteur dans le garage sur les étagères juste à côté de l'endroit où je gare ma voiture. J'ai placé la gâchette et l'Arduino avec le bouclier et le haut-parleur Music Maker sur le comptoir de la cuisine car ma fille est généralement à la table de la cuisine quand je rentre à la maison. Les deux emplacements ont des prises murales à proximité, ce qui a facilité l'alimentation des deux parties du projet.

Code

  • Code du capteur
  • Code de déclenchement
  • Code de protection Arduino et Music Maker
Code du capteurC/C++
Exemple de code pour le photon qui publie un événement dans le nuage de particules chaque fois qu'un mouvement est détecté.
// définir la LED sur la broche D0int led =D0 ; // définir l'entrée du capteur PIR sur la broche D6int pir =D6 ; // piste si oui ou non la publication a réussibool publié;void setup(){ // définit la broche LED comme sortie pinMode(led, OUTPUT); // définit la broche d'entrée du capteur PIR comme pinMode d'entrée (pir, INPUT); // assurez-vous que la LED est éteinte digitalWrite(led, LOW);}void loop(){ if (digitalRead(pir) ==HIGH) // si un mouvement est détecté { // allume la LED comme indicateur que j'ai été détecté digitalWrite (led, HAUT); publié =Particle.publish("mouvement détecté", NULL, 60, PRIVÉ); if (!published) // si la publication a échoué { // fait clignoter la LED 10 fois comme indicateur de l'échec de la publication pour (int i =0; i <10; i++) { digitalWrite(led, LOW); retard (500); digitalWrite (led, HAUT); retard (500); } } } else // si aucun mouvement n'est détecté, éteint la LED digitalWrite(led, LOW); // attendre 2 secondes avant de prendre un autre délai de lecture (2000);}
Code de déclenchementC/C++
Exemple de code pour le photon qui s'abonne aux événements de mouvement dans le nuage de particules publié par mon capteur, puis déclenche le bouclier Music Maker pour lire le MP3.
// définit la LED sur la broche D0int led =D0 ;// définit le déclencheur pour l'Arduino sur la broche D7int trigger =D7;void soundAlarm(const char *event, const char *data){ // lorsque l'événement de mouvement a été déclenché // allume la LED digitalWrite (led, HIGH); // activer le déclencheur digitalWrite(trigger, HIGH); // attend deux secondes de délai (2000); // désactiver le déclencheur digitalWrite(trigger, LOW); // éteint la LED digitalWrite(led, LOW);}void setup(){ // s'abonner aux événements de mouvement de mes appareils uniquement // définir soundAlarm comme gestionnaire d'événement Particle.subscribe("motion", soundAlarm, MY_DEVICES); // définit la broche LED comme sortie pinMode(led, OUTPUT); // définit la broche de déclenchement comme sortie pinMode(trigger, OUTPUT);}void loop(){}
Code de protection Arduino et Music MakerArduino
Exemple de code pour l'Arduino pour lire le MP3 via le bouclier Music Maker en fonction du déclencheur du photon connecté.
/****************************** ************************************* Ce sketch lit un MP3 à partir de la carte SD en utilisant Adafruitt Music Maker shield lorsqu'il est déclenché par un photon connecté à l'une des broches GPIO du shield. Merci à Adafruit pour le tutoriel et la bibliothèque bien écrits. https://learn.adafruit.com/adafruit-music-maker-shield-vs1053-mp3-wav-wave-ogg-vorbis-player/pinouts ***************** ******************************************** /// inclure SPI, Bibliothèques Music Maker et SD#include #include #include // Définit les broches utilisées pour le bouclier de music maker#define SHIELD_RESET -1 // Broche de réinitialisation VS1053 (inutilisée ! )#define SHIELD_CS 7 // broche de sélection de puce VS1053 (sortie)#define SHIELD_DCS 6 // broche de sélection de données/commande VS1053 (sortie)#define CARDCS 4 // broche de sélection de puce de carte // DREQ doit être une broche Int, voir http ://arduino.cc/en/Reference/attachInterrupt#define DREQ 3 // Demande de données VS1053, idéalement une broche d'interruption // définir le lecteur de musiqueAdafruit_VS1053_FilePlayer musicPlayer =Adafruit_VS1053_FilePlayer(SHIELD_RESET, SHIELD_CS, SHIELD_DCS, DREQ, CARDCS); // définit la broche GPIO sur laquelle le photon se connecteint photonPin =7;void setup(){ // initialise le lecteur de musique musicPlayer.begin(); // initialise la carte SD SD.begin(CARDCS); // Réglez le volume pour les canaux gauche et droit. nombres inférieurs ==volume plus fort ! musicPlayer.setVolume(1,1) ; // Si DREQ est sur une broche d'interruption (sur uno, #2 ou #3) // nous pouvons faire une lecture audio en arrière-plan mais il n'est pas // utilisé dans cette phase initiale du projet // initialise l'interruption DREQ // musicPlayer.useInterrupt(VS1053_FILEPLAYER_PIN_INT); // initialiser la broche GPIO à laquelle le photon est connecté en tant qu'entrée musicPlayer.GPIO_pinMode(photonPin, INPUT);}void loop(){ if (musicPlayer.GPIO_digitalRead(photonPin) ==HIGH) { // attendre 60 secondes avant de jouer de sorte que j'entre dans la maison // juste après le démarrage delay(60000); // Lire le fichier, ne pas revenir avant d'avoir terminé musicPlayer.playFullFile("track001.mp3"); } retard(500);}

Schémas

sensor.fzz trigger.fzz

Processus de fabrication

  1. Quels sont les composants utilisés dans une machine CNC
  2. Les éléments clés d'une bonne communication en temps de crise
  3. À quoi ressemblera l'avenir de la fabrication ?
  4. The Annoy-O-Bug :Un jeté lumineux qui chante
  5. La nanotechnologie est-elle prête à entrer dans la guerre de la sécurité IoT ?
  6. Quels sont les composants d'un système d'air comprimé ?
  7. Qu'arrive-t-il aux divers composants des grues lors des modernisations ?
  8. À quoi ressemblera le technicien du futur ?
  9. Les principaux composants des scies à ruban