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

$20 Zigbee Door Chime

Komponen dan persediaan

Arduino Nano R3
× 1
Bohlam LED Terhubung Cree
Zigbee LED Dimmable Smart Bulb dari Cree
× 1

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

Pengaturan Saya

Saya memiliki jaringan mesh zigbee/z-wave yang cukup luas untuk sistem Home Automation yang terhubung ke Internet (melalui SmartThings) yang melakukan segalanya mulai dari mengontrol lampu dan memantau penggunaan listrik hingga memperingatkan cuaca ekstrem dan mengingatkan saya untuk memberi makan anjing.

Seluruh antarmuka pengguna melalui aplikasi smartphone, dan peringatan dapat didorong melalui aplikasi atau dikirim melalui SMS. Salah satu kasus penggunaan yang saya rasa telah lolos adalah lonceng ramah untuk memperingatkan penghuni tentang perubahan keadaan di dalam rumah (pintu/jendela/pintu/pintu gerbang dibuka, memutuskan cuaca masuk, atau suhu di kamar bayi terlalu tinggi).


Masalahnya

Ada beberapa opsi yang sudah ada untuk menyalakan sirene super keras ketika sensor gerak atau sensor jendela/pintu tersandung, tetapi saya tidak dapat menemukan lonceng pintu sederhana. Ini adalah fitur dasar dari hampir setiap sistem keamanan rumah di luar sana, jadi saya benar-benar terkejut menemukan itu tidak ada. Saya melihat ke dalam meretas sensor bel pintu jarak jauh, tetapi bagian yang sulit/mahal mendapatkannya di jaringan mesh z-wave/zigbee saya. SmartThings memiliki API untuk speaker SONOS [mahal], dan saya telah melihat orang-orang menghubungkan beberapa integrasi dari SmartThings ke IFTTT ke Twitter ke arduino yang terhubung wifi [terlalu rumit dan lambat].

Secara keseluruhan, salah satu dari solusi ini akan bernilai lebih dari $40 dan saya ingin memiliki fungsi yang sama dengan kinerja yang lebih baik dengan harga di bawah $20.


Masukkan Bohlam LED Terhubung Cree

Home Depot menjual Cree Connected Bulb seharga $15 dan sejauh ini merupakan bohlam pintar favorit saya. Tidak ada hal lain di bawah $50 yang mendekati output cahaya, suhu warna, jangkauan yang dapat diredupkan, umur panjang, atau jangkauan nirkabel.

Saya sudah menukar semua bohlam pintar lama saya untuk ini dan memiliki beberapa yang tersisa, jadi sekarang saya ingin melihat apa lagi yang bisa saya lakukan dengan perangkat keras yang murah dan andal ini. Yang lain telah merobohkan bohlam dan menemukan bahwa semua komponen zigbee berada di satu papan breakout dan menggunakan daya 3.3v...indra arduino saya kesemutan.

Ternyata papan zigbee sebenarnya memiliki Atmel SAMR21 yang merupakan chip ARM Cortex 32bit dengan memori flash 256KB (pdf). Atmel menjual papan dev SAMR21 seharga $ 42, jadi mendapatkan ini seharga $ 15 adalah mencuri.

Kurang dari $20 perangkat keras

Bukti Konsep menggunakan SmartThings  

Berikut adalah PoC cepat yang menggunakan monitor perubahan status pada arduino untuk memicu nada "berpadu" pada buzzer piezo. Peredupan bohlam dan pin keluaran hidup/mati masih berfungsi, dan menggunakan mesin aplikasi SmartThings saya dapat membangun logika apa pun yang saya inginkan.

Bahkan tanpa arduino, Anda dapat memiliki pin digital yang terhubung langsung ke relai untuk menyalakan/mematikan apa saja. Ini dapat menggerakkan lampu strip LED, membuka/menutup pintu garasi, menyalakan motor/pompa, dll.

Bukti Konsep menggunakan SmartThings

Karena salah satu pin mengeluarkan PWM, saya dapat mengikatnya ke salah satu pin I/O analog pada arduino yang dipetakan untuk membaca nilai antara 1-100%. Di SmartThings, ini dipecah menjadi interval 10%, jadi antara itu dan hidup/mati saya memiliki 11 output berbeda yang dapat saya kirim melalui papan zigbee. Ini akan memungkinkannya untuk memicu peringatan yang berbeda berdasarkan pintu/jendela mana yang terbuka.

Ini dapat berkembang lebih dari sekadar peringatan atau lonceng. Proyek lain yang sedang saya kerjakan pada blaster IR yang dikendalikan arduino untuk unit AC jendela saya, dan sekarang saya dapat berintegrasi langsung dengan SmartThings menggunakan metode di atas, itu akan menyadari sensor keberadaan/penghuni dan keadaan rumah saya.

Juga, karena ini semua 3.3v, ini adalah kasus penggunaan yang sempurna untuk baterai Li-Ion ATtiny85 dan 3.7v untuk paket super kecil dan portabel. Saya juga menyimpan catu daya dari bohlam karena turun dari 120v AC ke 3.3v DC dan tidak diragukan lagi akan berguna untuk proyek masa depan.

Saya yakin komunitas ini dapat menemukan kegunaan lain, jadi beri komentar tentang bagaimana Anda akan menggunakan ini atau bahkan membuat rendisi Anda sendiri dan memposting proyek!

Kode

  • Sketsa DoorChime
  • pitches.h
Sketsa DoorChimeC/C++
Arduino Sketch for DoorChime
#include #include "pitches.h"/*Sketsa cepat sebagai PoC untuk kelayakan menggunakan papan zigbee Cree Connected LED untuk menggerakkan perangkat lain (speaker dalam kasus ini). Dimodifikasi oleh Buddy Crotty - Maret 2015versi 0.1.2Sepenuhnya disalin dari sketsa contoh Tom Igoe:Deteksi perubahan status (deteksi tepi) nadaMelodyKode contoh ini ada di domain publik. http://arduino.cc/en/Tutorial/ButtonStateChange http://arduino.cc/en/Tutorial/ToneZigbee papan dari Cree Terhubung LED pin 1 pin ground 2 3.3Vin pin 3 PWM Out pin 4 Digital Out sirkuit:* 8 -ohm speaker pada pin digital 8 * Pin 2 terhubung ke papan zigbee pin 4 */// konstanta ini tidak akan berubah:const int buttonPin =2; // pin yang ditempelkan tombol tekan keconst int speakerPin =8; // pin tempat speaker terpasang// Variabel akan berubah:int buttonPushCounter =0; // penghitung jumlah tombol yang ditekanint buttonState =0; // status terkini dari buttonint lastButtonState =0; // status tombol sebelumnya// not dalam melodi (7nationArmy):int melodi[] ={ NOTE_GS2, NOTE_GS2, NOTE_B2, NOTE_GS2, NOTE_FS2, NOTE_E2, NOTE_DS2};// durasi not:4 =not seperempat, 8 =not kedelapan, dll.:int noteDurations[] ={ 4, 8, 8, 8, 8, 3.5, 3};void setup() { // menginisialisasi pin tombol sebagai input:pinMode(buttonPin, INPUT); // menginisialisasi LED sebagai output:pinMode(speakerPin, OUTPUT);}void loop() { // membaca pin input pushbutton:buttonState =digitalRead(buttonPin); // bandingkan keadaan tombol dengan keadaan sebelumnya if (buttonState !=lastButtonState) { // jika keadaan telah berubah, naikkan penghitung if (buttonState ==HIGH) { // jika keadaan saat ini TINGGI maka tombol // pergi dari mati ke hidup:buttonPushCounter++; //mainkan nada // ulangi nada melodi:for (int thisNote =0; thisNote <8; thisNote++) { // untuk menghitung durasi nada, ambil satu detik // dibagi dengan jenis nada. //misalnya. not seperempat =1000 / 4, not kedelapan =1000/8, dst. int noteDuration =10000 / noteDurations[thisNote]; nada(Pin speaker, melodi[Catatan ini], durasi nada); // untuk membedakan not, atur waktu minimum di antara not tersebut. // durasi catatan + 30% tampaknya berfungsi dengan baik:int pauseBetweenNotes =noteDuration * .32; delay(jedaAntaraCatatan); // hentikan pemutaran nada:noTone(speakerPin); } } else { // jika status saat ini LOW maka tombol // beralih dari on ke off:Serial.println("off"); } // Delay sedikit untuk menghindari bouncing delay(50); } // simpan status saat ini sebagai status terakhir, //untuk waktu berikutnya melalui loop lastButtonState =buttonState; // menyalakan Chime setiap dua perubahan keadaan (hanya ketika pintu terbuka) // fungsi modulo memberi Anda sisa // pembagian dua angka:if (buttonPushCounter % 2 ==0) { digitalWrite(speakerPin, HIGH ); } else { digitalWrite(speakerPin, RENDAH); }}
pitches.hC/C++
pitches library sehingga Anda tidak perlu mencarinya sendiri
/********************************* **************** * Konstanta Publik ******************************* ******************/#define NOTE_B0 31#define NOTE_C1 33#define NOTE_CS1 35#define NOTE_D1 37#define NOTE_DS1 39#define NOTE_E1 41#define NOTE_F1 44#define NOTE_FS1 46#define NOTE_G1 49#define NOTE_GS1 52#define NOTE_A1 55#define NOTE_AS1 58#define NOTE_B1 62#define NOTE_C2 65#define NOTE_CS2 69#define NOTE_D2 73#define NOTE_DS2 78#define#note_E2 932 definisikan NOTE_G2 98#define NOTE_GS2 104#define NOTE_A2 110#define NOTE_AS2 117#define NOTE_B2 123#define NOTE_C3 131#define NOTE_CS3 139#define NOTE_D3 147#define NOTE_DS3 156#define NOTE_Fine3 _F3 196#define NOTE_GS3 208#define NOTE_A3 220#define NOTE_AS3 233#define NOTE_B3 247#define NOTE_C4 262#define NOTE_CS4 277#define NOTE_D4 294#define NOTE_DS4 311#define NOTE_E4 330#define fine NOTE_FS4 370#define NOTE_G4 392#define NOTE_GS4 415#define NOTE_A4 440#define NOTE_AS4 466#define NOTE_B4 494#define NOTE_C5 523#define NOTE_CS5 554#define NOTE_D5 587#define#note_DS5 6_22Edefine_DS5 740#define NOTE_G5 784#define NOTE_GS5 831#define NOTE_A5 880#define NOTE_AS5 932#define NOTE_B5 988#define NOTE_C6 1047#define NOTE_CS6 1109#define NOTE_D6 1175#define NOTE_DS6 12456#define definisikan NOTE_G6 1568#definisikan NOTE_GS6 1661#define NOTE_A6 1760#define NOTE_AS6 1865#define NOTE_B6 1976#define NOTE_C7 2093#define NOTE_CS7 2217#define NOTE_D7 2349#define NOTE_DS7 2489#define NOTE_Fine7_F607_define#7 2637_Fdefine 3136#define NOTE_GS7 3322#define NOTE_A7 3520#define NOTE_AS7 3729#define NOTE_B7 3951#define NOTE_C8 4186#define NOTE_CS8 4435#define NOTE_D8 4699#define NOTE_DS8 4978

Skema

Diagram Rangkaian Fritzing DoorChime dengan kode sketsa DoorChime.fzz

Proses manufaktur

  1. Bank Vault
  2. Pintu Putar
  3. Lonceng Angin
  4. Lampu
  5. Proyektor Laser Interaktif Menggunakan Sensor Zigbee
  6. Windows IoT:Pintu Pengenalan Wajah
  7. Terhubung
  8. Apa itu Baut Kait?
  9. Apa itu Jamb Switch?
  10. Cara memperbaiki pegangan pintu mobil Anda