সুচিপত্র:

Arduino Nano Baised IR নিয়ন্ত্রিত RGB LED: 5 ধাপ
Arduino Nano Baised IR নিয়ন্ত্রিত RGB LED: 5 ধাপ

ভিডিও: Arduino Nano Baised IR নিয়ন্ত্রিত RGB LED: 5 ধাপ

ভিডিও: Arduino Nano Baised IR নিয়ন্ত্রিত RGB LED: 5 ধাপ
ভিডিও: ESP32 Tutorial 12 - WS2812 RGB Srip 4 Project with SunFounder's ESP32 IoT Learnig kit 2024, নভেম্বর
Anonim
Arduino Nano Baised IR নিয়ন্ত্রিত RGB LED
Arduino Nano Baised IR নিয়ন্ত্রিত RGB LED

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

সরবরাহ

1. RGB LED

2. আইআর রিসিভার

3. ইউএসবি কেবল

4. Arduino ন্যানো

5. আইআর রিমোট

6. কিছু তার

7. 50-100 ওহম প্রতিরোধক (47 ওহম প্রতিরোধক ব্যবহার করছি কিন্তু খুব বেশি পার্থক্য নেই)

ধাপ 1: আপনার দূরবর্তী নির্বাচন করুন

আপনার রিমোট নির্বাচন করুন
আপনার রিমোট নির্বাচন করুন

সুতরাং আপনি কোন রিমোটটি ব্যবহার করবেন তা আপনার সিদ্ধান্ত, তবে আপনার রিমোটের 6 টি কী থাকা উচিত যা আপনি ব্যবহার করতে চান। তাদের মধ্যে 2 টি লাল, 2 টি সবুজ এবং 2 টি নীল রঙের জন্য।

ধাপ 2: প্রথমে এটি একটি রুটি বোর্ডে তৈরি করুন (প্রয়োজনীয় নয় কিন্তু প্রস্তাবিত)

এটি প্রথমে একটি রুটি বোর্ডে তৈরি করুন (প্রয়োজনীয় নয় তবে প্রস্তাবিত)
এটি প্রথমে একটি রুটি বোর্ডে তৈরি করুন (প্রয়োজনীয় নয় তবে প্রস্তাবিত)
এটি প্রথমে একটি রুটি বোর্ডে তৈরি করুন (প্রয়োজনীয় নয় তবে প্রস্তাবিত)
এটি প্রথমে একটি রুটি বোর্ডে তৈরি করুন (প্রয়োজনীয় নয় তবে প্রস্তাবিত)

এখন, একটি ব্রেডবোর্ডে সার্কিট তৈরি করুন

সংযোগ:

RGB LED GND> Arduino nano GND

RGB LED Red> Arduino nano Digital pin 5

RGB LED Green> Arduino nano Digital pin 6

RGB LED Blue> Arduino nano Digital pin 9

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

আইআর রিসিভার পিন 1> আরডুইনো ন্যানো ডিজিটাল পিন 4

IR রিসিভার পিন 2> Arduino ন্যানো GND

IR রিসিভার পিন 3> Arduino nano 5v

(সমস্ত সংযোগ উপরে দেখানো হয়েছে)

(আরজিবি LED এর প্রতিটি রঙের পিন প্রতিরোধকের সাথে সিরিজ সংযুক্ত)

ধাপ 3: কোড

কোডটি নিম্নরূপ:

এখানে আমি যে লাইব্রেরি ব্যবহার করেছি।

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

int IR_Recv = 4; // আইআর রিসিভার পিন

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // লাল পিন int G = 6; // সবুজ পিন int B = 9; // নীল পিন #সংজ্ঞায়িত রূপ 1 1976685926 // লাল উজ্জ্বলতা বাড়ায় #রূপান্তর 3722818013 // লাল উজ্জ্বলতা বাড়ায় #ডিফাইন Rdown1 3843765582 // লাল উজ্জ্বলতা নিচে যায় #ডিফাইন Rdown2 3772813933 // লাল উজ্জ্বলতা কমিয়ে দেয় Gup1 3772797613 / উজ্জ্বলতা বেড়ে যায় #সংজ্ঞায়িত করুন Bup2 3772781293 // নীল উজ্জ্বলতা বাড়ায় #সংজ্ঞায়িত করুন Bdown1 3772801693 // নীল উজ্জ্বলতা কমিয়ে দেয় #সংজ্ঞায়িত Bdown2 3361986248 // নীল উজ্জ্বলতা কমিয়ে দেয় // দ্রষ্টব্য: আপনি আপনার রিমোটের সংখ্যা পরিবর্তন করুন !!! ! // আমার কাছে 2 টি ডুপ্লিকেট কী আছে উদাহরণস্বরূপ রূপ 1 এবং রূপ 2। কারণ // যখন আপনি একটি কী চাপবেন তখন আমার রিমোট 2 টি সংখ্যা বের করবে। // আপনার ক্ষেত্রে আপনি রূপ 1 এবং রূপ 2, গুপ 1 এবং গুপ 2 এ একই সংখ্যা রাখতে পারেন। // যখন আপনি একটি কী চাপবেন তখন নম্বরটি সিরিয়াল মনিটরে উপস্থিত হওয়া উচিত, // আপনার "#ডিফাইন" বিভাগে এটি টাইপ করা উচিত। IRrecv irrecv (IR_Recv); decode_results ফলাফল; অকার্যকর সেটআপ () {TCCR2A = _BV (COM2A1) | _BV (COM2B1) | _BV (WGM21) | _BV (WGM20); TCCR2B = _BV (CS22); irrecv.enableIRIn (); পিনমোড (আর, আউটপুট); পিনমোড (জি, আউটপুট); পিনমোড (বি, আউটপুট); Serial.begin (9600); } void loop () {if (irrecv.decode (& results)) {long int decCode = results.value; সুইচ (results.value) {/////////// RED কেস Rup1: Rval = Rval + 10; বিরতি; কেস Rup2: Rval = Rval + 10; বিরতি; কেস Rdown1: Rval = Rval - 10; বিরতি; কেস Rdown2: Rval = Rval - 10; বিরতি; //////////// GREEN কেস Gup1: Gval = Gval + 10; বিরতি; কেস Gup2: Gval = Gval + 10; বিরতি; কেস Gdown1: Gval = Gval - 10; বিরতি; কেস Gdown2: Gval = Gval - 10; বিরতি; ///////////// নীল মামলা Bup1: Bval = Bval + 10; বিরতি; কেস Bup2: Bval = Bval + 10; বিরতি; কেস Bdown1: Bval = Bval - 10; বিরতি; কেস Bdown2: Bval = Bval - 10; বিরতি; //////////////////////////////////////////} irrecv.resume (); } যদি (Rval> 255) (Rval = 255); যদি (Rval 255) (Gval = 255); যদি (Gval 255) (Bval = 255); যদি (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (results.value); বিলম্ব মাইক্রোসেকেন্ড (1); }

ধাপ 4: সমাপ্তি

সমাপ্তি
সমাপ্তি
সমাপ্তি
সমাপ্তি
সমাপ্তি
সমাপ্তি

আমি কেসিং একটি ভাল কাজ স্বর্গ না। আমি যা করেছি তা কেবল টেপ করা, তবে আমি এটিকে যতটা সম্ভব ছোট করার চেষ্টা করেছি।

যদি আপনার কোন প্রশ্ন বা কোন ভুল থাকে তবে আমাকে জানাতে ভুলবেন না, আমি আপনাকে ভুলটি ঠিক করতে সাহায্য করার জন্য যথাসাধ্য চেষ্টা করব। পড়ার জন্য ধন্যবাদ.

প্রস্তাবিত: