সুচিপত্র:

XinaBox ব্যবহার করে তারিখ, সময় এবং তাপমাত্রা প্রদর্শন: 8 টি ধাপ
XinaBox ব্যবহার করে তারিখ, সময় এবং তাপমাত্রা প্রদর্শন: 8 টি ধাপ

ভিডিও: XinaBox ব্যবহার করে তারিখ, সময় এবং তাপমাত্রা প্রদর্শন: 8 টি ধাপ

ভিডিও: XinaBox ব্যবহার করে তারিখ, সময় এবং তাপমাত্রা প্রদর্শন: 8 টি ধাপ
ভিডিও: Getting Start project with NodeMCU ESP12N/ ESP8266/WiFi module programming in Bangla 2024, নভেম্বর
Anonim
XinaBox ব্যবহার করে তারিখ, সময় এবং তাপমাত্রা প্রদর্শন
XinaBox ব্যবহার করে তারিখ, সময় এবং তাপমাত্রা প্রদর্শন

ESP8266 ভিত্তিক Xinabox xChips ব্যবহার করে সেলসিয়াস এবং ফারেনহাইটে তারিখ, সময় এবং তাপমাত্রা দেখানো কুল OLED ডিসপ্লে।

ধাপ 1: এই প্রকল্পে ব্যবহৃত জিনিসগুলি

হার্ডওয়্যার উপাদান

  • FTDI লিমিটেড থেকে FT232R এর উপর ভিত্তি করে XinaBox IP01 x 1 xChip USB প্রোগ্রামার
  • XinaBox CW01 x 1 xChip Wi-Fi কোর ESP8266 Wi-Fi মডিউলের উপর ভিত্তি করে
  • XinaBox SW01 x 1 xChip তাপমাত্রা, আর্দ্রতা এবং বায়ুমণ্ডলীয় চাপ সেন্সর Bosch থেকে BME280 এর উপর ভিত্তি করে।
  • XinaBox OD01 x 1 xChip 128x64 পিক্সেল OLED ডিসপ্লে
  • XinaBox PU01 x 1 xChip USB (Type A) পাওয়ার সাপ্লাই
  • XinaBox XC10 x 1 xChip বাস সংযোগকারী
  • 5V ইউএসবি পাওয়ার সাপ্লাই x 1

সফটওয়্যার অ্যাপ এবং অনলাইন সেবা

Arduino IDE

ধাপ 2: গল্প

ভূমিকা

I2C বাস প্রোটোকল ব্যবহার করে XinaBox xChips ব্যবহার করে তারিখ, UCT সময় এবং তাপমাত্রা প্রদর্শনের জন্য আমি এই প্রকল্পটি তৈরি করেছি। সময়টি একটি গুগল এনটিপি সার্ভার থেকে উদ্ধার করা হয়েছে। পরিবেষ্টিত তাপমাত্রা SW01 xChip ব্যবহার করে পরিমাপ করা হয়েছিল এবং সেলসিয়াস এবং ফারেনহাইটে OD01 xChip OLED ডিসপ্লেতে প্রদর্শিত হয়েছিল। নিচের ছবিটি OLED ডিসপ্লে দেখায়।

ছবি
ছবি

OLED তারিখ, সময় এবং তাপমাত্রা প্রদর্শন করে

ধাপ 3: প্রয়োজনীয় ফাইল ডাউনলোড করুন

এই প্রকল্পের জন্য আপনার নিম্নলিখিত লাইব্রেরি এবং সফ্টওয়্যার প্রয়োজন হবে।

  • Arduino IDE - ডেভেলপমেন্ট সফটওয়্যার যেখানে আপনি কোড করবেন
  • xSW01 - তাপমাত্রা সেন্সর লাইব্রেরি
  • xCore - XinaBox xChips এর জন্য কোর লাইব্রেরি
  • xOD01 - OLED ডিসপ্লে লাইব্রেরি।
  • টাইমজোন - লাইব্রেরি আপনার টাইমজোন চয়ন করতে
  • সময় - সময় ফাংশন ব্যবহার করতে
  • NTPClient - আপনাকে একটি সার্ভার থেকে সময় পেতে সক্ষম করে
  • বোর্ডটি ইনস্টল করার জন্য আপনাকে ESP8266 বোর্ডটি ডাউনলোড করতে হবে এবং তার সাথে থাকা নির্দেশাবলী অনুসরণ করতে হবে

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

ধাপ 4: একত্রিত করুন

আপনার প্রধান xChip যা প্রোগ্রামটি চালাবে এবং প্রক্রিয়া করবে সেটি হল CW01। এটি ESP8266 ওয়াইফাই মডিউলের উপর ভিত্তি করে এবং I2C বাস প্রোটোকল ব্যবহার করে। CW01 এ প্রোগ্রাম করার জন্য, আপনার একটি প্রোগ্রামিং xChip প্রয়োজন হবে। IP01 আমাদের কম্পিউটারে USB পোর্টের মাধ্যমে CW01 প্রোগ্রাম করার অনুমতি দেয় কেবল XC10 বাস সংযোগকারী ব্যবহার করে দুটি xChips একসাথে ক্লিক করে এবং USB পোর্টে erুকিয়ে। কোন তারের এবং কোন সোল্ডারিং প্রয়োজন। একটি বিষয় খেয়াল রাখা হল xChip শনাক্তকরণ নামের অভিমুখ। তাদের সকলের একই দিকে অভিমুখী হওয়া উচিত। আপনার এখন নিম্নলিখিত সেটআপ থাকা উচিত।

ছবি
ছবি

CW01 এবং IP01 একসাথে ক্লিক করুন এবং এটি আপনার কম্পিউটারের USB পোর্টে োকান

যদি আপনি xChips এর সাথে পরিচিত হন তবে আপনি XC10 বাস সংযোগকারীগুলিকে ব্যবহার করে প্রতিটি xChip একসাথে সংযুক্ত করতে পারেন যা আপনি আপনার প্রকল্পের জন্য ব্যবহার করতে চান এবং তারপর এটি USB পোর্টে োকান। আমরা SW01 তাপমাত্রা সেন্সর এবং OD01 OLED ডিসপ্লে ব্যবহার করব।

ছবি
ছবি

আপনি আপনার সমস্ত চিপ একসাথে সংযুক্ত করতে পারেন এবং তারপর এটি আপনার USB পোর্টে ুকিয়ে দিতে পারেন

ধাপ 5: প্রোগ্রাম

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

ছবি
ছবি

ওয়াইফাই বিবরণ এবং এনটিপি সময় সার্ভার

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

ছবি
ছবি

আপলোড করার পর আপনাকে নিচেরটি দেখতে হবে

ধাপ 6: এটি বহনযোগ্য করুন

আপনি এখন আপনার ইউএসবি পোর্ট থেকে ইউনিটটি সরিয়ে ফেলতে পারেন এবং প্রতিটি এক্সচিপকে কেবল আলাদা করে আলাদা করে আলাদা করতে পারেন। যেহেতু প্রোগ্রামিং সম্পূর্ণ, IP01 এর আর প্রয়োজন নেই। আপনি এখন আপনার প্রজেক্টকে যে কোন পদ্ধতিতে সংযুক্ত করতে পারেন যতক্ষণ পর্যন্ত শনাক্তকরণ নামগুলি একই দিকে পরিচালিত হয়। আমাদের ইউনিটকে পাওয়ার জন্য আমরা PU01 ব্যবহার করব। এটি আমাদের একটি সাধারণ পাওয়ার ব্যাংক বা যেকোন 5V USB পাওয়ার সাপ্লাই থেকে এটি পাওয়ার অনুমতি দেয়। আমি নিচে দেখানো হিসাবে আমার সংযুক্ত করেছি।

ছবি
ছবি

চূড়ান্ত সমাবেশ। xChips আপনার ইচ্ছামতো যেকোন উপায়ে সংযুক্ত হতে পারে।

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

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

ধাপ 8: কোড

Date_Time_Temp.ino Arduino কেবল তাদের নিজ নিজ ক্ষেত্রে আপনার ওয়াইফাই বিবরণ লিখুন এবং আপনার বোর্ডে আপলোড করুন।

#অন্তর্ভুক্ত // XinaBox xCHIPS এর জন্য মূল লাইব্রেরি অন্তর্ভুক্ত করুন

#অন্তর্ভুক্ত // অন্তর্ভুক্ত OLED ডিসপ্লে লাইব্রেরি #অন্তর্ভুক্ত // অন্তর্ভুক্ত করুন তাপমাত্রা সেন্সর লাইব্রেরি অন্তর্ভুক্ত করুন #অন্তর্ভুক্ত // ইএসপি 8266 ওয়াইফাই কার্যকারিতা অন্তর্ভুক্ত করুন #অন্তর্ভুক্ত // অন্তর্ভুক্ত সময় লাইব্রেরি #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত xSW01 SW01; // এনটিপি প্রপার্টি সংজ্ঞায়িত করুন #ডিফাইন ntpOffset 60 * 60 // সেকেন্ডে #ডিফাইন ntpInterval 60 * 1000 // মিলিসেকেন্ডে // ডবল কোটের মধ্যে একটি নির্ভরযোগ্য এনটিপি টাইম সার্ভার //োকান // এখানে আমি একটি গুগল এনটিপি টাইম সার্ভার ব্যবহার করেছি # ntpAddress "time1.google.com" // NTP UDP ক্লায়েন্ট WiFiUDP ntpUDP সেট করুন; NTPClient timeClient (ntpUDP, ntpAddress, ntpOffset, ntpInterval); // তাপমাত্রা পরিবর্তনশীল ভাসা tempC; // সেলসিয়াস ফ্লোট tempF; // ফারেনহাইট // আপনার ওয়াইফাই বিবরণ const char* wifi_ssid = "XinaBox"; // আপনার wifi ssid const char* wifi_pass = "RapidIoT"; // আপনার ওয়াইফাই পাসওয়ার্ড // তারিখ এবং সময় পরিবর্তনশীল স্ট্রিং তারিখ; স্ট্রিং ক্লকটাইম; // ভেরিয়েবল দিন এবং মাস const char * days = {"রবিবার", "সোমবার", "মঙ্গলবার", "বুধবার", "বৃহস্পতিবার", "শুক্রবার", "শনিবার"}; const char * months = {"Jan", "Feb", "Mar", "April", "May", "June", "July", "Aug", "Sep", "Oct", "Nov" "," ডিসেম্বর "}; const char * ampm = {"AM", "PM"}; অকার্যকর সেটআপ () {tempC = tempF = 0; // শূন্য timeClient.begin () তাপমাত্রা আরম্ভ করুন; // NTP UDP ক্লায়েন্ট শুরু করুন // সিরিয়াল যোগাযোগ শুরু করুন Serial.begin (115200); // শুরু i2c যোগাযোগ এবং সেট পিন Wire.begin (2, 14); // শুরু তাপমাত্রা সেন্সর SW01.begin (); // শুরু OLED প্রদর্শন OLED.begin (); // স্পষ্ট OLED প্রদর্শন OD01. clear (); // ওয়াইফাই সংযোগ স্থাপন করুন wifi_connect (); বিলম্ব (1000); } অকার্যকর লুপ () {// রান যদি ওয়াইফাই সংযোগ স্থাপন করা হয় যদি (WiFi.status () == WL_CONNECTED) {SW01.poll (); // পড়ার তাপমাত্রা tempC = SW01.getTempC (); // celcius tempF = SW01.getTempF () এ স্টোর টেম্প; // ফারেনহাইট তারিখে স্টোর টেম্প = ""; // পরিষ্কার তারিখ পরিবর্তনশীল clktime = ""; // ক্লিয়ার টাইম ভেরিয়েবল // এনটিপি ক্লায়েন্ট আপডেট করুন এবং ইউনিক্স ইউটিসি টাইমস্ট্যাম্প timeClient.update () পান; স্বাক্ষরবিহীন দীর্ঘ epochTime = timeClient.getEpochTime (); // প্রাপ্ত টাইম স্ট্যাম্পকে টাইম_টি অবজেক্ট টাইম_টি ইউটিসিতে রূপান্তর করুন; utc = epochTime; // utc = TimeChangeRule utcRule = {"UTC", Last, Sun, Mar, 1, 0}; টাইমজোন ইউটিসি (utcRule, utcRule); // বিন্যাস সময় পরিবর্তনশীল তারিখ += দিন [সপ্তাহের দিন (ইউটিসি) - 1]; তারিখ += ","; তারিখ += মাস [মাস (ইউটিসি) - 1]; তারিখ += ""; তারিখ += দিন (ইউটিসি); তারিখ += ","; তারিখ += বছর (ইউটিসি); // AM/PM এবং 12 সেকেন্ডের ক্লকটাইম += hourFormat12 (utc) দিয়ে 12-ঘন্টা ফর্ম্যাটে সময় ফরম্যাট করুন; clktime += ":"; যদি (মিনিট (ইউটিসি)

প্রস্তাবিত: