সুচিপত্র:

RGB তাপমাত্রা নির্দেশক (XinaBox সহ): 5 টি ধাপ (ছবি সহ)
RGB তাপমাত্রা নির্দেশক (XinaBox সহ): 5 টি ধাপ (ছবি সহ)

ভিডিও: RGB তাপমাত্রা নির্দেশক (XinaBox সহ): 5 টি ধাপ (ছবি সহ)

ভিডিও: RGB তাপমাত্রা নির্দেশক (XinaBox সহ): 5 টি ধাপ (ছবি সহ)
ভিডিও: RGB Лампа Hekka Yeelight YLTD003 - Cветодиодная RGB лампа для монитора / Razer Chroma 2024, নভেম্বর
Anonim
RGB তাপমাত্রা নির্দেশক (XinaBox সহ)
RGB তাপমাত্রা নির্দেশক (XinaBox সহ)

এটি আনুষ্ঠানিকভাবে আমার প্রথম নির্দেশযোগ্য নিবন্ধ, তাই আমি স্বীকার করতে যাচ্ছি যে আমি এই সুযোগটি ব্যবহার করার জন্য এখনই এটি ব্যবহার করছি। প্ল্যাটফর্মটি কীভাবে কাজ করে, তার সম্পূর্ণ ব্যবহারকারীর অভিজ্ঞতার দিকটি অনুভব করুন। কিন্তু যখন আমি তা করছি, আমি ভেবেছিলাম আমি আজকে যে একটি সহজ প্রকল্প নিয়ে কাজ করছি সে সম্পর্কে শেয়ার করার সুযোগটিও ব্যবহার করতে পারি (XinaBox থেকে পণ্যগুলি ব্যবহার করে, যেভাবে, "X-in-a-" হিসাবে উচ্চারিত হয় বাক্স ")।

এই সহজ 5-ধাপের নির্দেশে, আমি নিম্নলিখিত বিষয়গুলি কভার করব:

  • প্রয়োজনীয় উপাদান
  • বিভিন্ন xChips একসাথে সংযুক্ত করা।
  • Arduino IDE পরিবেশ স্থাপন করা হচ্ছে।
  • কোড লেখা
  • এবং অবশেষে, ধারণাটি পরীক্ষা করে দেখুন

এই নির্দেশনায় আমি কি ভাগ করব না:

  • যতটা আমি এই xChips এর প্রত্যেকটি কি করতে পারে এবং কিভাবে আপনি তাদের কিছু কার্যকারিতা সম্পাদন করতে ম্যানিপুলেট করতে পারেন তা ব্যাখ্যা করতে ডুবতে ভালোবাসি, এটি এই নির্দেশের লক্ষ্য হবে না। আমি অদূর ভবিষ্যতে অন্যান্য নির্দেশাবলী প্রকাশ করার পরিকল্পনা করছি যা XinaBox এর পণ্য ক্যাটালগের মাধ্যমে উপলব্ধ বিভিন্ন xChips এর মধ্যে প্রবেশ করবে।
  • আমি আরডুইনো কোডের মূল বিষয়গুলিতে যাব না কারণ আমি অনুমান করি যে আপনার কাছে ইতিমধ্যেই আরডুইনো আইডিই ব্যবহার করার পাশাপাশি সি/সি ++ প্রোগ্রামিংয়ের প্রাথমিক স্তরের বোঝার অভিজ্ঞতা রয়েছে।

ধাপ 1: আপনার যা প্রয়োজন…

তুমি কি চাও…
তুমি কি চাও…
তুমি কি চাও…
তুমি কি চাও…
তুমি কি চাও…
তুমি কি চাও…

টেকনিক্যালি, বেশিরভাগ মৌলিক পণ্য টিউটোরিয়াল সাধারণত "হ্যালো ওয়ার্ল্ড" দিয়ে শুরু হয়। উদাহরণ, অথবা এমনকি একটি "ব্লিঙ্ক" উদাহরণ, যা আপনি ইতিমধ্যেই খুব পরিচিত হতে পারেন যেহেতু আপনি কোন সময়ে Arduino বা Raspberry Pi এর সাথে কাজ করেছেন। কিন্তু আমি এটি দিয়ে শুরু করতে চাই না কারণ প্রত্যেকে ইতিমধ্যে একই কাজ করছে, যা এটি সত্যিই কিছুটা বিরক্তিকর করে তোলে।

পরিবর্তে, আমি একটি বাস্তব প্রকল্প ধারণা দিয়ে শুরু করতে চেয়েছিলাম। এমন কিছু যা যথেষ্ট সহজ এবং স্কেলেবল একটি আরো জটিল প্রকল্প ধারণা যদি আপনি চান।

এখানে আমাদের প্রয়োজনীয় জিনিসগুলি রয়েছে (নির্দেশযোগ্য এই বিভাগের জন্য প্রদত্ত ফটোগুলি দেখুন):

  1. IP02 - উন্নত ইউএসবি প্রোগ্রামিং ইন্টারফেস
  2. CC03 - আর্ম কর্টেক্স M0+ কোর
  3. SW02 - VOC এবং আবহাওয়া সেন্সর (যা BOSE দ্বারা BME680 সেন্সর ব্যবহার করে)
  4. xBUS সংযোগকারী - বিভিন্ন xChips (x2) এর মধ্যে I2C যোগাযোগ সক্ষম করতে
  5. xPDI সংযোগকারী - প্রোগ্রামিং এবং ডিবাগিং সক্ষম করতে (x1)

ধাপ 2: টুকরা সংযুক্ত করা

টুকরা সংযোগ
টুকরা সংযোগ
টুকরা সংযোগ
টুকরা সংযোগ
টুকরা সংযোগ
টুকরা সংযোগ

সমস্ত টুকরা একসাথে সংযুক্ত করার জন্য, আমরা প্রথমে xBUS সংযোগকারী এবং xPDI সংযোগকারী 1 টুকরা দিয়ে শুরু করব।

আমি যে ছবিগুলি প্রদান করেছি তা অনুসরণ করে, xChips এর দিকনির্দেশনা এবং সংযোগকারীগণ কোথায় যাবে তা লক্ষ্য করুন।

IP02 এবং CC03 xChips এর মধ্যে, সংযোগ পয়েন্টগুলি সনাক্ত করা বেশ সহজ।

CC03 এর জন্য, এটি হবে দক্ষিণ দিক। IP02 এর জন্য, এটি xChip এর উত্তর দিক হবে।

একবার এটি হয়ে গেলে, আমরা CC03 xChip এর পশ্চিম পাশে আরেকটি xBUS সংযোগকারী যুক্ত করব।

সম্পন্ন?

এখন, শুধু CC03 এর পশ্চিম পাশে SW02 xChip সংযুক্ত করুন।

আমাদের ল্যাপটপে IP02 Beforeোকানোর আগে, নিশ্চিত করুন যে দুটি বিকল্পের জন্য নিম্নলিখিত বিকল্পগুলি নির্বাচন করা হয়েছে:

  • B নির্বাচিত (বাম সুইচ)
  • DCE নির্বাচিত (ডান সুইচ)

অবশেষে, আমরা এখন আমাদের ল্যাপটপে IP02 সন্নিবেশ করানোর জন্য এবং Arduino IDE সেটআপ শুরু করতে প্রস্তুত।

ধাপ 3: Arduino IDE সেট আপ করা

Arduino IDE সেট আপ করা হচ্ছে
Arduino IDE সেট আপ করা হচ্ছে
Arduino IDE সেট আপ করা হচ্ছে
Arduino IDE সেট আপ করা হচ্ছে

আবার, এই নির্দেশে, আমি অনুমান করেছি যে আপনি ইতিমধ্যেই Arduino IDE পরিবেশের সাথে পরিচিত এবং সেইসাথে কিভাবে উন্নয়ন পরিবেশের মধ্যে লাইব্রেরিগুলি পরিচালনা করবেন।

এই প্রকল্পের উদ্দেশ্যে, আমাদের দুটি প্রধান লাইব্রেরির প্রয়োজন হবে:

  • arduino-CORE-https://github.com/xinabox/arduino-CORE
  • SW02 লাইব্রেরি -

আপনার ডেস্কটপের মধ্যে একটি অবস্থানে উভয় লাইব্রেরি ডাউনলোড করুন।

পরবর্তী, আপনার Arduino IDE চালু করুন।

প্রধান মেনু থেকে, "স্কেচ"> "লাইব্রেরি অন্তর্ভুক্ত করুন"> ". ZIP লাইব্রেরি যোগ করুন …" নির্বাচন করুন

উভয় লাইব্রেরি ফাইলের জন্য একই প্রক্রিয়া পুনরাবৃত্তি করুন।

পরবর্তী, আমাদের প্রাসঙ্গিক "বোর্ড" এবং "বন্দর" নির্বাচন করতে হবে। (লক্ষ্য করুন যে আমি একটি কমলা বাক্স ব্যবহার করে প্রয়োজনীয় নির্বাচনগুলিও হাইলাইট করেছি।

  • বোর্ড: "আরডুইনো/জেনুইনো জিরো (নেটিভ ইউএসবি পোর্ট)"
  • পোর্ট: "COMXX" (এটি COM পোর্ট অনুযায়ী হওয়া উচিত যা আপনার মেশিনে প্রতিফলিত হয়। খনি COM31 ব্যবহার করছে)

ঠিক আছে! আমি জানি আপনি কোডিং -এ ঝাঁপিয়ে পড়তে আগ্রহী হয়েছেন, তাই পরবর্তী ধাপে আমরা সেদিকেই মনোনিবেশ করব।

ধাপ 4: কোড করার সময়

এই বিভাগে, আমি সম্পন্ন প্রকল্প কোড থেকে কোড স্নিপেট ভাগ করে শুরু করব। এবং শেষে, আমি সম্পূর্ণ উৎস প্রকাশ করব, যাতে আপনার কোডটি আপনার Arduino IDE সোর্স ফাইলে অনুলিপি করে পেস্ট করা সহজ হয়।

হেডার ফাইল:

#অন্তর্ভুক্ত /* এটি প্রধান XinaBox কোর ফাংশনগুলির জন্য লাইব্রেরি। */

#অন্তর্ভুক্ত /* এটি VOC এবং আবহাওয়া সেন্সর xChip এর জন্য লাইব্রেরি। */

RGB LED সিগন্যাল নিয়ন্ত্রণের জন্য কিছু ধ্রুবক সংজ্ঞায়িত করা:

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

#সবুজ লেডপিন 8 নির্ধারণ করুন #ব্লু লেডপিন 9 নির্ধারণ করুন

পরবর্তী, RGB মানগুলি পাস করার জন্য আমাদের একটি ফাংশন প্রোটোটাইপ ঘোষণা করতে হবে।

অকার্যকর সেট RGBColor (int redValue, int greenValue, int blueValue);

SW02 বস্তু ঘোষণা:

xSW02 SW02;

সেটআপ () পদ্ধতি:

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

// I2C কমিউনিকেশন ওয়্যার শুরু করুন () শুরু করুন; // SW02 সেন্সর শুরু করুন SW02.begin (); // বিলম্ব স্বাভাবিক করতে সেন্সরের বিলম্ব (5000); }

এখন প্রধান লুপের জন্য ():

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

ভাসা tempC; }

পরবর্তী, সেন্সর চিপের সাথে আমাদের যোগাযোগ শুরু করার জন্য প্রোগ্রামে আমরা আগে তৈরি করা SW02 অবজেক্ট ব্যবহার করে ভোট দিতে হবে:

// SW02 sensorSW02.poll () থেকে ডেটা পড়ুন এবং গণনা করুন;

এখন, আমরা সেন্সরের তাপমাত্রা পড়ার জন্য পড়ছি।

tempC = SW02.getTempC ();

একবার আমাদের পড়া শেষ হয়ে গেলে, আমরা যা করতে যাচ্ছি তা হল শেষ …

// আপনি আপনার জলবায়ু অনুযায়ী তাপমাত্রা পরিসীমা সামঞ্জস্য করতে পারেন। আমার জন্য, আমি সিঙ্গাপুরে থাকি, // যা সারা বছর গ্রীষ্মমন্ডলীয়, এবং তাপমাত্রার পরিসীমা এখানে বেশ সংকীর্ণ হতে পারে। যদি (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); }

দ্রষ্টব্য: যদি আপনি একটি নির্দিষ্ট রঙের জন্য প্রাসঙ্গিক আরজিবি মানগুলি জানতে আগ্রহী হন, আমি আপনাকে "আরজিবি রঙের মান" এর জন্য একটি গুগল অনুসন্ধান করার পরামর্শ দিই। এখানে প্রচুর সাইট পাওয়া যায় যেখানে আপনি একটি রঙ নির্বাচক ব্যবহার করতে পারেন যা আপনি চান তা বেছে নিতে পারেন।

// যদি আপনি পছন্দ করেন, এবং এটি alচ্ছিক, আপনি সেন্সরের রিডিংগুলির জন্য ভোটের মধ্যে একটি বিলম্ব যোগ করতে পারেন।

বিলম্ব (DELAY_TIME);

আপনি অবশ্যই প্রোগ্রামের শুরুতে DELAY_TIME ধ্রুবক ঘোষণা করতে পারেন, এই ভাবে, আপনাকে শুধুমাত্র আপনার প্রোগ্রাম জুড়ে একাধিক স্থানে পরিবর্তে একবার এর মান পরিবর্তন করতে হবে। অবশেষে, আমাদের RGB LED নিয়ন্ত্রণ করার জন্য আমাদের ফাংশন প্রয়োজন:

অকার্যকর সেট RGBColor (int redValue, int greenValue, int blueValue) {

analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }

চূড়ান্ত প্রোগ্রাম

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

#অন্তর্ভুক্ত #ডিফাইন redLedPin A4 #ডিফাইন greenLedPin 8 #define blueLedPin 9 void setRGBColor (int redValue, int greenValue, int blueValue); const int DELAY_TIME = 1000; xSW02 SW02; অকার্যকর সেটআপ () {// I2C যোগাযোগ Wire.begin () শুরু করুন; // SW02 সেন্সর SW02.begin () শুরু করুন; // বিলম্ব স্বাভাবিক করতে সেন্সরের বিলম্ব (5000); } অকার্যকর লুপ () {// SW02 float tempC থেকে পড়া তথ্য সংরক্ষণ করার জন্য একটি পরিবর্তনশীল তৈরি করুন; tempC = 0; // SW02 সেন্সর SW02.poll () থেকে ডেটা পড়ুন এবং গণনা করুন; // SW02 কে তাপমাত্রা পরিমাপের জন্য অনুরোধ করুন এবং // temperatue পরিবর্তনশীল tempC = SW02.getTempC () এ সংরক্ষণ করুন; যদি (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); } // সেন্সরের মধ্যে ছোট দেরি পড়ার বিলম্ব (DELAY_TIME); } অকার্যকর setRGBColor (int redValue, int greenValue, int blueValue) {analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }

এখন যেহেতু আমাদের প্রোগ্রাম প্রস্তুত, আসুন xChip প্রোগ্রাম করি! আপলোড প্রক্রিয়াটি ঠিক একইভাবে যেভাবে আপনি আপনার Arduino বোর্ডে একটি প্রোগ্রাম আপলোড করবেন।

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

প্রস্তাবিত: