Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Masuk rumah seperti Sith Lord

Komponen dan persediaan

Foton Partikel
× 2
Arduino UNO
× 1
Adafruit Music Maker MP3 Shield
× 1
Sensor Gerak PIR Adafruit
× 1
LED (generik)
× 2
Resistor 220 ohm
× 2
kabel jumper
× 1
Speaker:3W, 4 ohm
× 1
Breadboard (generik)
× 2
Pengisi Daya Dinding USB Micro B
× 1
Kabel USB-A ke B
× 1
Male-Header 36 Posisi 1 Baris- Panjang (0,1")
× 1

Alat dan mesin yang diperlukan

Besi solder (generik)

Aplikasi dan layanan online

Awan partikel

Tentang proyek ini

Putri saya adalah penggemar berat Star Wars (walaupun dia belum pernah menonton filmnya). Tidak mengherankan, dia setuju ketika saya bertanya apakah dia ingin membangun proyek bertema Star Wars. Saya tidak tahu berapa kali dia membuat saya memainkan Imperial March (lagu tema Darth Vader) ketika dia mengenakan kostum Darth Vader-nya sehingga dia bisa membuat pintu masuk yang megah ke dalam ruangan. Jadi, kami dengan cepat menyelesaikan ide proyek ini - secara otomatis mendeteksi seseorang yang pulang dan kemudian memicu permainan Imperial March tepat sebelum orang tersebut masuk ke dalam rumah.

Ini adalah proyek yang cukup sederhana sehingga sangat cocok untuk pemula. Saya merasa ini menarik karena ini pertama kalinya saya menggunakan pola publish/subscribe ke/dari cloud. Ini juga pertama kalinya saya mengintegrasikan berbagai jenis pengontrol mikro ke dalam satu proyek. Saya menyukai kesederhanaan dan kemudahan penggunaan Photon dalam hal menciptakan solusi yang terhubung ke cloud. Dan Anda tidak bisa mengalahkan variasi dan besarnya perangkat keras tambahan yang tersedia untuk Arduino. Mampu menyatukannya dengan sangat mudah memungkinkan proyek ini untuk diselesaikan dengan cepat.


Langkah 1:Pasang sensor

Waktu:10 menit

Bagian:Foton, resistor 220 Ohm, LED, sensor gerak PIR, papan tempat memotong roti, kabel jumper pria / pria, kabel USB mikro B

Alat:T/A

Pertama, hubungkan LED ke Foton. Pasang Foton Anda ke papan tempat memotong roti. Kemudian hubungkan resistor antara pin ground Foton dan baris terbuka di papan tempat memotong roti. Terakhir, sambungkan kaki panjang LED ke PIN digital pada Foton (saya menggunakan pin D0) dan kaki pendek LED ke baris terbuka tempat resistor terhubung. Sejujurnya, LED adalah opsional, tetapi saya menggunakannya untuk menunjukkan status sensor karena sensor PIR itu sendiri tidak memberikan indikasi kapan gerakan terdeteksi, begitu pula Foton tidak memberikan indikasi apa pun saat memublikasikan peristiwa ke cloud.

Selanjutnya, hubungkan sensor PIR ke Foton. Pasang sensor PIR ke papan tempat memotong roti - Saya menggunakan pin header perempuan bersudut kanan untuk menghubungkan sensor PIR ke papan tempat memotong roti karena ini memungkinkan saya untuk "mengamankan" sensor PIR ke papan tempat memotong roti secara vertikal. (Jika Anda tidak memiliki pin header sudut kanan, gunakan selotip dua sisi atau perekat untuk memasang sensor PIR Anda ke meja atau apa pun yang Anda pasang dan gunakan kabel jumper wanita / pria langsung dari sensor PIR pria pin ke papan tempat memotong roti.) Gunakan kabel jumper untuk menghubungkan GND PIR ke pin GND Foton, pin 5V PIR ke pin Vin Foton, dan pin sinyal PIR ke pin digital di Foton (saya menggunakan pin D7).

Periksa kembali lembar data untuk sensor Anda untuk memastikan Anda mengidentifikasi 5V, GND, dan pin sinyal sensor dengan benar karena pesanannya bervariasi menurut produsen. Meskipun sensor PIR saya beroperasi pada 5 volt, pin sinyalnya hanya beroperasi pada 3.3V sehingga dapat dihubungkan langsung ke pin digital pada Foton. Sekali lagi, periksa kembali lembar data untuk sensor Anda untuk memastikan bahwa tegangan sinyal adalah 3.3V.

Nyalakan unit melalui konektor USB Micro B Foton ke PC atau stopkontak. Buka IDE Partikel dan rekatkan kode sensor yang disediakan di bawah ini. Kemudian flash kode ke Foton.

Sekarang, jika Anda melambaikan tangan di depan sensor, LED akan menyala. Selain itu, Anda dapat memeriksa log Anda di Particle Dashboard untuk melihat apakah acara tersebut telah dipublikasikan.

Langkah 2:Pasang pelatuk

Waktu:10 menit

Bagian: Foton, resistor 220 Ohm, LED, papan tempat memotong roti, kabel jumper pria / wanita

Alat:NA

Hubungkan LED dan resistor ke foton seperti yang Anda lakukan pada langkah sebelumnya. Sekali lagi, LED adalah opsional tetapi saya merasa berguna untuk menunjukkan kapan suatu peristiwa diterima dari awan Particle. Selanjutnya, sambungkan ujung jantan kabel jumper ke Vin Foton, GND, dan pin digital (saya menggunakan pin D7). Pin digital dari Foton akan terhubung ke salah satu pin GPIO Pembuat Musik untuk memicu musik. Koneksi Vin dan GND Foton akan digunakan untuk memberi daya pada Foton dari Arduino.

Tapi pertama-tama, sebelum menghubungkan ke Arduino, nyalakan unit melalui konektor USB Mikro B Foton ke PC atau stopkontak. Buka IDE Partikel dan rekatkan kode pemicu yang disediakan di bawah ini. Kemudian flash kode ke Foton - pastikan Anda telah memilih perangkat yang benar untuk mem-flash kode sekarang karena Anda memiliki dua perangkat yang terhubung ke Particle IDE.



Langkah 3:Pasang pelindung Arduino dan Pembuat Musik

Waktu:20 menit

Bagian:Arduino Uno, pelindung Adafruit Music Maker, Foton, resistor 220 Ohm, LED, papan tempat memotong roti mini, kabel jumper, kabel USB

Alat:besi solder

Pin header disertakan dengan pelindung Music Maker, namun Anda harus menyoldernya. Selain pin header untuk menghubungkan pelindung ke Arduino, saya menambahkan pin header jantan di atas pelindung untuk GPIO dan koneksi daya dari Foton. (Jika saya memiliki pin header wanita, saya akan menggunakannya sehingga saya hanya membutuhkan kabel jumper pria / pria. Tapi, saya hanya memiliki pin header pria di tangan (selain kabel jumper pria / wanita) jadi saya melakukannya sebagai gantinya.)

Hubungkan kabel jumper dari pin digital Photon ke pin GPIO pada shield (saya menggunakan pin 7 pada shield). Hubungkan jumper dari Vin Foton ke pin 5v pada pelindung dan jumper GND ke pin GND pelindung.

Terakhir, sambungkan speaker Anda ke blok terminal pada pelindung - ada satu blok terminal untuk speaker kanan dan satu lagi untuk speaker kiri. Saya baru saja menyambungkan satu speaker - Saya menyelamatkan speaker kecil dari salah satu mainan rusak putri saya sebelum kami membuangnya.

Hubungkan Arduino ke mesin pengembangan Anda, tempel sketsa Arduino di bawah ini ke dalam Arduino IDE, dan unggah.

Itu dia. Berjalanlah di depan sensor dan duduklah sambil menunggu musik dimulai.

Tentang Kode

Seperti yang saya sebutkan sebelumnya, ini adalah pertama kalinya saya menggunakan pola publish/subscribe. Itu cukup mudah dilakukan dengan Photon. Dalam kode sensor, ketika pin sinyal sensor PIR menjadi TINGGI, saya menyalakan LED dan memublikasikan peristiwa ke awan Partikel. Menerbitkan acara hanya membutuhkan satu baris:

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

Awalnya, saya tidak membuat publikasi itu pribadi - saya tidak peduli karena tidak ada informasi pengenal pribadi. Tapi, ketika saya pergi untuk berlangganan acara tersebut, saya mendapatkan banyak alarm palsu - ternyata, banyak pengguna lain yang menerbitkan acara berorientasi "gerakan". Jadi, saya mengalihkan panggilan berlangganan menjadi hanya berlangganan acara dari perangkat saya dengan menambahkan parameter "MY_DEVICES":

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

Dan agar fungsi berlangganan membatasi dirinya hanya untuk perangkat saya, saya harus membuat publikasi menjadi pribadi.

Kode pemicu hanya memanggil event handler - soundAlarm - ketika event gerakan terjadi. Yang dilakukan event handler hanyalah menyalakan LED dan memutar pin GPIO pada pelindung Music Maker HIGH. Sketsa Arduino mendeteksi pin GPIO menjadi TINGGI dan kemudian menunggu 60 detik (bagi saya untuk memarkir mobil saya, mengumpulkan barang-barang saya, dan masuk ke rumah) sebelum memutar file MP3 di kartu SD.


Terapkan Proyek

Saya memasang sensor di garasi di rak tepat di sebelah tempat saya memarkir mobil saya. Saya meletakkan pelatuk dan Arduino dengan pelindung Music Maker dan speaker di meja dapur karena putri saya biasanya berada di meja dapur ketika saya pulang. Kedua lokasi memiliki stopkontak di dekatnya yang memudahkan untuk menyalakan kedua bagian proyek.

Kode

  • Kode Sensor
  • Kode Pemicu
  • Kode pelindung Arduino dan Pembuat Musik
Kode SensorC/C++
Kode sampel untuk Foton yang menerbitkan peristiwa ke awan Partikel setiap kali gerakan terdeteksi.
// tentukan LED pada pin D0int led =D0;// tentukan input sensor PIR pada pin D6int pir =D6;// track apakah publikasi berhasil atau tidakbool diterbitkan;void setup(){ // setel pin LED sebagai output pinMode(led, OUTPUT); // atur pin input sensor PIR sebagai input pinMode(pir, INPUT); // pastikan LED mati digitalWrite(led, LOW);}void loop(){ if (digitalRead(pir) ==HIGH) // jika gerakan terdeteksi { // nyalakan LED sebagai indikator bahwa saya terdeteksi digitalWrite (dipimpin, TINGGI); diterbitkan =Particle.publish("terdeteksi gerakan", NULL, 60, PRIVATE); if (!published) // jika publikasi tidak berhasil { // flash LED 10 kali sebagai indikator kegagalan publikasi untuk (int i =0; i <10; i++) { digitalWrite(led, LOW); penundaan (500); digitalWrite (dipimpin, TINGGI); penundaan (500); } } } else // jika tidak ada gerakan yang terdeteksi, matikan LED digitalWrite(led, LOW); // tunggu 2 detik sebelum mengambil penundaan membaca lagi(2000);}
Kode PemicuC/C++
Contoh kode untuk Foton yang berlangganan peristiwa gerak di awan partikel yang diterbitkan oleh sensor saya dan kemudian memicu pelindung Music Maker untuk memutar MP3.
// tentukan LED pada pin D0int led =D0;// tentukan pemicunya untuk Arduino pada pin D7int trigger =D7;void soundAlarm(const char *event, const char *data){ // saat motion event telah terpicu // nyalakan LED digitalWrite(led, HIGH); // nyalakan trigger digitalWrite(trigger, HIGH); // tunggu tunda dua detik(2000); // matikan trigger digitalWrite(trigger, LOW); // matikan LED digitalWrite(led, LOW);}void setup(){ // berlangganan peristiwa gerak hanya dari perangkat saya // tentukan soundAlarm sebagai pengendali peristiwa Particle.subscribe("motion", soundAlarm, MY_DEVICES); // atur pin LED sebagai output pinMode(led, OUTPUT); // setel pin pemicu sebagai output pinMode(trigger, OUTPUT);}void loop(){}
Kode pelindung Arduino dan Pembuat MusikArduino
Contoh kode Arduino untuk memutar MP3 melalui pelindung Music Maker berdasarkan pemicu dari Foton yang terhubung.
/********************* ************************************* Sketsa ini memutar MP3 dari kartu SD menggunakan Adafruitt Music Perisai pembuat ketika dipicu oleh Foton yang terhubung ke salah satu pin GPIO perisai. Terima kasih kepada Adafruit untuk tutorial dan perpustakaan yang ditulis dengan baik. https://learn.adafruit.com/adafruit-music-maker-shield-vs1053-mp3-wav-wave-ogg-vorbis-player/pinouts ***************** ********************************************/// sertakan SPI, Music Maker dan perpustakaan SD#include #include #include // Tentukan pin yang digunakan untuk pelindung pembuat musik#define SHIELD_RESET -1 // VS1053 pin reset (tidak digunakan! )#define SHIELD_CS 7 // VS1053 chip pilih pin (output)#define SHIELD_DCS 6 // VS1053 Data/perintah pilih pin (output)#define CARDCS 4 // Kartu chip pilih pin// DREQ harus pin Int, lihat http ://arduino.cc/en/Reference/attachInterrupt#define DREQ 3 // VS1053 Permintaan data, idealnya pin Interupsi// tentukan pemutar musikAdafruit_VS1053_FilePlayer musicPlayer =Adafruit_VS1053_FilePlayer(SHIELD_RESET, SHIELD_CS, SHIELD_DCS, DREQ); // tentukan pin GPIO yang menghubungkan foton dengan photonPin =7;void setup(){ // inisialisasi pemutar musik musicPlayer.begin(); // inisialisasi kartu SD SD.begin(CARDCS); // Atur volume untuk saluran kiri, kanan. angka yang lebih rendah ==volume yang lebih keras! musicPlayer.setVolume(1,1); // Jika DREQ berada pada pin interupsi (pada uno, #2 atau #3) // kita dapat melakukan pemutaran audio latar belakang tetapi tidak // digunakan dalam fase awal proyek ini // menginisialisasi interupsi DREQ // musicPlayer.useInterrupt(VS1053_FILEPLAYER_PIN_INT); // menginisialisasi pin GPIO tempat foton terhubung sebagai input musicPlayer.GPIO_pinMode(photonPin, INPUT);}void loop(){ if (musicPlayer.GPIO_digitalRead(photonPin) ==HIGH) { // tunggu 60 detik sebelum memutar sehingga saya // berjalan ke dalam rumah tepat setelah itu mulai delay(60000); // Putar file, jangan kembali sampai musicPlayer.playFullFile("track001.mp3"); } delay(500);}

Skema

sensor.fzz trigger.fzz

Proses manufaktur

  1. Apa Komponen Yang Digunakan Dalam Mesin CNC
  2. Komponen Kunci Komunikasi yang Baik dalam Krisis
  3. Seperti Apa Masa Depan Manufaktur?
  4. The Annoy-O-Bug:Kicau Light-Up Throwie
  5. Apakah Nanoteknologi Siap Memasuki Perang Keamanan IoT?
  6. Apa Komponen Sistem Udara Terkompresi?
  7. Apa yang Terjadi pada Berbagai Komponen Derek Selama Modernisasi?
  8. Seperti apa teknisi masa depan?
  9. Komponen Utama Mesin Band Saw
  10. Panduan Utama untuk Merancang Suku Cadang Mesin