সুচিপত্র:

ইউএসবি এনইসি ইনফ্রা-রেড ট্রান্সমিটার এবং রিসিভার: 4 টি ধাপ (ছবি সহ)
ইউএসবি এনইসি ইনফ্রা-রেড ট্রান্সমিটার এবং রিসিভার: 4 টি ধাপ (ছবি সহ)

ভিডিও: ইউএসবি এনইসি ইনফ্রা-রেড ট্রান্সমিটার এবং রিসিভার: 4 টি ধাপ (ছবি সহ)

ভিডিও: ইউএসবি এনইসি ইনফ্রা-রেড ট্রান্সমিটার এবং রিসিভার: 4 টি ধাপ (ছবি সহ)
ভিডিও: উইন্ডোজ 10, 8, 7, ভিস্তা, এক্সপি এডিবি ইউএসবি ড্রাইভার কিভাবে ইন্সটল করবেন 2024, জুন
Anonim
ইউএসবি এনইসি ইনফ্রা-রেড ট্রান্সমিটার এবং রিসিভার
ইউএসবি এনইসি ইনফ্রা-রেড ট্রান্সমিটার এবং রিসিভার

এই প্রকল্পটি অন্য প্রকল্পের একটি স্পিন-অফ যা আমি কাজ করছি এবং যেহেতু প্রশিক্ষণযোগ্যদের উপর একটি রিমোট কন্ট্রোল 2017 প্রতিযোগিতা আছে আমি ভেবেছিলাম আমি এই প্রকল্পটি পোস্ট করব। সুতরাং আপনি যদি এই প্রকল্পটি পছন্দ করেন তবে দয়া করে এটির জন্য ভোট দিন। ধন্যবাদ।

আপনি হয়তো জানেন, আমি মাইক্রোচিপ 8-বিট PIC কন্ট্রোলারের একজন বড় ভক্ত, দেখুন:

আমি JAL প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করি যেহেতু এটি পাস্কালের মত দেখায় (যা আমিও পছন্দ করি)। জেএএল কম্পাইলার এবং লাইব্রেরিগুলি ডাউনলোড করা যেতে পারে: https://www.justanotherlanguage.org/downloads (সর্বশেষ প্রকাশিত সংস্করণের জন্য নিচে স্ক্রোল করুন)।

আমি যা করছি তা পুরোপুরি বোঝার জন্য সাধারণত আমি নিজেই সমস্ত কোড লিখি কিন্তু এই প্রকল্পের জন্য আমার পিসির ইউএসবি পোর্টের সাথে পিআইসি সংযোগ করার প্রয়োজন ছিল এবং তাই এই পিআইসি নিয়ামকের জন্য আমার একটি জেএএল ইউএসবি সিরিয়াল ড্রাইভার দরকার। আমি জেএএল ডাউনলোড প্যাকেজে ইউএসবি সিরিয়াল ড্রাইভার ব্যবহার করেছি যা ভাল কাজ করে বলে মনে হচ্ছে। যেহেতু এই ইউএসবি সিরিয়াল ড্রাইভারটি একটি নির্দিষ্ট PIC এর জন্য লেখা হয়েছিল তাই আমি সেই PIC ব্যবহার করেছি যা PIC18F14K50। এই কন্ট্রোলারের এই প্রকল্পের জন্য আমার প্রয়োজনের চেয়ে অনেক বেশি কার্যকারিতা রয়েছে, তাই আমি বর্তমানে এই ইউএসবি ড্রাইভারটিকে একটি সহজ পিআইসি সংস্করণ, পিআইসি 16 এফ 1455 এ কাজ করার প্রক্রিয়াতে আছি, যা সস্তাও।

তাহলে এই প্রকল্পটি কী? এই নির্দেশাবলীতে উল্লিখিত ডিভাইসের সাহায্যে আপনি জনপ্রিয় NEC ইনফ্রা-রেড প্রোটোকল ব্যবহার করে USB পোর্টের মাধ্যমে এবং আপনার পিসিতে ইনফ্রা রেড রিমোট কন্ট্রোল কমান্ড পাঠাতে এবং গ্রহণ করতে পারেন। এইভাবে আপনি ইনফ্রা-রেড কমান্ডগুলি পর্যবেক্ষণ করতে পারেন এবং আপনি এনইসি ইনফ্রা-রেড রিমোট কন্ট্রোল প্রোটোকল ব্যবহার করে এমন কোনও ডিভাইস নিয়ন্ত্রণ করতে পারেন। প্রজেক্টটি ডিকোড করে এবং ইনফ্রা-রেড বার্তাগুলিকে একটি অ্যাড্রেস বাইট এবং একটি কমান্ড বাইটে অথবা পুনরাবৃত্ত বার্তায় অনুবাদ করে। ঠিকানাটি - অবশ্যই - টিভি বা রেডিওর মতো একটি নির্দিষ্ট ডিভাইসকে সম্বোধন করতে ব্যবহৃত হয় যেখানে কমান্ড বাইট ভলিউম আপ, ভলিউম ডাউন এর মতো ফাংশন নির্দেশ করে। এই বার্তাগুলি ডিকোড করার পাশে, এই ডিভাইসটি ব্যবহার করে সেগুলি ইনফ্রা-রেডের মাধ্যমেও প্রেরণ করা যেতে পারে।

ধাপ 1: এনইসি ইনফ্রা-রেড প্রোটোকল সম্পর্কে কিছু তথ্য

এনইসি ইনফ্রা-রেড প্রটোকল সম্পর্কে কিছু তথ্য
এনইসি ইনফ্রা-রেড প্রটোকল সম্পর্কে কিছু তথ্য

এই প্রটোকলের সংক্ষিপ্ত পরিচিতি। এনইসি ইনফ্রা রেড রিমোট কন্ট্রোল প্রোটোকল অনেক ডিভাইস এবং রিমোট কন্ট্রোলে ব্যবহার করা হয় যা আপনি কিনতে পারেন। এটি 38 kHz ক্যারিয়ারে একটি ইনফ্রা রেড সিগন্যাল মডুলেট করে এবং একটি লজিক্যাল '1' এবং একটি লজিক্যাল '0' এনকোড করার জন্য পালস দূরত্ব এনকোডিং ব্যবহার করে। প্রোটোকলটি একটি সাধারণ চেক ব্যবহার করে দেখতে হবে যে ঠিকানা এবং কমান্ড বাইট এবং একটি এবং একই বার্তায় উভয়ের একটি উল্টানো সংস্করণ পাঠিয়ে বার্তাটি ঠিক আছে কিনা এবং অভ্যর্থনার পরে তারা একই কিনা তা পরীক্ষা করে। যখন রিমোট কন্ট্রোলে একটি বোতাম চাপানো হয় তখন এটি ঠিকানা এবং কমান্ড সহ একটি সম্পূর্ণ ইনফ্রা রেড বার্তা পাঠায়। বোতাম টিপে রাখার ফলে ঠিকানা এবং কমান্ড তথ্য ছাড়া একটি ছোট পুনরাবৃত্তি বার্তা প্রেরণ করা হবে। বাটন চেপে রাখার সময় প্রেরিত বার্তার পুনরাবৃত্তির সময় ঠিক করা হয়।

এনইসি ইনফ্রা রেড প্রোটোকল সম্পর্কে আরও তথ্য উদাহরণস্বরূপ পাওয়া যাবে:

পদক্ষেপ 2: প্রয়োজনীয় উপাদান

প্রয়োজনীয় উপাদান
প্রয়োজনীয় উপাদান
প্রয়োজনীয় উপাদান
প্রয়োজনীয় উপাদান

এই প্রকল্পের জন্য আপনার নিম্নলিখিত উপাদানগুলি থাকা দরকার:

  • PIC মাইক্রোকন্ট্রোলার PIC18F14K50, দেখুন:
  • ক্রিস্টাল 12 মেগাহার্টজ
  • সিরামিক ক্যাপাসিটর: 2 * 100nF, 1 * 220 nF, 2 * 18pF
  • ইলেক্ট্রোলাইটিক ক্যাপাসিটর 47 uF/16V
  • ইনফ্রা রেড রিসিভার TSOP4838, দেখুন:
  • প্রতিরোধক: 2 * 33 কে, 1 * 4 কে 7, 1 * 1 কে, 3 * 330 ওহম, 1 * 22 ওহম
  • LEDs: 2 * ইনফ্রা রেড, 1 অ্যাম্বার, 1 গ্রিন, 1 রেড
  • ট্রানজিস্টর BC640, দেখুন:
  • জাম্পার (alচ্ছিক)
  • ইউএসবি সংযোগকারী

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

ধাপ 3: সফটওয়্যার এবং ডিভাইসের অপারেশন

ইতিমধ্যে উল্লেখ করা হয়েছে, সফ্টওয়্যারটি একটি PIC18F14K50 এর জন্য লেখা হয়েছে। এটি জেএএলে লেখা ছিল। আপনার PIC প্রোগ্রামিং এর জন্য Intel Hex ফাইল সংযুক্ত করা আছে। সফটওয়্যারটি নিম্নলিখিত ফাংশন সম্পাদন করে:

  • এনইসি ইনফ্রা-রেড মেসেজ ডিকোড করে ইউএসবি এর মাধ্যমে পিসিতে পাঠান। বার্তাটি বিট স্ট্রিম থেকে ডিকোড করা হয় যা ইনফ্রা-রেড রিসিভার দ্বারা উত্পন্ন হয় এবং একটি ঠিকানা + কমান্ড বার্তা বা পুনরাবৃত্তি বার্তায় অনুবাদ করা হয়।
  • ইউএসবি এর মাধ্যমে পিসি থেকে প্রাপ্ত এনইসি ইনফ্রা রেড বার্তা পাঠানো। উল্লেখ্য যে সফটওয়্যারটি 38 kHz ক্যারিয়ার ফ্রিকোয়েন্সি তৈরি করে যা সরাসরি ইনফ্রা-রেড LEDs চালায়। ইনফ্রা-রেড এলইডির সমান্তরালে একটি অ্যাম্বার এলইডি সংযুক্ত থাকে যাতে একটি বার্তা প্রেরণ দৃশ্যমান হয়।

ডিফল্টরূপে এই সার্কিটটি ইনফ্রা-রেড বার্তা প্রেরণের সময় ইনফ্রা-রেড রিসিভারকে নিuteশব্দ করবে। যদি একটি জাম্পার 'আনমিউট' অবস্থানে রাখা হয়, তবে এটি এই নিuteশব্দ ফাংশনটি অক্ষম করবে। সেক্ষেত্রে প্রেরিত ইনফ্রা-রেড বার্তাটিও ট্রান্সমিশনের সমান্তরালে ডিকোড করা হবে এবং সম্পূর্ণ অভ্যর্থনার পর এটি পিসিতে একটি প্রাপ্ত ইনফ্রা-রেড বার্তা হিসেবে পাঠানো হবে। যদি একটি বৈধ NEC ইনফ্রা-রেড বার্তা পাওয়া যায়, তাহলে লাল 'IR OK' LED জ্বলে উঠবে।

এই ডিভাইসটি চালানোর জন্য আপনার পিসিতে একটি টার্মিনাল এমুলেটর প্রোগ্রাম থাকতে হবে। আমি এই উদ্দেশ্যে 'টার্মাইট' ব্যবহার করেছি। যখন ডিভাইসটি পিসির সাথে সংযুক্ত থাকে, এটি স্বয়ংক্রিয়ভাবে উইন্ডোজ 10 দ্বারা একটি অতিরিক্ত COM পোর্ট হিসাবে স্বীকৃত হবে কারণ এই ডিভাইসের জন্য মাইক্রোচিপ ড্রাইভার আছে বলে মনে হচ্ছে উইন্ডোজ 10 প্রি-ইনস্টল। এই COM পোর্টের জন্য সেটিং হওয়া উচিত: 19200 baud 8 bit, 1 stop-bit, no parity and using RTS/CTS flow control। বড রেট প্রয়োজনে অন্য কোন মান নির্ধারণ করা যেতে পারে তাই 115200 এর একটি বড রেটও কাজ করবে। একবার টার্মিনাল এমুলেটর প্রোগ্রামের মাধ্যমে ইউএসবি পোর্টের মাধ্যমে ডিভাইসটি কনফিগার হয়ে গেলে, সবুজ 'কনফিগার্ড' এলইডি জ্বলে উঠবে।

ইনফ্রা-রেড বার্তা গ্রহণ করা

যখন একটি ইনফ্রা-রেড বার্তা পাওয়া যায়, তখন টার্মিনাল এমুলেটর প্রোগ্রামে নিম্নলিখিতগুলি প্রদর্শিত হবে:

  • একটি সম্পূর্ণ বার্তার ক্ষেত্রে 'A: xx C: xx', যেখানে xx হল ঠিকানা (A) এবং কমান্ড (C) এর হেক্সাডেসিমাল সংখ্যা। উভয়ের মান 0x00 (0) থেকে 0xFF (255) পর্যন্ত হতে পারে।
  • পুনরাবৃত্তি বার্তার ক্ষেত্রে 'পুনরাবৃত্তি'।

ইনফ্রা-রেড মেসেজ পাঠানো হচ্ছে

এর জন্য আমার একটি প্রোটোকল সংজ্ঞায়িত করা দরকার যা ডিভাইসটিকে কী করতে হবে তা বলে। যেহেতু আমরা একটি টার্মিনাল এমুলেটর ব্যবহার করি আমি একটি বার্তা সংজ্ঞায়িত করতে ASCII অক্ষর ব্যবহার করেছি। ডিভাইসে কমান্ড পাঠানোর প্রোটোকল নিম্নলিখিত বিন্যাস ব্যবহার করে: '! AACCRR#', যেখানে (সব অক্ষর কেস সংবেদনশীল নয়):

  • '!' বার্তাটির সূচনা নির্দেশ করে।
  • 'এএ' হেক্সাডেসিমেল নোটেশনে ঠিকানাটির মান তাই '0' থেকে '9' এবং 'এ' থেকে 'এফ',
  • 'সিসি' হেক্সাডেসিমেল নোটেশনে কমান্ডের মান তাই '0' থেকে '9' এবং 'এ' থেকে 'এফ'
  • 'আরআর' হল পুনরাবৃত্ত বার্তার সংখ্যা যা হেক্সাডেসিমাল নোটেশনে প্রেরণ করা প্রয়োজন তাই '0' থেকে '9' এবং 'এ' থেকে 'এফ'। '00' এর মান মানে কোন পুনরাবৃত্তি বার্তা পাঠানো হয় না।

ঠিকানা 0x07, কমান্ড 0x05 এবং 3 পুনরাবৃত্তির একটি উদাহরণ তারপর টার্মিনাল এমুলেটর প্রোগ্রামে নিম্নরূপ টাইপ করা উচিত:! 070503#

পিসি থেকে কমান্ড পাঠানোর পরে ডিভাইসের বিভিন্ন প্রতিক্রিয়া রয়েছে:

  • 'Y' মানে একটি বার্তা প্রেরণ করা হয়েছে। মনে রাখবেন যে এই প্রতিক্রিয়াটি সমস্ত বার্তা - সমস্ত পুনরাবৃত্তি সহ - প্রেরণের পরে দেওয়া হয় তাই এই প্রতিক্রিয়াটি দেওয়ার আগে কিছু সময় লাগতে পারে যখন অনেক পুনরাবৃত্তি বার্তা প্রেরণের প্রয়োজন হয়।
  • 'এন' মানে পিসিতে পাঠানো বার্তায় একটি অবৈধ চরিত্র ছিল।
  • 'বি' এর মানে হল যে কমান্ড দেওয়া হয়েছিল তখনও একটি ইনফ্রা-রেড ট্রান্সমিশন ব্যস্ত ছিল।
  • ?’এর মানে হল যে ডিভাইসটি‘!’আশা করছিল কিন্তু এটি অন্য কিছু পেয়েছিল।

ধাপ 4:

আমি যন্ত্রটির একটি সংক্ষিপ্ত ভিডিও তৈরি করেছি। এই ভিডিওটির জন্য আমি একটি রিমোট কন্ট্রোল সহ একটি বাণিজ্যিক LED ল্যাম্প ব্যবহার করেছি যাতে দেখা যায় যে ট্রান্সমিশন এবং রিসেপশন উভয়ই কাজ করে। ভিডিওটি নিম্নলিখিত দেখায়:

  • টার্মিনাল এমুলেশন প্রোগ্রাম থেকে ইউএসবি ডিভাইস কনফিগার করা। যখন ডিভাইসটি কনফিগার করা হয় তখন এটি 'ইউএসবি এনইসি ইনফ্রা রেড ট্রান্সমিটার এবং রিসিভার' বার্তার সাথে সাড়া দেয়। ডিভাইসে সবুজ এলইডি চালু করা হয় যা দেখায় যে ডিভাইসটি পিসি দ্বারা কনফিগার করা হয়েছিল।
  • রিমোট কন্ট্রোল দিয়ে বাতি জ্বালানো হয়। এর জন্য রিমোট কন্ট্রোল 0x00 এবং কমান্ড 0x07 ব্যবহার করে যা ডিভাইস দ্বারা ডিকোড করে পিসিতে দেখানো হয়।
  • রিমোট কন্ট্রোল দিয়ে বাতি নিভিয়ে দেওয়া হয়। এর জন্য রিমোট কন্ট্রোল 0x00 এবং কমান্ড 0x06 ব্যবহার করে যা ডিভাইস দ্বারা ডিকোড করে পিসিতে দেখানো হয়।
  • পিসিতে একই রিমোট কন্ট্রোল কমান্ড টাইপ করে প্রদীপ জ্বালানো হয় 0 (পুনরাবৃত্তি নেই) তাই '! 000700#' টাইপ করে। বাতি জ্বলে।
  • ঠিকানা 0x00 এবং 0x0A কমান্ড ব্যবহার করে এবং 0x30 পুনরাবৃত্তি ব্যবহার করে প্রদীপের রঙ নীল করে। অ্যাম্বার লেড, যা ইনফ্রা রেড এলইডি -র সাথে সমান্তরালভাবে সংযুক্ত, ইনফ্রা রেডের মাধ্যমে পুনরাবৃত্ত বার্তার সংক্রমণ দেখিয়ে জ্বলজ্বল করছে। টাইপ করা মেসেজ হল '! 000A30#'।

মনে রাখবেন যে এই ভিডিওটির রেকর্ডিংয়ের সময় জাম্পার সংযোগ 'আনমিউট' সক্রিয় ছিল যাতে আপনি প্রেরিত বার্তাটি দেখতে পারেন! ল্যাম্প কালারিং নীল এর ডেমোতে আপনিও দেখতে পারেন যে লাল LED যতক্ষণ পর্যন্ত বৈধ - পুনরাবৃত্তি - বার্তাগুলি প্রেরণ করা হয়, যেহেতু সেগুলি প্রাপ্ত হয় এবং পুনরাবৃত্তি বার্তা প্রেরণের সাথে সমান্তরালভাবে ডিকোড করা হয়।

আপনার নিজের প্রকল্পটি তৈরি করতে মজা করুন এবং আপনার প্রতিক্রিয়াগুলির অপেক্ষায় থাকুন। আপনি যদি এটি পছন্দ করেন তবে রিমোট কন্ট্রোল 2017 প্রতিযোগিতায় এই প্রকল্পের জন্য ভোট দিতে ভুলবেন না। আবার ধন্যবাদ.

প্রস্তাবিত: