সুচিপত্র:

ফটোরিসিস্টর ব্যবহার করে ওয়্যারলেস আরডুইনো লাইট-ম্যাচিং এলইডি ল্যাম্প: 4 টি ধাপ
ফটোরিসিস্টর ব্যবহার করে ওয়্যারলেস আরডুইনো লাইট-ম্যাচিং এলইডি ল্যাম্প: 4 টি ধাপ

ভিডিও: ফটোরিসিস্টর ব্যবহার করে ওয়্যারলেস আরডুইনো লাইট-ম্যাচিং এলইডি ল্যাম্প: 4 টি ধাপ

ভিডিও: ফটোরিসিস্টর ব্যবহার করে ওয়্যারলেস আরডুইনো লাইট-ম্যাচিং এলইডি ল্যাম্প: 4 টি ধাপ
ভিডিও: Component basic part 3 (photoresistor) || কম্পোনেন্ট বেসিক পর্ব ৩ (ফটোরেজিস্টর) 2024, নভেম্বর
Anonim
ফটোরিসিস্টর ব্যবহার করে ওয়্যারলেস আরডুইনো লাইট-ম্যাচিং এলইডি ল্যাম্প
ফটোরিসিস্টর ব্যবহার করে ওয়্যারলেস আরডুইনো লাইট-ম্যাচিং এলইডি ল্যাম্প
ফটোরিসিস্টার ব্যবহার করে ওয়্যারলেস আরডুইনো লাইট-ম্যাচিং এলইডি ল্যাম্প
ফটোরিসিস্টার ব্যবহার করে ওয়্যারলেস আরডুইনো লাইট-ম্যাচিং এলইডি ল্যাম্প
ফটোরিসিস্টর ব্যবহার করে ওয়্যারলেস আরডুইনো লাইট-ম্যাচিং এলইডি ল্যাম্প
ফটোরিসিস্টর ব্যবহার করে ওয়্যারলেস আরডুইনো লাইট-ম্যাচিং এলইডি ল্যাম্প

এই নির্দেশযোগ্য Arduino Unos এবং একটি photoresistor ব্যবহার করে একটি প্রাথমিক ওয়্যারলেস আলো-সংবেদনশীল LED বাতি নির্মাণের জন্য প্রয়োজনীয় পদক্ষেপগুলি বর্ণনা করে। এই ডিভাইসের জন্য একটি সম্ভাব্য আবেদন হবে এমন একটি কক্ষকে আলোকিত করা যার কৃত্রিম সূর্যালোকের সাথে জানালা নেই, যা বাস্তব সময়ের বাইরে প্রকৃত আলোর অবস্থার সাথে মেলে। চল শুরু করি!

সরবরাহ তালিকা:

Arduino Uno x2

NRF24L01 ওয়্যারলেস ট্রান্সসিভার x2 (--চ্ছিক - NRF24L01 ব্যাকপ্যাক x2)

TIP120 ডার্লিংটন ট্রানজিস্টর

ফটোরিসিস্টর

5 মিমি LEDs x3

বোতাম চাপা

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

10k ওহম প্রতিরোধক x3

বিভিন্ন জাম্পার তার

ধাপ 1: NRF24L01 মডিউল এবং সার্কিট তারের

NRF24L01 মডিউল এবং সার্কিট তারের
NRF24L01 মডিউল এবং সার্কিট তারের
NRF24L01 মডিউল এবং সার্কিট তারের
NRF24L01 মডিউল এবং সার্কিট তারের
NRF24L01 মডিউল এবং সার্কিট তারের
NRF24L01 মডিউল এবং সার্কিট তারের

এই প্রকল্পে, একজন আরডুইনো একটি ট্রান্সমিটার হিসেবে কাজ করবে, ফটোরেসিস্টর থেকে আলোর স্তরের তথ্য পাঠাবে যখন পুশবাটন চাপবে। অন্য Arduino একটি রিসিভার হিসাবে কাজ করবে, সেই তথ্য গ্রহণ করে এবং এটি LEDs তে সংকেতে রূপান্তরিত করবে। প্রথম ছবিটি ট্রান্সমিটার ডায়াগ্রাম দেখায়, এবং দ্বিতীয়টি রিসিভার দেখায়।

দ্রষ্টব্য: আমার প্রকল্পের ফটোগুলিতে, আপনি লক্ষ্য করবেন NRF24L01 ট্রান্সসিভারগুলি অন্য PCB- এর সাথে সংযুক্ত। এটি ট্রান্সসিভারগুলির জন্য একটি ব্যাকপ্যাক মডিউল, যা একটি শক্তি নিয়ন্ত্রক হিসাবে কাজ করে। ওয়্যারিং সহজ করার পাশাপাশি, এই ব্যাকপ্যাকগুলি NRF24L01 এর জন্য পাওয়ার ইনপুট নিয়ন্ত্রণ করে, যা 5V পাওয়ার সাপ্লাই ব্যবহারের অনুমতি দেয়। স্বচ্ছতার জন্য আমি আমার ডায়াগ্রামে এই ব্যাকপ্যাকগুলি বাদ দিয়েছি।

(যদি আপনি ব্যাকপ্যাকগুলি ব্যবহার করার সিদ্ধান্ত নেন, তাহলে স্টক NRF24L01 এর রেফারেন্সে পিন লোকেশনের চিত্রের জন্য এই লিঙ্কটি পড়ুন)

সহজে জুম/বিস্তারিত দেখার জন্য সার্কিটের একটি পিডিএফ কপি সংযুক্ত করা হল।

ধাপ 2: ট্রান্সমিটার কোডিং

শেষ ধাপ হল কোডিং। NRF24L01 মডিউলগুলির ব্যবহারের জন্য আপনাকে রেডিওহেড লাইব্রেরি বা সমতুল্য লাইব্রেরি ইনস্টল করতে হবে।

এই প্রকল্পের জন্য, ট্রান্সমিটার এবং রিসিভার Arduinos প্রতিটিতে বিভিন্ন কোড ব্যবহার করে। এখানে ট্রান্সমিটারের জন্য কোড:

আমি সুবিধার জন্য.ino ফাইল (NRF_Send) সংযুক্ত করেছি।

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

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

RH_NRF24 nrf24; // nrf24 হিসাবে একটি ট্রান্সসিভার আরম্ভ করা

int বাটন = 5; // বোতাম এবং ফটোরিসিস্টারের জন্য পিন মান নির্ধারণ করা

int pResistor = A0; int মান = 0; // 0-1023 থেকে আলোর মান

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

{Serial.begin (9600); পিনমোড (বোতাম, ইনপুট); পিনমোড (pResistor, INPUT); যদি (! nrf24.init) // init এর পরে ডিফল্ট হল 2.402 GHz (চ্যানেল 2), 2Mbps, 0dBm যদি (! Nrf24.setChannel (1)) Serial.println ("setChannel ব্যর্থ"); যদি (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ব্যর্থ"); }

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

{যদি (ডিজিটাল রিড (বোতাম)) {// বোতামটি চাপলে একটি বার্তা পাঠান মান = analogRead (pResistor); // photoresistor এর মান পড়ুন (0-1023) uint8_t data = {value}; // হালকা মান nrf24.send (data, sizeof (data)) ধারণকারী "data " নামে একটি অ্যারে সেট করে; // রিসিভারে অ্যারে পাঠান nrf24.waitPacketSent (); // প্যাকেট না পাঠানো পর্যন্ত অপেক্ষা করুন Serial.println ("হালকা মান:" +স্ট্রিং (মান)); // সিরিয়াল মনিটরে আলোর মান মুদ্রণ করুন}}

ধাপ 3: রিসিভার কোডিং

রিসিভারের জন্য, কোডটি রেডিওহেড লাইব্রেরি ব্যবহার করে।

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

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

RH_NRF24 nrf24;

int LEDPin = 3;

int মান = 0; // 0-1023 থেকে আলোর মান

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

{Serial.begin (9600); পিনমোড (LEDPin, আউটপুট); যদি (! nrf24.init ()) Serial.println ("init ব্যর্থ"); // init এর পরে ডিফল্ট হল 2.402 GHz (চ্যানেল 2), 2Mbps, 0dBm যদি (! Nrf24.setChannel (1)) Serial.println ("setChannel ব্যর্থ"); যদি (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ব্যর্থ"); }

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

{// একটি বার্তার জন্য অপেক্ষা করুন uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // প্রাপ্ত বার্তাটি "buf " নামে একটি অ্যারে হিসাবে সংরক্ষণ করুন uint8_t len = sizeof (buf); // buf এর সাইজ "len" হিসাবে সংরক্ষণ করুন যখন]; // buf এর প্রথম সূচকে মান নির্ধারণ করে, যা ফটোরিসিস্টর এনালগ রাইট (LEDPin, মানচিত্র (মান, 0, 1023, 0, 255)) থেকে int; // LED উজ্জ্বলতা Serial.println (স্ট্রিং (মান)) এর জন্য 0-255 এর মধ্যে একটি স্কেল মান আউটপুট করার জন্য PWM পিন সেট করে; } analogWrite (LEDPin, 0); }

ধাপ 4: সম্পন্ন

বিভিন্ন আলোর স্তরের সাথে চারপাশে খেলা উপভোগ করুন এবং এলইডিগুলি তাদের সাথে মেলে তা দেখুন! ফটোরিসিস্টার কখনও কখনও ফিকি হতে পারে, এবং একটি স্থানীয় আলো উৎসের সাথে একটি অন্ধকার রুমে সবচেয়ে ভাল কাজ করে (কিন্তু সূর্যের সাথে বাইরেও কাজ করতে পারে)।

প্রস্তাবিত: