Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Betreten Sie das Haus wie ein Sith-Lord

Komponenten und Verbrauchsmaterialien

Particle Photon
× 2
Arduino UNO
× 1
Adafruit Music Maker MP3 Shield
× 1
Adafruit PIR-Bewegungssensor
× 1
LED (generisch)
× 2
Widerstand 220 Ohm
× 2
Überbrückungskabel
× 1
Lautsprecher:3 W, 4 Ohm
× 1
Breadboard (generisch)
× 2
USB Micro B Wandladegerät
× 1
USB-A-zu-B-Kabel
× 1
Male-Header 36 Position 1 Row- Long (0,1")
× 1

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)

Apps und Onlinedienste

Partikelwolke

Über dieses Projekt

Meine Tochter ist ein großer Star Wars-Fan (obwohl sie noch keinen der Filme gesehen hat). Es überrascht nicht, dass sie ganz fertig war, als ich fragte, ob sie ein Star Wars-Themenprojekt bauen wolle. Ich weiß nicht, wie oft sie mich dazu gebracht hat, den Imperial March (Darth Vaders Titelsong) zu spielen, wenn sie ihr Darth Vader-Kostüm trägt, damit sie einen großen Auftritt im Raum haben kann. Also haben wir uns schnell für diese Projektidee entschieden - automatisch jemanden erkennen, der nach Hause kommt, und dann das Abspielen des Imperial March auslösen, kurz bevor die Person das Haus betritt.

Dies ist ein ziemlich einfaches Projekt, daher ist es gut für Anfänger geeignet. Ich fand es interessant, weil ich zum ersten Mal das Muster zum Veröffentlichen/Abonnieren in/aus der Cloud verwende. Es war auch das erste Mal, dass ich verschiedene Arten von Mikrocontrollern in ein einziges Projekt integriert habe. Ich liebe die Einfachheit und Benutzerfreundlichkeit von Photon, wenn es darum geht, eine Cloud-verbundene Lösung zu erstellen. Und Sie können die Vielfalt und Größe der für das Arduino verfügbaren Add-On-Hardware nicht übertreffen. Die Möglichkeit, sie so einfach zusammenzustellen, ermöglichte es diesem Projekt, schnell zusammenzukommen.


Schritt 1:Sensor zusammenbauen

Zeit:10 Minuten

Teile:Photon, 220 Ohm Widerstand, LED, PIR Bewegungssensor, Steckbrett, Stecker / Stecker Überbrückungsdrähte, USB Micro B Kabel

Werkzeuge:N/A

Verbinden Sie zuerst die LED mit dem Photon. Montieren Sie Ihr Photon in das Steckbrett. Verbinden Sie dann den Widerstand zwischen dem Massestift eines Photons und einer offenen Reihe auf dem Steckbrett. Verbinden Sie schließlich das lange Bein der LED mit einem digitalen PIN am Photon (ich habe Pin D0) und das kurze Bein der LED mit der offenen Reihe, an die der Widerstand angeschlossen ist. Ehrlich gesagt ist die LED optional, aber ich verwende sie, um den Zustand des Sensors anzuzeigen, da der PIR-Sensor selbst weder anzeigt, wann eine Bewegung erkannt wird, noch das Photon einen Hinweis liefert, wenn es das Ereignis in der Cloud veröffentlicht.

Verbinden Sie als nächstes den PIR-Sensor mit dem Photon. Montieren Sie den PIR-Sensor am Steckbrett - ich verwende rechtwinklige Buchsenleisten, um den PIR-Sensor mit dem Steckbrett zu verbinden, da ich so den PIR-Sensor vertikal am Steckbrett "sichern" kann. (Wenn Sie keine rechtwinkligen Kopfstifte haben, verwenden Sie doppelseitiges Klebeband oder einen klebrigen Stift, um Ihren PIR-Sensor am Tisch oder an was auch immer Sie ihn montieren zu befestigen, und verwenden Sie weibliche / männliche Überbrückungsdrähte direkt vom Stecker des PIR-Sensors Pins an das Steckbrett.) Verwenden Sie Überbrückungsdrähte, um den GND des PIR mit dem GND-Pin eines Photons, den 5V-Pin des PIR mit dem Vin-Pin des Photons und den Signalpin des PIR mit einem digitalen Pin des Photons zu verbinden (ich habe Pin D7 verwendet).

Überprüfen Sie das Datenblatt Ihres Sensors, um sicherzustellen, dass Sie die 5V-, GND- und Signalstifte des Sensors richtig identifizieren, da ihre Reihenfolge je nach Hersteller variiert. Obwohl mein PIR-Sensor mit 5 Volt arbeitet, arbeitet sein Signalpin mit nur 3,3 V, weshalb er direkt an einen digitalen Pin des Photons angeschlossen werden kann. Überprüfen Sie erneut das Datenblatt Ihres Sensors, um sicherzustellen, dass die Spannung des Signals 3,3 V beträgt.

Schalten Sie die Baugruppe über den USB Micro B-Anschluss des Photon entweder mit einem PC oder einer Steckdose ein. Öffnen Sie die Partikel-IDE und fügen Sie den unten bereitgestellten Sensorcode ein. Flashen Sie dann den Code auf das Photon.

Wenn Sie nun mit der Hand vor dem Sensor wedeln, sollte die LED aufleuchten. Sie können auch Ihre Protokolle im Partikel-Dashboard überprüfen, um zu sehen, ob das Ereignis veröffentlicht wurde.

Schritt 2:Auslöser zusammenbauen

Zeit:10 Minuten

Teile: Photon, 220-Ohm-Widerstand, LED, Steckbrett, Steckbrücken / Steckbrücken

Werkzeuge:NA

Verbinden Sie die LED und den Widerstand wie im vorherigen Schritt mit dem Photon. Auch hier ist die LED optional, aber ich finde es nützlich, anzuzeigen, wenn ein Ereignis von der Partikelwolke empfangen wird. Als nächstes verbinden Sie das männliche Ende der Überbrückungsdrähte mit Photons Vin, GND und einem digitalen Pin (ich habe Pin D7 verwendet). Der digitale Pin vom Photon wird mit einem der GPIO-Pins des Music Maker verbunden, um die Musik auszulösen. Die Vin- und GND-Anschlüsse des Photons werden verwendet, um das Photon vom Arduino mit Strom zu versorgen.

Aber zuerst, bevor Sie das Arduino anschließen, schalten Sie die Baugruppe über den USB Micro B-Anschluss des Photon entweder an einen PC oder eine Steckdose an. Öffnen Sie die Partikel-IDE und fügen Sie den unten angegebenen Triggercode ein. Flashen Sie dann den Code auf das Photon - stellen Sie sicher, dass Sie das richtige Gerät zum Flashen des Codes ausgewählt haben, da Sie jetzt zwei Geräte mit der Particle IDE verbunden haben.



Schritt 3:Bauen Sie das Arduino- und Music Maker-Schild zusammen

Zeit:20 Minuten

Teile:Arduino Uno, Adafruit Music Maker Shield, Photon, 220 Ohm Widerstand, LED, Mini-Steckbrett, Überbrückungsdrähte, USB-Kabel

Werkzeuge:Lötkolben

Header-Pins sind im Music Maker-Shield enthalten, müssen jedoch gelötet werden. Zusätzlich zu den Header-Pins, um das Schild mit dem Arduino zu verbinden, habe ich männliche Header-Pins oben auf dem Schild für GPIO- und Stromanschlüsse vom Photon hinzugefügt. (Wenn ich weibliche Header-Pins hätte, hätte ich sie so verwendet, dass ich nur männliche / männliche Überbrückungsdrähte benötige. Aber ich hatte nur männliche Header-Pins zur Hand (zusätzlich zu männlichen / weiblichen Überbrückungsdrähten), also ging ich das Route stattdessen.)

Verbinden Sie das Überbrückungskabel vom digitalen Pin des Photons mit einem GPIO-Pin auf der Abschirmung (ich habe Pin 7 auf der Abschirmung verwendet). Verbinden Sie den Jumper von Photons Vin mit dem 5V-Pin auf der Abschirmung und den GND-Jumper mit dem GND-Pin der Abschirmung.

Schließen Sie Ihre Lautsprecher schließlich an die Klemmleiste(n) auf der Abschirmung an – es gibt eine Klemmleiste für einen rechten Lautsprecher und eine für einen linken Lautsprecher. Ich habe gerade einen Lautsprecher angeschlossen - ich habe einen kleinen Lautsprecher aus einem der kaputten Spielzeuge meiner Tochter gerettet, bevor wir ihn weggeworfen haben.

Verbinden Sie das Arduino mit Ihrem Entwicklungscomputer, fügen Sie die Arduino-Skizze unten in die Arduino-IDE ein und laden Sie sie hoch.

Das ist es. Gehen Sie vor den Sensor, lehnen Sie sich zurück und warten Sie, bis die Musik beginnt.

Über den Kodex

Wie ich bereits erwähnt habe, war dies das erste Mal, dass ich das Muster zum Veröffentlichen/Abonnieren verwendet habe. Mit dem Photon war das ganz einfach. Wenn im Sensorcode der Signalstift des PIR-Sensors auf HIGH geht, schalte ich die LED ein und veröffentliche ein Ereignis in der Partikelwolke. Das Veröffentlichen einer Veranstaltung erfordert nur eine Zeile:

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

Anfangs habe ich die Veröffentlichung nicht privat gemacht - das war mir egal, da es keine persönlich identifizierbaren Informationen gibt. Aber als ich das Event abonnieren wollte, bekam ich viele Fehlalarme - anscheinend veröffentlichen viele andere Benutzer "bewegungsorientierte" Events. Also habe ich den Abonnieren-Aufruf so geändert, dass nur Ereignisse von meinen Geräten abonniert werden, indem ich den Parameter "MY_DEVICES" hinzugefügt habe:

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

Und damit sich die Abonnieren-Funktion nur auf meine Geräte beschränkt, musste ich die Veröffentlichung privat machen.

Der Triggercode ruft einfach den Ereignishandler – soundAlarm – auf, wenn das Bewegungsereignis auftritt. Alles, was der Event-Handler tut, ist, die LED einzuschalten und den GPIO-Pin am Music Maker-Schild auf HIGH zu stellen. Die Arduino-Skizze erkennt, dass der GPIO-Pin HIGH ist, und wartet dann 60 Sekunden (bis ich mein Auto parke, meine Sachen sammle und das Haus betrete), bevor sie die MP3-Datei auf der SD-Karte abspielt.


Bereitstellen des Projekts

Ich stelle den Sensor in der Garage in den Regalen direkt neben dem Parkplatz auf. Ich habe den Auslöser und das Arduino mit Music Maker-Schild und Lautsprecher auf der Küchentheke platziert, da meine Tochter normalerweise am Küchentisch sitzt, wenn ich nach Hause komme. An beiden Standorten befinden sich Steckdosen in der Nähe, sodass beide Teile des Projekts problemlos mit Strom versorgt werden können.

Code

  • Sensorcode
  • Triggercode
  • Arduino- und Music Maker-Schildcode
SensorcodeC/C++
Beispielcode für das Photon, das ein Ereignis an die Partikelwolke veröffentlicht, wenn eine Bewegung erkannt wird.
 // Definiere die LED an Pin D0int led =D0; // Definiere den PIR-Sensoreingang an Pin D6int pir =D6; // track ob die Veröffentlichung erfolgreich war oder nichtbool veröffentlicht;void setup () {// den LED-Pin als Ausgang setzen pinMode (led, OUTPUT); // Setzen Sie den PIR-Sensor-Eingangspin als EingangspinMode (pir, INPUT); // sicherstellen, dass die LED aus ist digitalWrite (led, LOW);}void loop () { if (digitalRead (pir) ==HIGH) // wenn eine Bewegung erkannt wird { // schalte die LED als Indikator ein, dass ich erkannt wurde digitalWrite (led, HIGH); veröffentlicht =Particle.publish("Bewegung erkannt", NULL, 60, PRIVATE); if (!published) // wenn die Veröffentlichung nicht erfolgreich war { // die LED 10 Mal blinken als Indikator für den Veröffentlichungsfehler für (int i =0; i <10; i++) { digitalWrite (led, LOW); Verzögerung (500); digitalWrite (led, HIGH); Verzögerung (500); } } } else // Wenn keine Bewegung erkannt wird, schalten Sie die LED digitalWrite aus (led, LOW); // 2 Sekunden warten, bevor eine weitere Leseverzögerung durchgeführt wird (2000);}
TriggercodeC/C++
Beispielcode für das Photon, das Bewegungsereignisse in der von meinem Sensor veröffentlichten Partikelwolke abonniert und dann den Music Maker-Schild auslöst, um die MP3 abzuspielen.
// Definiere die LED an Pin D0int led =D0;// Definiere den Trigger für den Arduino an Pin D7int Trigger =D7;void soundAlarm (const char * event, const char * data) {// wenn das Bewegungsereignis ausgelöst wurde // schalten Sie die LED digitalWrite ein (led, HIGH); // Trigger einschalten DigitalWrite (Trigger, HIGH); // zwei Sekunden warten Verzögerung (2000); // Trigger ausschalten DigitalWrite (Trigger, LOW); // schalte die LED aus digitalWrite(led, LOW);}void setup(){ // nur Bewegungsereignisse von meinen Geräten abonnieren // SoundAlarm als Ereignishandler definieren Particle.subscribe("motion", soundAlarm, MY_DEVICES); // Setze den LED-Pin als AusgangspinMode (led, OUTPUT); // setze den Trigger-Pin als Ausgang pinMode(trigger, OUTPUT);}void loop(){}
Arduino- und Music Maker-SchildcodeArduino
Beispielcode für den Arduino zum Abspielen der MP3 über das Music Maker Shield basierend auf dem Trigger vom angeschlossenen Photon.
/************************ ************************************ Diese Skizze spielt eine MP3-Datei von der SD-Karte mit der Adafruitt-Musik ab Maker-Schild, wenn es von einem Photon ausgelöst wird, das mit einem der GPIO-Pins des Schilds verbunden ist. Danke an Adafruit für das gut geschriebene Tutorial und die Bibliothek. https://learn.adafruit.com/adafruit-music-maker-shield-vs1053-mp3-wav-wave-ogg-vorbis-player/pinouts ***************** ****************************************** /// enthalten SPI, Music Maker und SD-Bibliotheken#include #include #include // Definiere die Pins, die für das Music Maker Shield verwendet werden#define SHIELD_RESET -1 // VS1053 Reset Pin (unbenutzt! )#define SHIELD_CS 7 // VS1053 Chipauswahlpin (Ausgang)#define SHIELD_DCS 6 // VS1053 Daten-/Befehlsauswahlpin (Ausgang)#define CARDCS 4 // Kartenchipauswahlpin // DREQ sollte ein Int-Pin sein, siehe http ://arduino.cc/en/Reference/attachInterrupt#define DREQ 3 // VS1053 Datenanfrage, idealerweise ein Interrupt-Pin // Definiere den MusikplayerAdafruit_VS1053_FilePlayer musicPlayer =Adafruit_VS1053_FilePlayer(SHIELD_RESET, SHIELD_CS, SHIELD_DCS, DREQ, CARDCS); // Definiere den GPIO-Pin, an dem sich das Photon verbindet. photonPin =7;void setup () { // Initialisiere den Musikplayer musicPlayer.begin (); // SD-Karte initialisieren SD.begin (CARDCS); // Lautstärke für linken, rechten Kanal einstellen. niedrigere Zahlen ==lautere Lautstärke! musicPlayer.setVolume(1,1); // Wenn DREQ auf einem Interrupt-Pin ist (auf uno, #2 oder #3) // wir können Hintergrundaudio spielen, aber es wird nicht // in dieser Anfangsphase des Projekts verwendet // initialisiert den DREQ-Interrupt // musicPlayer.useInterrupt(VS1053_FILEPLAYER_PIN_INT); // initialisiere den GPIO-Pin, an den das Photon als Eingang angeschlossen ist musicPlayer.GPIO_pinMode(photonPin, INPUT);}void loop(){ if (musicPlayer.GPIO_digitalRead(photonPin) ==HIGH) {// warte 60 Sekunden vor dem Abspielen damit ich // ins Haus gehe, kurz nachdem es angefangen hat delay(60000); // Datei abspielen, nicht zurückkehren, bis musicPlayer.playFullFile("track001.mp3"); } Verzögerung(500);}

Schaltpläne

sensor.fzz trigger.fzz

Herstellungsprozess

  1. Welche Komponenten werden in einer CNC-Maschine verwendet
  2. Die Schlüsselkomponenten guter Kommunikation in Krisen
  3. Wie sieht die Zukunft der Fertigung aus?
  4. Der Annoy-O-Bug:Ein zwitschernder leuchtender Throwie
  5. Ist die Nanotechnologie bereit, in den IoT-Sicherheitskrieg einzutreten?
  6. Was sind die Komponenten eines Druckluftsystems?
  7. Was passiert mit den verschiedenen Krankomponenten bei Modernisierungen?
  8. Wie sieht der Techniker der Zukunft aus?
  9. Die Hauptkomponenten der Bandsägemaschinen
  10. Der ultimative Leitfaden zum Entwerfen von bearbeiteten Teilen