সুচিপত্র:

Arduino এর সাথে I2C ইনফ্রারেড রিমোট কন্ট্রোল: 8 টি ধাপ (ছবি সহ)
Arduino এর সাথে I2C ইনফ্রারেড রিমোট কন্ট্রোল: 8 টি ধাপ (ছবি সহ)

ভিডিও: Arduino এর সাথে I2C ইনফ্রারেড রিমোট কন্ট্রোল: 8 টি ধাপ (ছবি সহ)

ভিডিও: Arduino এর সাথে I2C ইনফ্রারেড রিমোট কন্ট্রোল: 8 টি ধাপ (ছবি সহ)
ভিডিও: Automatic Gate Opening System using Arduino #arduino #arduinoprojects #automation #iot 2024, জুলাই
Anonim
Arduino এর সাথে I2C InfraRed রিমোট কন্ট্রোল
Arduino এর সাথে I2C InfraRed রিমোট কন্ট্রোল
Arduino এর সাথে I2C InfraRed রিমোট কন্ট্রোল
Arduino এর সাথে I2C InfraRed রিমোট কন্ট্রোল

ইন্টারফেসের জন্য I2C ব্যবহার করে একটি সার্বজনীন রিমোট কন্ট্রোলার কীভাবে তৈরি করবেন তা এই নির্দেশযোগ্য বিশদ।

I2C স্লেভ ডিভাইস ব্যবহার করে আপনি কতটা অদ্ভুত বলছেন?

হ্যাঁ, একটি I2C স্লেভ ডিভাইস।

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

ভূমিকা

উপরে উল্লিখিত হিসাবে এই নির্দেশযোগ্য বর্ণনা করে কিভাবে Arduino তে IRremote লাইব্রেরি ব্যবহার করে টিভি, ডিভিডি প্লেয়ার এবং স্যাটেলাইট ইত্যাদি গৃহস্থালী যন্ত্রপাতি নিয়ন্ত্রণ করতে হয়।

এটি একটি ডিজাইনের উদাহরণ দিয়ে শেষ হয় যা Arduino কে একটি I2C স্লেভ রিমোট কন্ট্রোল মডিউলে পরিণত করে (উপরের ছবি 1) প্রোটোটাইপ টেস্ট সার্কিট (উপরের ছবি 2) সহ এবং আপনার নকশাটিকে প্রয়োজনীয় ন্যূনতম উপাদানগুলিতে কীভাবে সঙ্কুচিত করা যায় তা বিস্তারিতভাবে বর্ণনা করে। অন্য নকশায় এম্বেড করা। আমার ক্ষেত্রে আমি একটি ESP8266-12E এর উপর ভিত্তি করে একটি IoT ইউনিভার্সাল রিমোট কন্ট্রোল ডিভাইসে এই এমবেডেড ডিভাইসটি ব্যবহার করি।

আমি কি অংশ প্রয়োজন?

ধাপ 1 (আইআর ট্রান্সমিটার) এ চিত্রিত সার্কিটটি নির্মাণ করতে আপনার নিম্নলিখিত অংশগুলির প্রয়োজন হবে;

  • 2K 10K প্রতিরোধক বন্ধ
  • 390R প্রতিরোধক বন্ধ 1
  • 33R প্রতিরোধক বন্ধ 1
  • 1 বন্ধ 3K8 প্রতিরোধক
  • লাল LED 1 বন্ধ
  • IR LED TSAL6400 বন্ধ
  • 1 ট্রানজিস্টর BC337 বন্ধ
  • 220uF ক্যাপাসিটরের 1 বন্ধ
  • 1 Arduino Uno বন্ধ

ধাপ 4 (IR রিসিভার) -এ দেখানো সার্কিট তৈরি করতে আপনার নিম্নলিখিত অংশগুলির প্রয়োজন হবে;

  • 10K প্রতিরোধক বন্ধ 1
  • 1 বন্ধ TSOP38328
  • 220uF ক্যাপাসিটরের 1 বন্ধ
  • 1 Arduino Uno বন্ধ

ধাপ 5 (স্লেভ টেস্ট সার্কিট) -এ দেখানো সার্কিট তৈরি করতে আপনার নিম্নলিখিত অংশগুলির প্রয়োজন হবে;

  • 10K প্রতিরোধক বন্ধ 4
  • 390R প্রতিরোধক বন্ধ 2
  • 33R প্রতিরোধক বন্ধ 1
  • 1 বন্ধ 3K8 প্রতিরোধক
  • লাল LED 2 বন্ধ
  • IR LED TSAL6400 বন্ধ
  • 1 ট্রানজিস্টর BC337 বন্ধ
  • 220uF ক্যাপাসিটরের 1 বন্ধ
  • 2 বন্ধ SPST বোতাম
  • 2 Arduino Unos বন্ধ

ধাপ 6 (সঙ্কুচিত নকশা) এ চিত্রিত সার্কিটটি তৈরি করতে আপনার নিম্নলিখিত অংশগুলির প্রয়োজন হবে;

  • 3K 10K প্রতিরোধক বন্ধ
  • 270R প্রতিরোধক বন্ধ 1
  • 15R প্রতিরোধক বন্ধ 1
  • 4K 1K প্রতিরোধক বন্ধ
  • লাল LED 1 বন্ধ
  • IR LED TSAL6400 বা TSAL5300 বন্ধ
  • 1 ট্রানজিস্টর BC337 বন্ধ
  • 220uF ক্যাপাসিটরের ইলেক্ট্রোলাইটিক off 6.3v বন্ধ
  • 1000uF ক্যাপাসিটরের ইলেক্ট্রোলাইটিক off 6.3v বন্ধ
  • 0.1uF ক্যাপাসিটরের 2 বন্ধ
  • 22pF ক্যাপাসিটরের মধ্যে 2 বন্ধ
  • 16MHz Xtal এ 1 বন্ধ
  • 1 বন্ধ ATMega328P-PU

দ্রষ্টব্য: ATMega328P প্রোগ্রাম করার জন্য আপনার একটি FTDI ডিভাইসেরও প্রয়োজন হবে

আমার কোন দক্ষতা দরকার?

  • ইলেকট্রনিক্সের ন্যূনতম উপলব্ধি,
  • Arduino এর জ্ঞান এবং এটি IDE,
  • একটু ধৈর্য,
  • I2C- এর কিছু বোঝার উপযোগী হবে (কিছু জেনেরিক I2C/ওয়্যার লাইব্রেরির বিবরণের জন্য এখানে দেখুন)।

বিষয় আচ্ছাদিত

  • সার্কিটের সংক্ষিপ্ত বিবরণ,
  • সফটওয়্যারটির সংক্ষিপ্ত বিবরণ,
  • I2C প্যাকেটের বিষয়বস্তু,
  • রিমোট কন্ট্রোল কোড অর্জন (ui32Data),
  • কিভাবে আপনার I2C স্লেভ ডিভাইস পরীক্ষা করবেন,
  • আপনার নকশা সঙ্কুচিত,
  • উপসংহার,
  • রেফারেন্স ব্যবহার করা হয়েছে।

অস্বীকৃতি

বরাবরের মতো, আপনি এই নির্দেশগুলি আপনার নিজের ঝুঁকিতে ব্যবহার করেন এবং সেগুলি অসমর্থিত হয়।

ধাপ 1: সার্কিটের সংক্ষিপ্ত বিবরণ

সার্কিটের সংক্ষিপ্ত বিবরণ
সার্কিটের সংক্ষিপ্ত বিবরণ

সার্কিটের উদ্দেশ্য হল আইআর রিমোট কন্ট্রোল কোড প্রেরণ করা। এর নকশা বেশ সোজা এবং বেশ সহজ।

যখন ট্রানজিস্টার Q1 একটি BC337 NPN একটি যুক্তির মাধ্যমে Arduino PWM O/P D3 থেকে Resistor R5 তে চালু হয়, তখন কারেন্ট যথাক্রমে Leds 1 এবং 2. দিয়ে যায় যথাক্রমে ব্যালাস্ট রেজিস্টার R3 এবং R4 দ্বারা সীমিত। Q1 আইআর ডায়োড (IF Max = 100mA) এর মধ্য দিয়ে বর্তমান প্রবাহকে বাড়িয়ে তুলতে ব্যবহৃত হয় যা Arduino O/P সক্ষম of 40mA @ +5v সরবরাহের চেয়ে বেশি।

ক্যাপাসিটর C1 একটি 220uF ইলেক্ট্রোলাইটিক কিছু স্থিতিশীলতা সরবরাহ করে যা Leds 1 এবং 2 দ্বারা টানা বিদ্যুৎ সরবরাহ রেল ড্রপ প্রতিরোধ করে।

প্রতিরোধক R1 এবং R2 হল I2C পুল আপ।

ধাপ 2: সফটওয়্যারের সংক্ষিপ্ত বিবরণ

সফটওয়্যারের সংক্ষিপ্ত বিবরণ
সফটওয়্যারের সংক্ষিপ্ত বিবরণ
সফটওয়্যারের সংক্ষিপ্ত বিবরণ
সফটওয়্যারের সংক্ষিপ্ত বিবরণ
সফটওয়্যারের সংক্ষিপ্ত বিবরণ
সফটওয়্যারের সংক্ষিপ্ত বিবরণ

প্রস্তাবনা

এই সোর্স কোড সফলভাবে কম্পাইল করার জন্য আপনার নিম্নলিখিত অতিরিক্ত লাইব্রেরির প্রয়োজন হবে;

IRremote.h

  • লিখেছেন: z3t0
  • উদ্দেশ্য: Arduino এর জন্য ইনফ্রারেড রিমোট লাইব্রেরি: একাধিক প্রোটোকলের সাহায্যে ইনফ্রারেড সিগন্যাল পাঠান এবং গ্রহণ করুন
  • থেকে:

কোড ওভারভিউ

উপরের ছবি 1 এ দেখানো হয়েছে, শুরুতে কোডটি মাইক্রো-কন্ট্রোলার I/O কনফিগার করে তারপর অভ্যন্তরীণ সফ্টওয়্যার পতাকা 'bFreshDataFlag' এর অবস্থা নির্বাচন করে। যখন এই পতাকাটি সেট করা হয় তখন নিয়ামক দাবি করে যে এটি 'ব্যস্ত' লাইন (ডেটা পিন D4 কম পাঠাচ্ছে) এবং 'eBUSY' রাজ্যে চলে যায় ক্রমানুসারে uDataArray এ অনুষ্ঠিত বোতাম প্রেস কমান্ডগুলি এবং IR মডুলেটেড ডেটা IR LED এ পাঠানো সংক্রমণ ক্রম।

একবার uDataArray এ থাকা ডেটা সম্পূর্ণরূপে প্রেরণ হয়ে গেলে, 'eIDLE' অবস্থা পুনরায় শুরু হয় এবং 'ব্যস্ত' লাইনটি ডি-অ্যাসার্টড (ডেটা পিন D4 উচ্চ পাঠানো)। ডিভাইসটি এখন ট্রান্সমিশন সিকোয়েন্সের সমাপ্তি চিহ্নিত করে আরও বাটন প্রেস পাওয়ার জন্য প্রস্তুত।

IR বাটন প্রেস ডেটা গ্রহণ

যখন I2C এর মাধ্যমে ইনফ্রারেড রিমোট কন্ট্রোলারে ডেটা পাঠানো হয় তখন এটি একটি বাধা সৃষ্টি করে এবং রিসিভেন্ট () ফাংশন কলটি অসিঙ্ক্রোনাসভাবে ট্রিগার হয়।

একবার প্রাপ্ত I2C ডেটা ট্রিগার করে বাফার 'uDataArray ' এ ক্রমানুসারে লেখা হয়।

ডেটা রিসেপশনের সময়, যদি সিকোয়েন্সের একটি শেষ মাস্টার (bFreshData! = 0x00) দ্বারা সংকেত দেওয়া হয় তাহলে 'bFreshDataFlag' সেট করা হয়, এইভাবে ট্রান্সমিশন সিকোয়েন্স শুরুর ইঙ্গিত দেয়।

ছবি 2… 3 একটি সাধারণ প্যাকেট ক্রমের একটি উদাহরণ দেয়।

দ্রষ্টব্য: সম্পূর্ণ সোর্স কোড এখানে উপলব্ধ

ধাপ 3: I2C প্যাকেটের বিষয়বস্তু

I2C প্যাকেটের বিষয়বস্তু
I2C প্যাকেটের বিষয়বস্তু

I2C- এর উপর ক্রীতদাসকে পাঠানো কন্ট্রোল প্যাকেটের ফর্ম্যাটটি উপরের ছবি 1 এ দেওয়া হয়েছে প্রতিটি ক্ষেত্রের অর্থ নীচে দেওয়া আছে

নিয়ন্ত্রণ প্যাকেট ক্ষেত্রের অর্থ

বাইট bEncoding;

  • আইআর রিমোট কন্ট্রোল এনকোডিং,

    • RC6 (স্কাই) = 0,
    • সনি = 1,
    • স্যামসাং = 2,
    • NEC = 3,
    • এলজি = 4

uint32_t ui32Data;

বাইনারি আইআর ডেটা স্ট্রীমের হেক্স উপস্থাপনা 4 ডেটা বাইট (স্বাক্ষরবিহীন দীর্ঘ), এলএসবাইট … এমএসবাইট

বাইট bNumberOfBitsInTheData;

ডেটাতে বিটের সংখ্যা (সর্বোচ্চ 32)। পরিসীমা = 1… 32

বাইট bPulseTrainRepeats;

এই পালস ট্রেনের কত পুনরাবৃত্তি। পরিসীমা = 1… 255। সাধারণত 2… 4 পুনরাবৃত্তি। আপনি অন/অফ কমান্ডের জন্য এটি প্রসারিত করতে চাইতে পারেন কারণ রিসিভিং ডিভাইসে কখনও কখনও সিগন্যাল চালু করার জন্য কিছু অতিরিক্ত পালস ট্রেনের পুনরাবৃত্তি প্রয়োজন হয়।

বাইট bDelayBetweenPulseTrainRepeats;

এই পালস ট্রেনের পুনরাবৃত্তির মধ্যে বিলম্ব। রেঞ্জ = 1… 255mS সাধারণত 22mS… 124mS।

বাইট bButtonRepeats;

একই বোতামটি বারবার চাপার অনুকরণ করে (কিন্তু অ্যাপল রিমোটের মত পরিবর্তিত কোড সমর্থন করে না, এটি শুধু বোতাম কোডটি পুনরাবৃত্তি করে)। রেঞ্জ = 1… 256. ডিফল্ট = 1।

uint16_t ui16DelayBetweenButtonRepeats;

বোতাম পুনরাবৃত্তির মধ্যে বিলম্ব (স্বাক্ষরবিহীন int)। মোট LSByte 2 বাইট… MSByte। রেঞ্জ = 1… 65535mS ডিফল্ট = 0mS

বাইট bFreshData;

  • তাজা তথ্য। একটি শূন্য মান। শেষ লেখা, IR TX ক্রম ট্রিগার করে। পরিসীমা 0x00… 0xFF

    • আরো কন্ট্রোল প্যাকেট আসবে = 0
    • এটি চূড়ান্ত নিয়ন্ত্রণ প্যাকেট = নন-জিরো মান 1, 2,… 255

'_Packed_' কম্পাইলার নির্দেশের ব্যবহার লক্ষ্য করুন। এটি নিশ্চিত করা হয় যে ডেটা প্যাকেট বাইটের জন্য মেমরিতে বাইটের জন্য নির্ধারিত লক্ষ্য সিস্টেম (ইউএনও, ডিউ, ইএসপি 8266 ইত্যাদি) নির্বিশেষে। এর মানে হল RegisterAllocationType এবং dataArrayType এর মধ্যে সংযোজন কেবল একটি ক্রমান্বয়ে ঘড়ির আউট/ক্লক একটি নিয়ন্ত্রণ প্যাকেট থেকে বাইটে, যাতে TX/RX সফটওয়্যারটি সহজ হয়।

ধাপ 4: রিমোট কন্ট্রোল কোড অর্জন (ui32Data)

রিমোট কন্ট্রোল কোড অর্জন (ui32Data)
রিমোট কন্ট্রোল কোড অর্জন (ui32Data)
রিমোট কন্ট্রোল কোড অর্জন (ui32Data)
রিমোট কন্ট্রোল কোড অর্জন (ui32Data)
রিমোট কন্ট্রোল কোড অর্জন (ui32Data)
রিমোট কন্ট্রোল কোড অর্জন (ui32Data)
রিমোট কন্ট্রোল কোড অর্জন (ui32Data)
রিমোট কন্ট্রোল কোড অর্জন (ui32Data)

তিনটি রিমোট কন্ট্রোল কী কোড অর্জন করতে পারেন।

  1. একটি অসিলোস্কোপ দিয়ে বিট কাউন্টিং এর মাধ্যমে,
  2. এটি একটি ওয়েবসাইটে দেখুন,
  3. সফটওয়্যারে ডাটা স্ট্রিম থেকে সরাসরি ডিকোড করুন।

একটি সুযোগ সঙ্গে বিট গণনা

এটি একটি কার্যকর পদ্ধতি নয় কারণ এটি বেশ কিছু সময় নেয় এবং সম্ভাব্যভাবে একাধিক প্রচেষ্টা প্রয়োজন, তবে এটি অত্যন্ত নির্ভুল হতে পারে। এটি 2 এবং 3 পদ্ধতি ব্যবহার করে প্রাপ্ত কোডগুলিকে চাক্ষুষভাবে যাচাই করার ক্ষেত্রেও কার্যকর, রিমোটের কোন বিশেষত্ব নির্ধারণেও। উদাহরণস্বরূপ যখন একটি অ্যাপল আইআর রিমোটের একটি বোতাম চেপে ধরে। রিমোট প্রাথমিকভাবে একটি কমান্ড ক্রম জারি করবে তারপর 0xF এর পুনরাবৃত্তি সংকুচিত ক্রম দিয়ে অনুসরণ করুন।

এটি একটি ওয়েবসাইটে দেখুন

লিনাক্স ইনফ্রারেড রিমোট কন্ট্রোল ওয়েব সাইটে রিমোট কন্ট্রোল কোড ডাটাবেস একটি ভালো উৎস।

যাইহোক, নেতিবাচক দিক হল যে আপনি আপনার জন্য কাজ করে এমন একটি খুঁজে না পাওয়া পর্যন্ত আপনাকে কয়েকটি কোড চেষ্টা করতে হতে পারে। কোডগুলির কিছু প্রতিনিধিত্বকে তাদের সমতুল্য হেক্স আকারে রূপান্তর করার জন্য আপনাকে ব্যাখ্যা করতে হতে পারে।

ডেটা স্ট্রিম থেকে সরাসরি ডিকোড করুন

IRremote লাইব্রেরির উদাহরণ 'IRrecvDumpV2। আরডুইনো আইডিই টার্মিনাল উইন্ডোতে অন/অফ বাটন প্রেসের জন্য ছবি 2 একটি ডিকোডেড স্যামসাং টিভি রিমোট দেখায়।

সম্মিলিত রিসিভার/ট্রান্সমিটার

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

আইআর রিমোট কন্ট্রোল বোতাম টিপুন

আইআর কমান্ড করলে এটি ট্রান্সমিশনের জন্যও সমানভাবে ভাল কাজ করে। একটি লাল নেতৃত্ব একটি চাক্ষুষ ইঙ্গিত হিসাবে অন্তর্ভুক্ত করা হয় ডিভাইসটি কার্যকরী।

ধাপ 5: কিভাবে আপনার I2C স্লেভ ডিভাইস পরীক্ষা করবেন

কিভাবে আপনার I2C স্লেভ ডিভাইস পরীক্ষা করবেন
কিভাবে আপনার I2C স্লেভ ডিভাইস পরীক্ষা করবেন
কিভাবে আপনার I2C স্লেভ ডিভাইস পরীক্ষা করবেন
কিভাবে আপনার I2C স্লেভ ডিভাইস পরীক্ষা করবেন

এখানে সোর্স কোড ব্যবহার করে, এবং ছবি 1 এর উপরে বর্ণিত সার্কিট, 'IR_Remote_Sim_Test.ino' এবং 'IR_Remote_Sim.ino' দিয়ে 'স্লেভ' Arduino এর সাথে 'মাস্টার' Arduino প্রোগ্রাম করুন।

ধরুন আপনার একটি সনি ব্রাভিয়া টিভি, স্কাই এইচডি বক্স এবং একটি সনি বিটি সাউন্ডবার আছে, বোতাম 1 টি চাপুন এবং আপনার টিভি BBC1 (চ্যানেল 101) এ চলে যাবে। 2 বোতাম টিপুন এবং আপনার সাউন্ড বার নিuteশব্দ হবে। আবার টিপুন এবং এটি নি mশব্দ হবে।

আইআর ট্রান্সমিশন সিকোয়েন্স চালানোর সময় LED3 আলোকিত করবে ইঙ্গিত করে যে ক্রীতদাস ব্যস্ত এবং LED1 IR ট্রান্সমিশন প্রক্রিয়ার সাথে ইনলাইন ঝলকানি দেবে।

অবশ্যই যদি আপনার উপরে উল্লিখিত বিনোদন ব্যবস্থা না থাকে, তাহলে আপনি 'IRrecvDumpV2.ino' দিয়ে ক্রীতদাসকে পুনরায় প্রোগ্রাম করতে পারেন, আপনার আগ্রহের দূরবর্তী আদেশগুলি ডিকোড করতে পারেন, তারপর আপনার জন্য 'IR_Remote_Sim_Test.ino' এ প্রোগ্রাম করুন প্রদত্ত দৃশ্যকল্প।

ছবি 2 মাস্টার এবং স্লেভের মধ্যে সিস্টেম লেভেল টেস্ট সফটওয়্যার ওভারভিউ দেখায়।

ধাপ 6: আপনার নকশা সঙ্কুচিত করা

আপনার নকশা সঙ্কুচিত
আপনার নকশা সঙ্কুচিত

ঠিক আছে, তাই ধরে নিচ্ছি আপনি এই নির্দেশনাটি অনুসরণ করেছেন দুইটি Arduinos- এর উপর নির্ভর করে আপনার বাড়ির ডিভাইসগুলি নিয়ন্ত্রণ করার জন্য আপনার Arduino স্টকের সবচেয়ে কার্যকরী ব্যবহার নয়। ফলস্বরূপ, যদি আপনি উপরের ছবিতে দেখানো সার্কিটটি তৈরি করেন এবং 'IR_Remote_Sim.ino' দিয়ে ATMega328P প্রোগ্রাম করার জন্য এখানে নির্দেশাবলী অনুসরণ করেন, তাহলে আপনি পুরো সিস্টেমকে ন্যূনতম উপাদানগুলিতে কমাতে সক্ষম হবেন। এটি আপনাকে অন্য কোন সিস্টেমে আপনার নকশা এম্বেড করার অনুমতি দেবে।

ধাপ 7: উপসংহার

উপসংহার
উপসংহার
উপসংহার
উপসংহার

সমাধানটি স্থিতিশীল এবং ভালভাবে কাজ করে, এটি কোনও সমস্যা ছাড়াই বেশ কয়েক সপ্তাহ ধরে অন্য সিস্টেমে এম্বেড করা হয়েছে।

আমি Arduino Uno R3 বেছে নিলাম কারণ আমি এমন একটি ডিভাইস চাই যার যথেষ্ট র‍্যাম ছিল যাতে আমি যুক্তিসঙ্গত গভীরতার একটি বোতাম বাফার পেতে পারি। আমি 20 টি প্যাকেটের (MAX_SEQUENCES) একটি বাফার সাইজের জন্য বসতি স্থাপন করেছি।

সনি এবং স্কাই রিমোট কন্ট্রোল ডিকোড করার সময় আমার তৈরি করা হাইব্রিড টিএক্স/আরএক্স ieldালটিও খুব কাজে আসে। যদিও আমার ডিজিটাল সুযোগ ব্যবহার করে স্বীকার করতে হবে যে সফ্টওয়্যার ডিকোড করা IR কমান্ডটি চেক করার জন্য একই ছিল যা IR এর কাছ থেকে এসেছে (TSOP38328)।

পিক 2 -এ উপরে দেখানো আইআর নেতৃত্বের জন্য ধ্রুবক বর্তমান ড্রাইভ সার্কিট ব্যবহার করা একমাত্র জিনিস যা আমি ভিন্নভাবে করতাম।

আরেকটি বিষয় লক্ষ্য করার মতো, সব IR ট্রান্সমিটার 38KHz দিয়ে মডুলেটেড হয় না, TSOP38328 38KHz এর জন্য অপ্টিমাইজ করা হয়।

ধাপ 8: রেফারেন্স ব্যবহৃত

IRRemote.h

  • দ্বারা: z3t0
  • উদ্দেশ্য: Arduino- এর জন্য ইনফ্রারেড রিমোট লাইব্রেরি: একাধিক প্রোটোকলের সাহায্যে ইনফ্রারেড সিগন্যাল পাঠান এবং গ্রহণ করুন
  • থেকে:

আইআর রিমোট লাইব্রেরি

  • z3t0.github.io/Arduino-IRremote/
  • https://arcfn.com/2009/08/multi-protocol-infrared-remote-library.html

IR (ইনফ্রারেড) রিসিভার সেন্সর - TSOP38238 (সমতুল্য)

https://cdn-shop.adafruit.com/datasheets/tsop382.pdf

শব্দের সীমানায় ডেটা স্ট্রাকচার প্যাডিং এড়াতে

  • https://github.com/esp8266/Arduino/issues/1825
  • https://github.com/tuanpmt/esp_bridge/blob/master/modules/include/cmd.h#L15
  • https://stackoverflow.com/questions/11770451/what-is-the-meaning-of-attribute-packed-aligned4

আইআর রিমোট ডিটেইলের ভালো উৎস

https://www.sbprojects.com/knowledge/ir/index.php

I2C

  • https://playground.arduino.cc/Main/WireLibraryDetailedReference
  • https://www.arduino.cc/en/Reference/WireSend

আইআর রিমোটস ডাটাবেস

  • https://www.lirc.org/
  • https://lirc-remotes.sourceforge.net/remotes-table.html

BC337 ডেটশীট

https://www.onsemi.com/pub/Collateral/BC337-D. PDF

1N4148 ডেটশীট

https://www.vishay.com/docs/81857/1n4148.pdf

প্রস্তাবিত: