সুচিপত্র:

ATtiny85 IR USB রিসিভার: 11 টি ধাপ (ছবি সহ)
ATtiny85 IR USB রিসিভার: 11 টি ধাপ (ছবি সহ)

ভিডিও: ATtiny85 IR USB রিসিভার: 11 টি ধাপ (ছবি সহ)

ভিডিও: ATtiny85 IR USB রিসিভার: 11 টি ধাপ (ছবি সহ)
ভিডিও: Make ATtiny85 IR Remote Control Device Using Relay Module | Learn AVR Microcontroller Programming 2024, জুলাই
Anonim
ATtiny85 IR USB রিসিভার
ATtiny85 IR USB রিসিভার

সতর্কীকরণ, এই নির্দেশযোগ্য অচল হয়ে পড়েছে

ভি-ইউএসবি লাইব্রেরি ইউএসবি 1.1 প্রোটোকলের সাথে কাজ করার জন্য ডিজাইন করা হয়েছে যা আজকাল খুব কমই বিদ্যমান। ইউএসবি 3 এর আগমনের সাথে আপনার কাজ করার জন্য ভি-ইউএসবি ডিভাইসগুলি তৈরি করার জন্য মাথাব্যথার চেয়েও বেশি কিছু থাকবে। আমার মাল্টিমিডিয়া সেন্টার পরিবর্তন করার পরে, আমি অনেক স্থায়িত্ব সমস্যা পেয়েছি এবং যদিও রিসিভার কাজ করে, কিছুক্ষণ পরে এটি কাজ করা বন্ধ করে দেয়। আমি এটা ঠিক করার চেষ্টা করেও ব্যর্থ হয়েছি। আমি একটি atmega328p সংস্করণও তৈরি করেছি কিন্তু এটির একই সমস্যা ছিল বোর্ডকে পুনরায় সেট করার জন্য একটি ওয়াচডগ টাইমার ব্যবহার করেও সাহায্য করেনি তাই আমি v-usb ছেড়ে দিই।

নিজেকে একটি অনুগ্রহ করুন এবং এই নির্দেশের সাথে এগিয়ে যাবেন না যদি না এটি শিক্ষাগত উদ্দেশ্যে হয়। আমি পরিবর্তে একটি চিপ মডিউল ATmega 32U4 কেনার সুপারিশ করছি যা ইতিমধ্যে ইউএসবি ইন্টারফেসকে সংহত করেছে এবং এই নির্দেশিকা অনুসরণ করুন:

www.sparkfun.com/tutorials/337

তারপর একটি IR সেন্সর TSOP31238 নিক্ষেপ করুন এবং আপনি যেতে ভাল।

হ্যালো নির্মাতারা! এটি একটি Attiny85 মাইক্রোকন্ট্রোলার ব্যবহার করে একটি কার্যকরী ইউএসবি আইআর রিসিভার তৈরির জন্য একটি নির্দেশনা। এই নির্দেশাবলী অনুসরণ করে আপনি একটি প্রোগ্রামযোগ্য ইউএসবি আইআর রিসিভার তৈরি করতে পারেন যা কয়েক টাকার বিনিময়ে যেকোন আইআর রিমোটের সাথে কাজ করে।

প্রথমত, এই নির্দেশযোগ্য লোকদের কঠোর পরিশ্রম ছাড়া বিদ্যমান থাকবে না যে আমি এখানে যে লাইব্রেরিগুলি ব্যবহার করি তা তৈরি করে:

  • ডেভিড এ মেলিস তার অ্যাটিনি কোর https://github.com/damellis/attiny এর জন্য
  • রাউডি ডগ সফটওয়্যার তাদের লাইব্রেরির জন্য TinyTuner
  • তাদের ক্ষুদ্র বুটলোডারের জন্য রাউডি ডগ সফটওয়্যার
  • র্যানসিডব্যাকন (https://rancidbacon.com/) তার আরডুইনো বন্দরের ভি-ইউএসবি লাইব্রেরির জন্য (https://code.google.com/archive/p/vusb-for-arduino/downloads)
  • https://www.instructables.com/id/Attiny-IR-librar… https://www.instructables.com/id/Attiny-IR- এ কোডের নির্দেশে পাওয়া ক্ষুদ্র কোরগুলির জন্য তার আইআর লাইব্রেরির জন্য seejaydee -লিব্রার …

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

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

তথ্যের প্রধান উৎস যা আমি অনুসরণ করেছি:

  • https://nathan.chantrell.net/20121014/tinypcremot…
  • https://forum.arduino.cc/index.php?PHPSESSID=ap4jg…
  • https://blog.petrockblock.com/2012/05/19/usb-keybo…
  • https://learn.adafruit.com/using-an-infrared-libr…
  • https://codeandlife.com/2012/03/03/diy-usb-passwor…
  • https://codeandlife.com/2012/02/22/v-usb-with-atti…
  • https://www.instructables.com/id/Attiny-IR-librar…

ধাপ 1: কিছু বিবেচনা

  • আমি একটি AVR ISP প্রোগ্রামারের মালিক নই এবং আমি সত্যিই একটি কিনতে পছন্দ করি না তাই আমি attiny85 প্রোগ্রাম করার জন্য একটি Arduino ব্যবহার করেছি
  • আমি জিএনইউ/লিনাক্স ছাড়া অন্য কোন ওএস সম্পর্কে চিন্তা করি না তাই আমি জানি না এটি অন্যথায় কাজ করবে কিনা।
  • অন্যান্য আইআর লাইব্রেরি আছে কিন্তু আমি তাদের আরডুইনো দিয়েও কাজ করতে পারিনি। বিবেচনা করুন যে আমি আইআর লাইব্রেরি সম্পর্কে সীমিত জ্ঞান দিয়ে শুরু করেছি। ন্যায্য পরিমাণ সমস্যা মোকাবেলার অভিজ্ঞতা অর্জনের পর হয়তো আমি এখন তাদের কাজ করতে পারব। যাই হোক, সিজাইডি যে লাইব্রেরি দিয়েছিল তা খুঁজে বের করার আগে আমি হারিয়ে গিয়েছিলাম এবং মরিয়া হয়েছি এবং আমি তখন থেকেই এটি ব্যবহার করেছি (অনেক ধন্যবাদ মানুষ!)।
  • অন্যান্য হার্ডওয়্যার কনফিগারেশন আছে, কিন্তু আমি শুধুমাত্র একটি ব্যবহার করেছি যা 5V ব্যবহার করে অ্যাটিনি 85 এবং দুটি 3.6V 0.5W জেনার ডায়োডকে ডাটা লাইনের ভোল্টেজ ক্ল্যাম্প করার জন্য, এটি বাক্সের বাইরে কাজ করে তাই আমি গণ্ডগোল করিনি অন্যান্য কনফিগারেশন
  • আপনি একটি 16Mhz স্ফটিক ব্যবহার করতে পারেন অথবা আপনি আপনার attiny85 এর অভ্যন্তরীণ ঘড়িটি ক্যালিব্রেট করতে tinytuner লাইব্রেরি ব্যবহার করতে পারেন। আমি দৃ strongly়ভাবে স্ফটিক ব্যবহারের পরামর্শ দিচ্ছি, এটি অনেক বেশি স্থিতিশীল এবং সম্ভবত আপনাকে অনেক মাথাব্যথা থেকে রক্ষা করবে।
  • আমি এখানে attiny85 এর জন্য দুটি ভিন্ন বুটলোডার ব্যবহার করছি:

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

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

পদক্ষেপ 2: হার্ডওয়্যার দিয়ে শুরু করা যাক

হার্ডওয়্যার দিয়ে শুরু করা যাক
হার্ডওয়্যার দিয়ে শুরু করা যাক
হার্ডওয়্যার দিয়ে শুরু করা যাক
হার্ডওয়্যার দিয়ে শুরু করা যাক
হার্ডওয়্যার দিয়ে শুরু করা যাক
হার্ডওয়্যার দিয়ে শুরু করা যাক

আপনার প্রয়োজনীয় সরঞ্জামগুলি:

  • একটি arduino সামঞ্জস্যপূর্ণ বোর্ড
  • আপনার দূরবর্তী কীগুলি ডিকোড করার জন্য ইউএসবি অ্যাডাপ্টারের একটি সিরিয়াল (শুধু একটি FT232RL ব্যবহার করুন)
  • GNU/Linux ইনস্টল করা এবং arduino IDE সঠিকভাবে কনফিগার করা একটি পিসি, আমি arduino IDE 1.8.0 ব্যবহার করছি
  • আপনার ডিভাইসটি পরীক্ষা করার জন্য একটি আইআর রিমোট (আরডুইনো স্টার্টার কিটে পাওয়া যায় এমন একটি ভয়াবহ কাজ করবে)
  • আপনার বোর্ড ডিবাগ করার জন্য একটি মাল্টিমিটার (আমি আশা করি আপনার এটির প্রয়োজন হবে না, সৌভাগ্য!)

উপকরণ তালিকা:

  • 1 attiny85
  • 2 68R প্রতিরোধক
  • 1 1.5 কে প্রতিরোধক
  • 1 4.7K প্রতিরোধক
  • 1 16 মেগাহার্টজ স্ফটিক
  • 1 22pF ক্যাপাসিটর
  • 1 0.1uF ক্যাপাসিটর
  • 1 10uF ক্যাপাসিটর
  • 2 3.6V 0.5W জেনার ডায়োড
  • 1 ইউএসবি টাইপ একটি পুরুষ সংযোগকারী
  • 1 টি স্ট্রিপ পিন 6 টি পিন সহ প্রোগ্রাম এবং ডিবাগ করুন।
  • 1 IR সেন্সর TSOP31238
  • আপনাকে জাগিয়ে রাখার জন্য প্রচুর কফি

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

Attiny85 কে পিসিতে সংযুক্ত করতে, চূড়ান্ত নকশাটি একটি USB টাইপ A সংযোগকারী ব্যবহার করে যা বোর্ডে সোল্ডার করা হয়, কিন্তু প্রোটোটাইপের জন্য আপনাকে একটি USB তারের তৈরি করতে হবে যা আপনি একটি রুটিবোর্ডের সাথে সংযুক্ত করতে পারেন:

পারফোর্ড 4 পিনের একটি ছোট টুকরায় সোল্ডার করুন, তারপরে একটি পুরানো ইউএসবি কেবল কেটে নিন এবং ইউএসবি কেবলটির ভিতরে 4 টি তারের পিনগুলি সোল্ডার করুন:

  • লাল হল VCC (5V)
  • কালো হল GND
  • সাদা হল D-
  • সবুজ হল ডি+

গরম আঠা দিয়ে সবকিছু একসাথে রাখুন।

এখন আমাদের ISP প্রোগ্রামার (Arduino), USB থেকে সিরিয়াল অ্যাডাপ্টার (FT232RL) এবং IR সেন্সরকে attiny85 এর সাথে সংযুক্ত করতে হবে।

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

আইএসপি প্রোগ্রামার (আরডুইনো): এটি আমাদের বুটলোডার এবং লোড স্কেচ বার্ন করতে দেয়

  • arduino এ attiny85 PB0 (pin5) থেকে pin11 (MOSI)
  • arduino এ attiny85 PB1 (pin6) থেকে pin12 (MISO)
  • arduino এ attiny85 PB2 (pin7) থেকে pin13 (SCK)
  • attiny85 RESET (pin1) with pullup (4.6k to VCC) to pin10 to arduino
  • arduino এ attiny85 VCC থেকে 5V
  • arduino এ attiny85 GND থেকে GND

ইউএসবি থেকে সিরিয়াল অ্যাডাপ্টার (FT232RL): এটি আমাদের সিরিয়াল পোর্ট চেক করতে দেয়

  • attiny85 PB0 (pin5 RX) থেকে FX232RL তে TX
  • attiny85 PB2 (pin7 TX) থেকে FX232RL এ RX
  • attiny85 GND (pin4) থেকে FT232RL তে GND
  • যেহেতু attiny85 ইতিমধ্যেই arduino দ্বারা চালিত, আপনাকে FT232RL- এ 5v সংযোগ করতে হবে না, অন্যথায় সংযোগ করুন: attiny85 VCC (pin8) FT232RL- এ 5V

ইউএসবি থেকে সিরিয়াল অ্যাডাপ্টার (FT232RL) শুধুমাত্র ঘড়ি ক্রমাঙ্কনের জন্য (শুধুমাত্র বুটলোডারের জন্য "ATtiny85 @ 8MHz (অভ্যন্তরীণ অসিলেটর; বিওডি অক্ষম)")

  • FT232RL attiny85 এ PB4 (pin3 RX) থেকে TX
  • FT232RL attiny85 এ PB3 (pin2 TX) থেকে RX
  • FT232RL- এ GND (pin4) থেকে GND
  • যেহেতু attiny85 ইতিমধ্যেই arduino দ্বারা চালিত, আপনাকে FT232RL- এ 5v সংযোগ করতে হবে না, অন্যথায় সংযোগ করুন: attiny85 VCC (pin8) FT232RL- এ 5V

যদি আপনি একটি 16Mhz স্ফটিক ব্যবহার করেন, এটি Attiny85 পিন PB3 (pin2) এবং PB4 (pin3) এর সাথে সংযুক্ত করুন এবং প্রতিটি পিনকে GND এর সাথে 22pF ক্যাপের মাধ্যমে সংযুক্ত করুন।

একটি 0.1uF এবং 10uF ক্যাপাসিটার দিয়ে Attiny85 VCC ফিল্টার করে GND এর সমান্তরালে সংযুক্ত করুন

আইআর সেন্সর আউটপুট পিনকে attiny85 PB1 (pin6) এর সাথে সংযুক্ত করুন, এটিকে শক্তিশালী করুন।

ইউএসবি ইন্টারফেস তৈরি করুন এবং সংযুক্ত করুন:

  • GND (কালো তার): এটি সাধারণ GND এর সাথে সংযুক্ত করুন (সমস্ত স্থল একসাথে সংযুক্ত)
  • D- (সাদা তার) একটি 68R রোধকের মাধ্যমে attiny85 PB0 (pin5) এর সাথে সংযুক্ত, এটিকে 3.6V 0.5W জেনারের মাধ্যমে মাটিতে সংযুক্ত করুন এবং 1.5K রোধক দিয়ে VCC পর্যন্ত টানুন
  • ডি+ (সবুজ তারের) একটি 68R প্রতিরোধকের মাধ্যমে PB2 এর সাথে সংযুক্ত, এটি একটি 3.6V 0.5W জেনারের মাধ্যমে মাটিতে সংযুক্ত করুন
  • 5V, আপনি এটিকে সংযোগহীন রেখে দিতে পারেন যেহেতু এই পর্যায়ে Arduino দ্বারা সবকিছুই চালিত হয়, অন্যথায় এটিকে attiny85 VCC এর সাথে সংযুক্ত করুন

জেনার ডায়োডগুলি সংযুক্ত করা হয় যাতে অ্যানোডগুলি GND এর সাথে সংযুক্ত থাকে এবং ক্যাথোডগুলি D+ এবং D- এর ডাটা লাইনগুলির সাথে সংযুক্ত থাকে।

ধাপ 3: চূড়ান্ত নকশা

চূড়ান্ত নকশা
চূড়ান্ত নকশা
চূড়ান্ত নকশা
চূড়ান্ত নকশা
চূড়ান্ত নকশা
চূড়ান্ত নকশা

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

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

যাইহোক, ছবিগুলির চিহ্নগুলি খালি তামা নয়, তাদের একটি কদর্য রাসায়নিক দিয়ে চিকিত্সা করা হয়েছে যা তামার সামান্য টিন করে (এটি ক্যান্সারকে প্ররোচিত করে বলে সন্দেহ করা হয়, তাই এটি খুব যত্ন সহকারে ব্যবহার করুন, ল্যাটেক্স গ্লোব এবং একটি ডাস্ট মাস্ক): https://www.ebay.com/itm/1-pz-A2207- Preparato-chimico-agente-di-stagnatura-90g-TELSTORE/152106663870

আপনার লেআউট ডিজাইন করার জন্য উপরের স্কিম্যাটিক্স ব্যবহার করুন অথবা আপনি আপনার বোর্ড খোদাই করতে আমার পিসিবি পদচিহ্ন ব্যবহার করতে পারেন।

ধাপ 4: সফ্টওয়্যার নিয়ে কাজ করা

এই প্রকল্পের সার্কিটটি খুব সহজ, সফ্টওয়্যারটির পরিবর্তে একটি বড় প্রচেষ্টা প্রয়োজন।

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

আমাদের এখন কয়েকটি লাইব্রেরি ইনস্টল এবং কনফিগার করতে হবে:

  • আরডুইনো লাইব্রেরির জন্য ভি-ইউএসবি: এই লাইব্রেরিটি মাইক্রোকন্ট্রোলারকে পিসি দ্বারা একটি এইচআইডি ইউএসবি কীবোর্ড হিসাবে স্বীকৃতি দেয় এবং আমরা এটি পিসিতে কী স্ট্রোক পাঠাতে ব্যবহার করব। Attiny85 এর সাথে সামঞ্জস্যপূর্ণ হতে এই লাইব্রেরির কিছু পরিবর্তন প্রয়োজন
  • tinytuner লাইব্রেরি শুধুমাত্র যদি আপনি একটি 16Mhz স্ফটিক ব্যবহার করবেন না। মাইক্রোকন্ট্রোলারের অভ্যন্তরীণ ঘড়িটি ক্যালিব্রেট করার জন্য আপনার প্রয়োজন হবে। এই গ্রন্থাগারটি বাক্সের বাইরে কাজ করে।
  • অ্যাটিনি-আইআর-লাইব্রেরি আইআর সেন্সরের সাথে যোগাযোগ করতে। এই গ্রন্থাগারটি বাক্সের বাইরে কাজ করে।

আমাদের 2 টি বুটলোডারও দরকার:

  • কুকুর সফ্টওয়্যার সংস্করণ, সিরিয়াল ইন্টারফেস উপলব্ধ। এই বুটলোডারের attiny85 এর সাথে কাজ করার জন্য একটি ছোট্ট টুইক প্রয়োজন কারণ এটি millis () ফাংশনের জন্য টাইমার 1 ব্যবহার করে এবং IR লাইব্রেরির সাথে কাজ করবে না। আমাদের টাইমারকে টাইমার 0 এ পরিবর্তন করতে হবে।
  • মেলিস সংস্করণ, স্থিতিশীল বুটলোডার যা আমরা চূড়ান্ত পর্যায়ে ব্যবহার করব। এটি বাক্সের বাইরে কাজ করে।

ধাপ 5: ভি-ইউএসবি লাইব্রেরির ইনস্টলেশন এবং কনফিগারেশন

Https://code.google.com/archive/p/vusb-for-arduin… থেকে লাইব্রেরি ডাউনলোড করুন।

এখন আপনাকে ATtiny85 এর সাথে সামঞ্জস্যপূর্ণ হওয়ার জন্য কয়েকটি ফাইল সম্পাদনা করতে হবে (এটি arduino এর সাথে কাজ করার জন্য কনফিগার করা হয়েছে):

ক) usbconfig.h সম্পাদনা করুন:

"হার্ডওয়্যার কনফিগ" পরিবর্তনের অধীনে:

#সংজ্ঞায়িত করুন USB_CFG_IOPORTNAME Dto ## সংজ্ঞায়িত করুন USB_CFG_IOPORTNAME B

এবং

#USB_CFG_DMINUS_BIT 4 নির্ধারণ করুন#USB_CFG_DMINUS_BIT 0 সংজ্ঞায়িত করুন

"ptionচ্ছিক হার্ডওয়্যার কনফিগ" এর অধীনে পরিবর্তন:

#সংজ্ঞায়িত করুন USB_CFG_PULLUP_IOPORTNAME Dto ## সংজ্ঞায়িত করুন USB_CFG_PULLUP_IOPORTNAME B

একটি সম্পূর্ণ "বুট অনুকূল HID" স্পেসিফিকেশন তৈরি করতে (অন্যথায় কোন মাল্টিমিডিয়া কী কাজ করবে না), এছাড়াও পরিবর্তন করুন:

#সংজ্ঞায়িত করুন USB_CFG_INTERFACE_SUBCLASS 0 // Bootto#সংজ্ঞায়িত করুন USB_CFG_INTERFACE_SUBCLASS 0x01 // বুট

এবং

#সংজ্ঞায়িত করুন USB_CFG_INTERFACE_PROTOCOL 0 // কীবোর্ড#সংজ্ঞায়িত করতে USB_CFG_INTERFACE_PROTOCOL 0x01 // কীবোর্ড

Allyচ্ছিকভাবে আপনি নিম্নলিখিত সংজ্ঞায় প্রস্তুতকারক এবং ডিভাইসের নাম পরিবর্তন করতে পারেন:

#USB_CFG_VENDOR_NAME সংজ্ঞায়িত করুন

#USB_CFG_DEVICE_NAME সংজ্ঞায়িত করুন

খ) UsbKeyboard.h সম্পাদনা করুন:

পরিবর্তন:

PORTD = 0; // TODO: শুধুমাত্র USB পিনের জন্য? DDRD | = ~ USBMASK;

প্রতি

পোর্টবি = 0; // TODO: শুধুমাত্র USB পিনের জন্য? DDRB | = ~ USBMASK;

101 টিরও বেশি কীকোড পরিবর্তনের অনুমতি দিতে:

0x25, 0x65, // LOGICAL_MAXIMUM (101) থেকে: 0x25, 0xE7, // LOGICAL_MAXIMUM (231)

এবং

0x29, 0x65, // USAGE_MAXIMUM (কীবোর্ড অ্যাপ্লিকেশন) থেকে: 0x29, 0xE7, // USAGE_MAXIMUM (কীবোর্ড অ্যাপ্লিকেশন)

আপনাকে এই 3 টি ফাইল সম্পাদনা করতে হতে পারে:

usbdrv.husbdrv.cUsbKeyboard.h

এবং যখনই আপনি পরিবর্তনশীল প্রকারের নামের আগে PROGMEM "const" যোগ করতে দেখেন (উদা:: PROGMEN char usbHidReportDescriptor [35] ==> PROGMEM const char usbHidReportDescriptor [35])

এটি পরিষ্কার না হলে

যদি আপনি কেবল সংযুক্ত লাইব্রেরি ডাউনলোড করেন (আমি নিজেই এই সমস্ত পরিবর্তন করেছি) এবং আপনার স্কেচবুক লাইব্রেরি ফোল্ডারের ভিতরে এটি নিষ্কাশন করলে আপনি এই সমস্ত পরিবর্তন এড়াতে পারেন:

UsbKeyboard attiny85 এর জন্য কনফিগার করা হয়েছে

সম্পাদনা করুন: সম্প্রতি আমি আবিষ্কার করেছি যে আলেজান্দ্রো লেইভা (https://github.com/gloob) এই লাইব্রেরির যত্ন নেওয়া হয়েছে এবং এটিও ভাল কাজ করছে বলে মনে হচ্ছে। আপনি তার সংস্করণটি প্রয়োজনীয় পরিবর্তনগুলির সাথেও চেষ্টা করতে পারেন যা আমি এটির সাথে কাজ করার জন্য তৈরি করেছি, তাই আপনি যদি এটি পরীক্ষা করতে চান তবে এটি আপনার স্কেচবুক লাইব্রেরি ফোল্ডারের ভিতরে বের করুন।

UsbKeyboard attiny85 (Alejandro Leiva সংস্করণ) এর জন্য কনফিগার করা হয়েছে

ধাপ 6: Attiny-IR এবং Tinytuner গ্রন্থাগারগুলির ইনস্টলেশন

ক) Attiny-IR লাইব্রেরি:

drive.google.com/open?id=0B_w9z88wnDtFNHlq… থেকে এটি ডাউনলোড করুন তারপর আপনার স্কেচবুক লাইব্রেরি ফোল্ডারে আনজিপ করুন।

খ) Tinytuner লাইব্রেরি:

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

এখনো নিশ্চিত নন? ঠিক আছে, https://storage.googleapis.com/google-code-archive… থেকে লাইব্রেরি ডাউনলোড করুন তারপর আপনার স্কেচবুক লাইব্রেরি ফোল্ডারে আনজিপ করুন।

আমরা লাইব্রেরিগুলি সম্পন্ন করেছি, এখন আমরা বুটলোডারগুলি ইনস্টল করতে এগিয়ে যাই।

ধাপ 7: বুটলোডারগুলির ইনস্টলেশন এবং কনফিগারেশন

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

আমি জানি যে attiny85 সিরিয়াল ক্ষমতা দেওয়ার জন্য উপলব্ধ লাইব্রেরি আছে, কিন্তু তারপর আপনি সিরিয়াল বস্তু ব্যবহার করে যে লাইব্রেরি টুইক করতে হবে… আমি এই পদ্ধতি ভাল পছন্দ।

আসুন ইনস্টলেশন দিয়ে শুরু করি:

ক) মেলিস বুটলোডার:

শুধু Arduino IDE পছন্দগুলি খুলুন এবং অতিরিক্ত বোর্ড ম্যানেজার ইউআরএল যোগ করুন:

raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

তারপর Arduino IDE বোর্ড ম্যানেজার খুলুন এবং অ্যাটিনির জন্য অনুসন্ধান করুন, মেলিস থেকে বোর্ডগুলি ইনস্টল করুন এখন আপনার Arduino ID ATTiny25/45/85 এবং ATtiny24/44/84 বোর্ড দেখতে হবে।

খ) রাউডি ডগ সফটওয়্যার ক্ষুদ্র বুটলোডার:

storage.googleapis.com/google-code-archive… থেকে বুটলোডার ডাউনলোড করুন

ফাইলটি আনজিপ করুন এবং আপনার স্কেচবুক/হার্ডওয়্যারের ভিতরে ছোট্ট ফোল্ডারটি অনুলিপি করুন (যদি এটি এখনও না থাকে তবে এই ফোল্ডারটি তৈরি করুন)। তারপর স্কেচবুক/হার্ডওয়্যার/ক্ষুদ্র/এভিআর/এবং ফোল্ডারে যান:

1) ফাইল সম্ভাব্য বোর্ডস। Txt ফাইল কপি করুন

2) ফাইল platform.txt সম্পাদনা করুন এবং কিছু পরিবর্তন করুন:

ভেরিয়েবল কম্পাইলারপথটি অসম্পূর্ণ করুন এবং এটি আপনার arduino ইনস্টলেশন ফোল্ডারের ভিতরে হার্ডওয়্যার/সরঞ্জাম/avr/bin/ফোল্ডারের দিকে নির্দেশ করে ছেড়ে দিন:

compiler.path = {PATH_TO_YOUR_ARDUINO_FOLDER}/হার্ডওয়্যার/সরঞ্জাম/avr/bin/

পরিবর্তন করুন

তারপরে সমস্ত কিছু তার জায়গায় আছে তা নিশ্চিত করে নিম্নলিখিত ভেরিয়েবলগুলি পরিবর্তন করুন (সেই ফাইলগুলি অবশ্যই থাকতে হবে, অন্যথায় ভেরিয়েবলগুলিকে সঠিক পথে নির্দেশ করুন):

tools.avrdude.cmd.path = {runtime.ide.path}/হার্ডওয়্যার/সরঞ্জাম/avr/bin/avrdude

tools.avrdude.config.path = {runtime.ide.path} /hardware/tools/avr/etc/avrdude.conf

tools.avrdude.cmd.path.linux = {runtime.ide.path}/হার্ডওয়্যার/সরঞ্জাম/avr/bin/avrdude

tools.avrdude.config.path.linux = {runtime.ide.path} /hardware/tools/avr/etc/avrdude.conf

3) ফাইলটি cores/tiny/core_build_options.h সম্পাদনা করুন এবং পরিবর্তন করুন:

#TIMER_TO_USE_FOR_MILLIS 1 নির্ধারণ করুন#TIMER_TO_USE_FOR_MILLIS 0 নির্ধারণ করুন

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

এই বুটলোডারটি ন্যূনতম, তবে সিরিয়াল অবজেক্ট সাপোর্ট অন্তর্ভুক্ত করেছে:

Attiny85 PB2 (pin7) হল TX এবং PB0 (pin5) হল RX

আপনি ISP প্রোগ্রামার (arduino) এবং একই সময়ে সংযুক্ত ইউএসবি অ্যাডাপ্টারের সাথে একটি কনফিগারেশন থাকতে পারেন যাতে আপনাকে খুব বেশি তারের পরিবর্তন করতে হবে না:

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

ধাপ 8: বুটলোডার পোড়ানো এবং স্কেচ আপলোড করা

আমি Arduino IDE পছন্দগুলির অধীনে ভার্বোজ আউটপুট সক্রিয় করার জন্য দৃ strongly়ভাবে পরামর্শ দিচ্ছি যাতে আপনি কোনও শেষ সমস্যাটি বুঝতে পারেন।

Attiny85 এ একটি বুটলোডার বার্ন করার জন্য আপনাকে ISP উদাহরণটি Arduino এ আপলোড করতে হবে এবং তারপর প্রোগ্রামার Arduino কে ISP হিসেবে নির্বাচন করতে হবে।

এখন আরডুইনোতে রিসেট এবং গ্রাউন্ড পিনের মধ্যে একটি 10uF ক্যাপাসিটর রাখুন (এটি জ্বলন্ত প্রক্রিয়ার জন্য প্রয়োজন হয় না, তবে এটি অ্যাটিনি 85 এ স্কেচ আপলোড করতে হয়)।

এখন arduino বুটলোডার এবং লোড স্কেচ বার্ন করার জন্য প্রস্তুত। আপনি শুধু আপনার attiny সঙ্গে সামঞ্জস্যপূর্ণ সঠিক বোর্ড নির্বাচন করুন এবং এটি বার্ন করতে হবে।

Attiny85 এ একটি স্কেচ লোড করতে, এটিকে arduino IDE তে লোড করুন এবং "প্রোগ্রামার ব্যবহার করে আপলোড করুন" এ ক্লিক করুন।

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

ধাপ 9: Attiny85 অভ্যন্তরীণ ঘড়ি ক্যালিব্রেট করুন (যদি আপনি একটি ক্রিস্টাল ব্যবহার করেন তবে এটি এড়িয়ে যান)

যদি আপনি 16 মেগাহার্টজ ক্রিস্টাল ব্যবহার না করার সিদ্ধান্ত নেন তবে আপনার অ্যাটিনি 85 ঘড়িটি ক্যালিব্রেট করতে হবে, তাই আমাদের একটি সিরিয়াল ইন্টারফেস সহ একটি বুটলোডারের প্রয়োজন হবে এবং আমরা সঠিক ক্রমাঙ্কনের জন্য টিনটিউনার লাইব্রেরি ব্যবহার করব।

পরবর্তী ধাপগুলি অনুসরণ করুন

  • আইএসপি প্রোগ্রামার হিসাবে Arduino সরঞ্জামগুলির অধীনে নির্বাচন করুন
  • বোর্ড নির্বাচন করুন "ATtiny85 @ 8MHz (অভ্যন্তরীণ অসিলেটর; বিওডি অক্ষম)"
  • আমি অনুমান করি যে সংযোগের আগে বর্ণিত হিসাবে আপনার ISP সংযোগ প্রস্তুত আছে অন্যথায় সংযোগগুলি করুন
  • বুটলোডার বার্ন করুন
  • এই বুটলোডার সিরিয়াল ইন্টারফেসের জন্য বিভিন্ন পিন কনফিগার করেছে, এই কনফিগারেশনটি শুধুমাত্র বর্তমান বুটলোডারের জন্য ব্যবহার করুন

- FT232RL attiny85- এ PB4 (pin3 RX) থেকে TX - FT232RL attiny85- এ PB3 (pin2 TX) থেকে RX- FND232RL এ GND (pin4) থেকে GND FT232RL এ 5v, অন্যথায় সংযোগ করুন: attiny85 VCC (pin8) FT232RL এ 5V

  • attiny85 এ tinytuner উদাহরণ আপলোড করুন
  • সিরিয়াল যোগাযোগ পর্যবেক্ষণ করতে স্ক্রিন প্রোগ্রাম খুলুন: স্ক্রিন /দেব /টিটিইউএসবি 0 9600
  • রিসেট পিন (পিন 1) কে জিএনডি (মাত্র একটি মুহূর্ত) এর সাথে সংযুক্ত করে attiny85 রিসেট করুন, একটি স্বাগত বার্তা স্ক্রিন উইন্ডোতে প্রদর্শিত হওয়া উচিত
  • ক্রমাঙ্কন শেষ না হওয়া পর্যন্ত একক 'x' অক্ষর (কোন ক্যারেজ-রিটার্ন; কোন লাইন-ফিড) পাঠানো চালিয়ে যান
  • কোথাও ক্রমাঙ্কনের মান টীক করুন (OSCCAL = 0x)। এটি সেই মান যা আপনাকে চূড়ান্ত স্কেচগুলিতে ঘোষণা করতে হবে

ধাপ 10: আপনার দূরবর্তী বোতামগুলি ডিকোড করুন

এখন আমাদের রিমোট বোতামগুলি ডিকোড করার এবং পিসিতে নির্দিষ্ট কী স্ট্রোকের জন্য তাদের বরাদ্দ করার সময়, পরবর্তী পদক্ষেপগুলি অনুসরণ করুন:

  • বোর্ডটি নির্বাচন করুন "ATtiny85 @ 16MHz (অভ্যন্তরীণ PLL; 4.3V BOD)"
  • স্কেচ লোড করুন:
  • যদি আপনি একটি স্ফটিক ব্যবহার না করেন, তাহলে OSCCAL ভেরিয়েবল ধারণকারী সারিটিকে অসম্পূর্ণ করুন এবং ঘড়ির ক্রমাঙ্কন করার সময় আপনি যে মানটি পেয়েছেন তা নির্ধারণ করুন
  • আমি অনুমান করি যে সেন্সরটি পূর্বে বর্ণিত হিসাবে সংযুক্ত, অন্যথায় এটি সংযুক্ত করুন
  • আমি মনে করি যে FT232RL সিরিয়ালটি ইউএসবি অ্যাডাপ্টারের সাথে সংযুক্ত, অন্যথায় এটি সংযুক্ত করুন
  • রিসেট পিন (পিন 1) কে জিএনডিতে সংযুক্ত করে অ্যাটিনি 85 রিসেট করুন (মাত্র একটি মুহূর্ত)
  • আপনার রিমোটের বোতাম বারবার আঘাত করুন এবং স্ক্রিন উইন্ডোটি চেকআউট করুন, আপনাকে প্রতিটি রেকর্ডের জন্য শেষ সংখ্যাটি টীকা দিতে হবে, প্রতিটি বোতাম 2 টি ভিন্ন সংখ্যা তৈরি করতে পারে

উদাহরণ:

D44 3396 প্রাপ্ত 544 1348

আপনি যে বোতামে আঘাত করেছেন তার সাথে 3396 এবং 1348 টীকা লিখুন, তারপরে আপনাকে অবশ্যই সিদ্ধান্ত নিতে হবে যে আপনি সেই বোতামটি দিয়ে কী করতে চান। উদাহরণস্বরূপ আমি সেই বোতামটি মাল্টিমিডিয়া কীকোড "ভলিউম আপ" পাঠাতে চাই, তারপর আমাকে সেই কীকোডের আইডি খুঁজে বের করতে হবে। এটি করার জন্য, পিডিএফ ডাউনলোড করুন:

"কীবোর্ড/কিপ্যাড পৃষ্ঠা" পৃষ্ঠা 53 বিভাগটি দেখুন এবং আপনার দূরবর্তী বোতামগুলি কীবোর্ড কোডগুলিতে আবদ্ধ করতে কলাম ব্যবহার আইডি (ডিসেম্বর) এর সংখ্যাগুলি ব্যবহার করুন। আমাদের উদাহরণে আমরা দেখতে পাচ্ছি যে "ভলিউম আপ" এর কীকোড হল: 128।

UsbKeyboard.h ফাইলটি UsbKeyboard.h এর ভিতরে UsbKeyboard লাইব্রেরির ভিতরে সম্পাদনা করুন যা আমরা আগে ইনস্টল করেছি এবং বিদ্যমান সংজ্ঞায় যোগ করুন যদি এটি ইতিমধ্যে না থাকে:

#KEY_VOL_UP 128 নির্ধারণ করুন

যখন আমরা আমাদের সমস্ত রিমোট/গুলি বোতামগুলি সম্পন্ন করি এবং UsbKeyboard.h ফাইলের সমস্ত সংজ্ঞা প্রস্তুত হয় তখন আমরা শেষ ধাপে যেতে পারি।

ধাপ 11: চূড়ান্ত স্কেচ লোড হচ্ছে এবং সেরা জন্য আশা

চূড়ান্ত স্কেচ লোড হচ্ছে এবং সেরা জন্য আশা!
চূড়ান্ত স্কেচ লোড হচ্ছে এবং সেরা জন্য আশা!
চূড়ান্ত স্কেচ লোড হচ্ছে এবং সেরা জন্য আশা!
চূড়ান্ত স্কেচ লোড হচ্ছে এবং সেরা জন্য আশা!

আমাদের এখন সমস্ত রিমোট বোতাম ডিকোড করা আছে, UsbKeyboard.h ফাইলটি আমাদের কীকোড দিয়ে ভরা, তাই এখন আমরা arduino IDE- তে নির্দিষ্ট স্কেচ লোড করতে পারি:

github.com/venumz/ATtiny85-USB-IR-receiver…

এই ফাইলটি সঠিক ফাইল যা আমি আমার রিসিভারের জন্য ব্যবহার করছি, এবং এটি 2 টি ভিন্ন রিমোটের জন্য কাজ করছে, তাই স্পষ্টভাবে আপনার রিমোট/গুলি দিয়ে কাজ করার জন্য আপনাকে এটি আপডেট করতে হবে।

যদি আপনি একটি স্ফটিক ব্যবহার না করেন, তাহলে OSCCAL ভেরিয়েবল ধারণকারী সারিটিকে অসম্পূর্ণ করুন এবং ঘড়ির ক্রমাঙ্কন করার সময় আপনি যে মানটি পেয়েছেন তা নির্ধারণ করুন

লক্ষ্য করুন যে লুপ ফাংশনে এই মত অনেক বিবৃতি আছে:

if (results.value == 3405 || results.value == 1357) {// তীর উপরে

যদি (lastStroke! = results.value) UsbKeyboard.sendKeyStroke (KEY_ARROW_UP);

}

আপনাকে অবশ্যই আপনার নিজস্ব বিবৃতি তৈরি করতে হবে, আপনার রিমোটের প্রতি বোতামে একটি। "If" অবস্থায় আপনাকে অবশ্যই ফলাফল দিতে হবে।আপনার রিমোট ডিকোড করার সময় যে মানগুলি পেয়েছেন এবং UsbKeyboard.sendKeyStroke পদ্ধতির যুক্তি হিসাবে আপনাকে অবশ্যই UsbKeyboard.h ফাইলে ইতিমধ্যে সংজ্ঞায়িত কীকোডগুলির মধ্যে একটি রাখতে হবে।

শর্ত "যদি (lastStroke! = Results.value)" প্রয়োজন হয় কারণ কিছু রিমোট একই কোড প্রতি হিট দুবার পাঠায় এবং এটি দ্বিতীয় আঘাত রোধ করে। আমি পুরোপুরি নিশ্চিত নই এবং এটি আপনার রিমোট এ প্রোগ্রাম করা আইআর প্রোটোকলের উপর নির্ভর করতে পারে (আমি আসলে আইআর প্রোটোকলের বিশেষজ্ঞ নই) কিন্তু আমার নিজের রিমোটের সাথে আমার অভিজ্ঞতা অনুযায়ী, প্রতিটি বোতাম 2 টি ভিন্ন কোড তৈরি করতে পারে এবং যখন আপনি বোতাম টিপুন এবং ধরে রাখুন, এটি একই কোড পাঠায়, কিন্তু যদি আপনি আবার বোতামটি চাপেন তবে এটি অন্যটি পাঠায়। তাই মনে হচ্ছে যে কোডগুলি একটি বিকল্প উপায়ে পাঠানো হয়েছে, আমি মনে করি এটি একটি স্ট্যান্ডার্ড মোড যা আপনি সত্যিই কতবার বোতামটি আঘাত করেছেন তা জানতে।

ঠিক আছে, আমরা প্রায় সম্পন্ন করেছি, শুধু চূড়ান্ত স্কেচ আপলোড করুন, এটি পিসিতে সংযুক্ত করুন এবং দেখুন কিভাবে এটি চলে।

এই ধাপের জন্য, যদি আপনি arduino এবং usb উভয়কে সিরিয়াল অ্যাডাপ্টারে আনপ্লাগ করেন এবং তবেই, আপনার পিসি পোর্টে USB প্লাগ করুন (যদি কিছু ভুল হয়ে যায় তবে আপনার সার্কিটটি ডিবাগ করা সহজ হবে)।

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

এই সব লোকেরা, যদি আপনি এই নির্দেশযোগ্য কোন ত্রুটি লক্ষ্য করেন এবং আপনার নতুন আইআর ইউএসবি রিসিভার উপভোগ করেন তবে আমাকে জানান!

প্রস্তাবিত: