সুচিপত্র:

আরডুইনো ডোরবেল: 5 টি ধাপ
আরডুইনো ডোরবেল: 5 টি ধাপ

ভিডিও: আরডুইনো ডোরবেল: 5 টি ধাপ

ভিডিও: আরডুইনো ডোরবেল: 5 টি ধাপ
ভিডিও: Automatic Door Bell Using Arduino #shorts | TECHNOLOGy MEDIAZZ 2024, জুলাই
Anonim
আরডুইনো ডোরবেল
আরডুইনো ডোরবেল

সরবরাহ

-২ টি রুটি বোর্ড

-বাজার

-জাম্পার তার

-2 arduino/জেনুইনো পাওয়ার ক্যাবল সহ

-আরএফ ট্রান্সমিটার এবং রিসিভার

-বোতাম চাপা

-100 ওহম প্রতিরোধক

ধাপ 1: ফাংশন

এই প্রকল্পটি একটি কার্যকরী ডোরবেল যা প্রধান ফাংশন কোড ব্যবহার করে আরডুইনোকে এমনভাবে প্রোগ্রাম করে যেখানে ট্রান্সমিটার সহ পুশ বোতামটি বুজার এবং রিসিভারের সাথে প্রাপক প্রান্তে একটি সংকেত পাঠায় যা একটি বেতার সংযোগের সাথে ডোরবেল বাজ শব্দ শুরু করবে ।

ধাপ 2: ধাপ 1: ট্রান্সমিটার বোর্ড

ধাপ 1: ট্রান্সমিটার বোর্ড
ধাপ 1: ট্রান্সমিটার বোর্ড

এই প্রকল্পটি কীভাবে কাজ করবে বলে মনে করা হচ্ছে তাদের কাছে 2 টি রুটি বোর্ড এবং 2 টি আরডিওনো/জেনুইনো রয়েছে। ট্রান্সমিটার বোর্ডের জন্য আমরা পুশ বোতামটি মাটির সাথে সংযুক্ত 100 ওম প্রতিরোধক এবং রুটিবোর্ডে বিদ্যুতের সাথে সংযুক্ত একটি তারের সাথে সংযুক্ত করি। তারপরে ট্রান্সমিটারটিকে ব্রেডবোর্ডের সাথে সংযুক্ত করুন এবং ছবিতে দেখানো হিসাবে ট্রান্সমিটার এবং আরডুইনো উভয়ে বোতামটি সংযুক্ত করুন।

ধাপ 3: ধাপ 2: রিসিভার বোর্ড

ধাপ 2: রিসিভার বোর্ড
ধাপ 2: রিসিভার বোর্ড

রিসিভার বোর্ডে যেখানে বুজার যায়। রিসিভারের মাধ্যমে একটি তারের মাটিতে সংযুক্ত করুন এবং আপনার পছন্দের একটি পিনের সাথে একটি তার সংযুক্ত করুন যা আপনি পরে আপনার কোডে কাস্টমাইজ করতে পারেন। রিসিভারকে রুটিবোর্ডের সাথে সংযুক্ত করুন এবং ছবিতে দেখানো হিসাবে এটিকে আরডুইনোতে সংযুক্ত করুন।

ধাপ 4: ধাপ 3: ট্রান্সমিটার কোড

// ask_transmitter.pde

// -* -মোড: C ++ -* -

// কিভাবে বার্তা প্রেরণের জন্য রেডিওহেড ব্যবহার করা যায় তার সহজ উদাহরণ

// একটি খুব সহজ উপায়ে একটি সাধারণ ASK ট্রান্সমিটার সহ।

// একটি TX-C1 মডিউল সহ একটি সিমপ্লেক্স (ওয়ান-ওয়ে) ট্রান্সমিটার প্রয়োগ করে

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত // আসলে ব্যবহার করা হয়নি কিন্তু সংকলনের জন্য প্রয়োজন

RH_ASK ড্রাইভার;

// RH_ASK ড্রাইভার (2000, 2, 4, 5); // ESP8266 বা ESP32: 11 পিন ব্যবহার করবেন না

অকার্যকর সেটআপ()

{

Serial.begin (9600); // শুধুমাত্র ডিবাগিং

পিনমোড (5, ইনপুট);

যদি (! driver.init ())

Serial.println ("init ব্যর্থ");

}

অকার্যকর লুপ ()

}

যদি (ডিজিটাল রিড (5) == উচ্চ) {

const char *msg = "a";

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

driver.waitPacketSent ();

বিলম্ব (200);

}

}

ধাপ 5: ধাপ 4: রিসিভার কোড

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত // প্রকৃতপক্ষে ব্যবহৃত হয় না কিন্তু কম্পাইল করার জন্য প্রয়োজন

#অন্তর্ভুক্ত করুন "pitches.h" // বাদ্যযন্ত্র নোটের জন্য সমতুল্য ফ্রিকোয়েন্সি যোগ করুন

#অন্তর্ভুক্ত "theme.h" // নোট ভেল এবং সময়কাল যোগ করুন

RH_ASK ড্রাইভার;

অকার্যকর সেটআপ()

{

Serial.begin (9600); // শুধুমাত্র ডিবাগিং

যদি (! driver.init ())

Serial.println ("init ব্যর্থ");

অন্য

Serial.println ("সম্পন্ন");

RH_ASK ড্রাইভার;

অকার্যকর সেটআপ()

{

Serial.begin (9600); // শুধুমাত্র ডিবাগিং

যদি (! 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, পাইরেটস_নোট [এই নোট], নোট মেয়াদ);

int pauseBetweenNotes = noteDuration * 1.05; // এখানে 1.05 হল টেম্পো, এটি ধীর গতির জন্য বাড়ান

বিলম্ব (pauseBetweenNotes);

noTone (8); // পিন 8 এ সঙ্গীত বন্ধ করুন

}

}

অকার্যকর লুপ ()

{

uint8_t buf [1];

uint8_t buflen = sizeof (buf);

যদি (driver.recv (buf, & buflen)) // নন-ব্লকিং

{

Serial.println ("নির্বাচিত -> 'তিনি একজন জলদস্যু'");

Play_Pirates ();

Serial.println ("স্টপ");

}

}

প্রস্তাবিত: