विषयसूची:

Arduino डोरबेल: 5 कदम
Arduino डोरबेल: 5 कदम

वीडियो: Arduino डोरबेल: 5 कदम

वीडियो: Arduino डोरबेल: 5 कदम
वीडियो: Arduino Wireless Doorbell 2024, जुलाई
Anonim
अरुडिनो डोरबेल
अरुडिनो डोरबेल

आपूर्ति

-2 ब्रेड बोर्ड

-बजर

-जम्पर तार

-2 arduino/genuino पावर केबल के साथ

-आरएफ ट्रांसमीटर और रिसीवर

-दबाने वाला बटन

-100 ओम रोकनेवाला

चरण 1: समारोह

यह प्रोजेक्ट एक कामकाजी डोरबेल है जिसका मुख्य कार्य कोड का उपयोग करके आर्डिनो को इस तरह से प्रोग्राम करना है जहां ट्रांसमीटर के साथ पुश बटन बजर और रिसीवर के साथ रिसीविंग एंड को एक सिग्नल भेजता है जो वायरलेस कनेक्शन के साथ डोरबेल बज़ साउंड शुरू करेगा।.

चरण 2: चरण 1: ट्रांसमीटर बोर्ड

चरण 1: ट्रांसमीटर बोर्ड
चरण 1: ट्रांसमीटर बोर्ड

इस परियोजना को कैसे काम करना चाहिए, इसमें 2 ब्रेड बोर्ड और 2 arduiono/genuinos वायर्ड हैं। ट्रांसमीटर बोर्ड के लिए हम पुश बटन को जमीन से जुड़े 100 ओम अवरोधक और ब्रेडबोर्ड पर बिजली से जुड़े तार से जोड़ते हैं। फिर ट्रांसमीटर को ब्रेडबोर्ड से कनेक्ट करें और बटन को ट्रांसमीटर और आर्डिनो दोनों को तार दें जैसा कि चित्र में दिखाया गया है।

चरण 3: चरण 2: रिसीवर बोर्ड

चरण 2: रिसीवर बोर्ड
चरण 2: रिसीवर बोर्ड

रिसीवर बोर्ड पर वह जगह है जहाँ बजर जाता है। रिसीवर के माध्यम से एक तार को जमीन से कनेक्ट करें और एक तार को अपनी पसंद के पिन से कनेक्ट करें जिसे आप बाद में अपने कोड में अनुकूलित कर सकते हैं। रिसीवर को ब्रेडबोर्ड से कनेक्ट करें और चित्र में दिखाए अनुसार इसे आर्डिनो से तार दें।

चरण 4: चरण 3: ट्रांसमीटर कोड

// Ask_transmitter.pde

// -*- मोड: सी++ -*-

// संदेशों को प्रसारित करने के लिए रेडियोहेड का उपयोग करने का सरल उदाहरण

// एक साधारण एएसके ट्रांसमीटर के साथ बहुत ही सरल तरीके से।

// TX-C1 मॉड्यूल के साथ एक सिम्प्लेक्स (वन-वे) ट्रांसमीटर लागू करता है

#शामिल

#शामिल // वास्तव में उपयोग नहीं किया गया लेकिन संकलन करने की आवश्यकता है

RH_ASK चालक;

// RH_ASK ड्राइवर (2000, 2, 4, 5); // ESP8266 या ESP32: पिन 11 का उपयोग न करें

व्यर्थ व्यवस्था()

{

सीरियल.बेगिन (९६००); // डिबगिंग केवल

पिनमोड (5, इनपुट);

अगर (!driver.init ())

Serial.println ("init विफल");

}

शून्य लूप ()

}

अगर (डिजिटल रीड (5) == हाई) {

कास्ट चार * संदेश = "ए";

Driver.send((uint8_t *)msg, strlen(msg));

ड्राइवर.वेटपैकेटसेंट ();

देरी (200);

}

}

चरण 5: चरण 4: रिसीवर कोड

#शामिल

#include // वास्तव में उपयोग नहीं किया गया लेकिन संकलित करने के लिए आवश्यक है

#include "pitches.h" // संगीत नोट के लिए समतुल्य आवृत्ति जोड़ें

#include "themes.h" // नोट वेले और अवधि जोड़ें

RH_ASK चालक;

व्यर्थ व्यवस्था()

{

सीरियल.बेगिन (९६००); // डिबगिंग केवल

अगर (!driver.init ())

Serial.println ("init विफल");

अन्यथा

Serial.println ("किया गया");

RH_ASK चालक;

व्यर्थ व्यवस्था()

{

सीरियल.बेगिन (९६००); // डिबगिंग केवल

अगर (!driver.init ())

Serial.println ("init विफल");

अन्यथा

Serial.println ("किया गया");

}

शून्य Play_Pirates ()

{

के लिए (int thisNote = 0; thisNote <(sizeof(Pirates_note)/sizeof(int)); thisNote++) {

int NoteDuration = 1000 / Pirates_duration[thisNote];//अवधि को समय विलंब में बदलें

टोन (8, समुद्री डाकू_नोट [यह नोट], नोट अवधि);

इंट पॉज के बीच नोट्स = नोट अवधि * 1.05; // यहां 1.05 गति है, इसे धीमा करने के लिए वृद्धि करें

देरी (नोट्स के बीच रोकें);

नोटोन (8); // पिन 8 पर संगीत बंद करें

}

}

शून्य लूप ()

{

uint8_t buf[1];

uint8_t बुफ्लेन = आकार (buf);

अगर (driver.recv(buf, &buflen)) // नॉन-ब्लॉकिंग

{

Serial.println ("चयनित -> 'वह एक समुद्री डाकू है'");

प्ले_पाइरेट्स ();

Serial.println ("रोकें");

}

}

सिफारिश की: