সুচিপত্র:

আরেকটি স্মার্ট ওয়েদার স্টেশন, কিন্তু : 6 টি ধাপ (ছবি সহ)
আরেকটি স্মার্ট ওয়েদার স্টেশন, কিন্তু : 6 টি ধাপ (ছবি সহ)

ভিডিও: আরেকটি স্মার্ট ওয়েদার স্টেশন, কিন্তু : 6 টি ধাপ (ছবি সহ)

ভিডিও: আরেকটি স্মার্ট ওয়েদার স্টেশন, কিন্তু : 6 টি ধাপ (ছবি সহ)
ভিডিও: একটি XXL ভিডিওতে সমস্ত চাকরির মতো দেখতে এটিই৷ 2024, জুন
Anonim
Image
Image
আরেকটি স্মার্ট ওয়েদার স্টেশন, কিন্তু …
আরেকটি স্মার্ট ওয়েদার স্টেশন, কিন্তু …
আরেকটি স্মার্ট ওয়েদার স্টেশন, কিন্তু …
আরেকটি স্মার্ট ওয়েদার স্টেশন, কিন্তু …
আরেকটি স্মার্ট ওয়েদার স্টেশন, কিন্তু …
আরেকটি স্মার্ট ওয়েদার স্টেশন, কিন্তু …

ঠিক আছে, আমি জানি এই ধরনের অনেক আবহাওয়া স্টেশন সর্বত্র পাওয়া যায়, কিন্তু পার্থক্য দেখতে কয়েক মিনিট সময় নিন …

  • স্বল্প শক্তি
  • 2 টি ই-পেপার প্রদর্শন …
  • কিন্তু 10 টি ভিন্ন পর্দা!
  • ESP32 ভিত্তিক
  • অ্যাকসিলরোমিটার এবং তাপমাত্রা / আর্দ্রতা সেন্সর
  • ওয়াইফাই আপডেট
  • 3D প্রিন্টেড কেস

এবং অন্যান্য অনেক দরকারী কৌশল…

বক্সের ওরিয়েন্টেশনের উপর নির্ভর করে উভয় ডিসপ্লেতে বিভিন্ন তথ্য প্রদর্শন করাই মূল ধারণা। কেসটি একটি সমান্তরাল বাক্সের আকারে, একটি পাকা পাথরের, একটি ধরনের বেল্ট যা পায়ে কাজ করে।

সরবরাহ

আপনি দেখতে পাচ্ছেন, সিস্টেমটিতে 2 টি ই-পেপার স্ক্রিন এবং একটি 3 ডি মুদ্রিত বাক্স রয়েছে। কিন্তু এর মধ্যে অনেক কিছু আছে:

  • একটি ESP32
  • একটি MPU6050 অ্যাকসিলরোমিটার
  • একটি DHT22 সেন্সর
  • একটি LiPo ব্যাটারি
  • একটি পিসিবি পুরো বিষয়টিকে সংযুক্ত করতে
  • বাড়িতে তৈরি ডুপন্ট থ্রেড

এবং একটি ওয়াই-ফাই সংযোগ। প্রকৃতপক্ষে 3 টি নেটওয়ার্ক ঘোষণা করা হয়েছে, সিস্টেমটি একে একে একে পরীক্ষা করে যতক্ষণ না এটি সংযোগে সফল হয়।

ধাপ 1: আরেকটি আবহাওয়া কেন্দ্র কেন?

আরেকটি ওয়েদার স্টেশন কেন?
আরেকটি ওয়েদার স্টেশন কেন?
আরেকটি ওয়েদার স্টেশন কেন?
আরেকটি ওয়েদার স্টেশন কেন?
আরেকটি ওয়েদার স্টেশন কেন?
আরেকটি ওয়েদার স্টেশন কেন?
আরেকটি ওয়েদার স্টেশন কেন?
আরেকটি ওয়েদার স্টেশন কেন?

বাক্সের ওরিয়েন্টেশনের উপর নির্ভর করে উভয় স্ক্রিনে বিভিন্ন ধরনের তথ্য প্রদর্শন করার ধারণা। কেসটি একটি সমান্তরাল বাক্স, একটি পাকা পাথরের আকৃতির, যা এক ধরনের বেল্ট যা এটিকে দাঁড় করানোর জন্য একটি সহায়ক হিসেবে কাজ করে।

অ্যাকসিলরোমিটার মুভমেন্ট এবং ওরিয়েন্টেশন শনাক্ত করে এবং ডিসপ্লে ট্রিগার করে।

শক্তি সঞ্চয় করার জন্য, আমি ই-পেপার স্ক্রিনগুলি বেছে নিলাম (নীচের রেফারেন্সগুলি দেখুন) যেগুলি ডিসপ্লেটি আর চালিত না থাকলেও রাখে। একইভাবে ESP32 এর জন্য, আমি Lolin32 মডিউল (তার মিতব্যয়তার জন্য বিখ্যাত) বেছে নিয়েছিলাম এবং আমাকে গভীর ঘুম, এবং অ্যাকসিলরোমিটার দ্বারা সৃষ্ট বিরতিতে জেগে ওঠা শিখতে হয়েছিল।

স্ক্রিনগুলি SPI- এর মাধ্যমে সংযুক্ত, ESP32- এ সংযোগ করার জন্য সঠিক পিনগুলি খুঁজে বের করার আগে আমি কিছুটা অনুসন্ধান করেছি, জেনেছি যে অ্যাকসিলরোমিটারের জন্য আমার একটি I2C প্রয়োজন, DHT22 পড়ার জন্য একটি পিন এবং ব্যাটারির ভোল্টেজ পরিমাপের জন্য অন্য 2 টি। ESP32 প্রায় সম্পূর্ণ চার্জ! কিছু পিন কেবল পঠনযোগ্য (আমি DHT সেন্সরের জন্য সেগুলি ব্যবহার করেছি) জেনে, অন্যদের ওয়াইফাইয়ের সাথে একসাথে ব্যবহার করা যায় না, সঠিক কনফিগারেশন খুঁজে পাওয়া একটু জটিল ছিল।

বাক্সটি 4 টি দিক, প্লাস সমতল হতে পারে। সব মিলিয়ে যা 4*2+2 = 10 সম্ভাব্য ধরনের তথ্য শুধুমাত্র 2 টি স্ক্রিন দিয়ে প্রদর্শন করে। সুতরাং এটি আপনাকে অনেক কিছু প্রদর্শন করতে দেয়:

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

ধাপ 2: আপনার কি দরকার?

তোমার কি দরকার?
তোমার কি দরকার?
তোমার কি দরকার?
তোমার কি দরকার?
তোমার কি দরকার?
তোমার কি দরকার?
  • ESP32: Lolin32 মডিউল (খুব কম শক্তি, একটি ব্যাটারি সংযোগকারী দিয়ে সজ্জিত, USB প্লাসের মাধ্যমে ব্যাটারি চার্জ করতে পারে)
  • 2 epaper প্রদর্শন: 4.2 ইঞ্চি এবং 2.9 ইঞ্চি আমি গুড ডিসপ্লে স্টোর থেকে মডেলগুলি বেছে নিয়েছি।
  • DHT22 সেন্সর
  • MCU6050 অ্যাকসিলরোমিটার - জাইরোমিটার I2C সেন্সর
  • একটি LiPo ব্যাটারি
  • ব্যাটারি ভোল্টেজ পরিমাপের জন্য: 2 10k প্রতিরোধক, 1 100k প্রতিরোধক, 1 100nF ক্যাপাসিটর, 1 MOSFET ট্রানজিস্টার
  • ঝাল এবং সোল্ডারিং লোহা, মুদ্রিত সার্কিট বোর্ড
  • কেসের জন্য একটি 3D প্রিন্টারে অ্যাক্সেস

সংযুক্ত ছবিটি পিসিবির সমস্ত উপাদানগুলির অবস্থান দেখায়: আমাকে ক্ষেত্রে ফিট করার জন্য স্থান সংরক্ষণ করতে হয়েছিল, যা খুব বড় হওয়া উচিত নয়।

আবহাওয়ার তথ্য পাওয়ার জন্য, আপনাকে আবহাওয়া API- এ নিবন্ধন করতে হবে এবং 'ভেরিয়েবলস.এইচ' ফাইলে সঠিক জায়গায় আপনার কীগুলি রাখতে হবে (নীচে দেখুন)।

আবহাওয়া ওয়েবসাইট:

  • apixu
  • accuweather

ধাপ 3: এই প্রকল্পটি আমাকে অনেক কিছু ভাবতে এবং শিখতে বাধ্য করেছে …

এই প্রকল্পটি আমাকে অনেক কিছু ভাবতে এবং শিখতে বাধ্য করেছে …
এই প্রকল্পটি আমাকে অনেক কিছু ভাবতে এবং শিখতে বাধ্য করেছে …
এই প্রকল্পটি আমাকে অনেক কিছু ভাবতে এবং শিখতে বাধ্য করেছে …
এই প্রকল্পটি আমাকে অনেক কিছু ভাবতে এবং শিখতে বাধ্য করেছে …
এই প্রকল্পটি আমাকে অনেক কিছু ভাবতে এবং শিখতে বাধ্য করেছে …
এই প্রকল্পটি আমাকে অনেক কিছু ভাবতে এবং শিখতে বাধ্য করেছে …

এই সিস্টেমটি লো-পাওয়ার হওয়ার কথা ছিল, যাতে আপনার প্রতি রাতে ব্যাটারি চার্জ করার প্রয়োজন না হয় … শক্তি সঞ্চয় করার জন্য, আমি ই-পেপার স্ক্রিনগুলি বেছে নিয়েছি যা ডিসপ্লেটি আর চালিত না থাকলেও রাখে। একইভাবে ESP32 এর জন্য, আমি Lolin32 মডিউল (তার মিতব্যয়তার জন্য বিখ্যাত) বেছে নিয়েছি এবং আমাকে গভীর ঘুম, এবং অ্যাকসিলরোমিটার দ্বারা সৃষ্ট বাধাপ্রাপ্তির উপর জাগ্রত কল পরিচালনা করতে শিখতে হয়েছিল।

বাক্সটি 4 টি দিকনির্দেশিত হতে পারে, আরও সমতল। সব মিলিয়ে যা 4*2+2 = 10 সম্ভাব্য ধরনের তথ্য প্রদর্শন করে। সুতরাং এটি আপনাকে অনেক কিছু করতে দেয়: তারিখ, এবং দিনের সাধক, সময়, আজকের আবহাওয়ার পূর্বাভাস, আগামী ঘন্টা বা দিনের আবহাওয়ার পূর্বাভাস, ব্যাটারি চার্জ স্তর এবং একটি বিশেষ ওয়েবসাইট থেকে একটি এলোমেলো উদ্ধৃতি।

এটি ইন্টারনেটে দেখার জন্য অনেক কিছু, এবং যেমন আপনি জানেন: ওয়াইফাই শক্তি সঞ্চয়ের শত্রু …

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

সুতরাং স্বায়ত্তশাসন (ইন্টারনেট সংযোগের ফ্রিকোয়েন্সি) এবং প্রদর্শিত তথ্যের নির্ভুলতার মধ্যে একটি বাণিজ্য বন্ধ রয়েছে।

আরেকটি সমস্যার সমাধান করতে হবে মেমরি। যখন ESP32 গভীর ঘুমে থাকে, তখন আরটিসি র called্যাম যাকে বলা হয় তা ছাড়া মেমরি নষ্ট হয়ে যায়। এই মেমরি 4MB প্রশস্ত, যার মধ্যে মাত্র 2 টি প্রোগ্রামের জন্য ব্যবহার করা যেতে পারে। এই স্মৃতিতে, আমাকে অবশ্যই বিভিন্ন প্রোগ্রাম ভেরিয়েবলগুলি সংরক্ষণ করতে হবে যা অবশ্যই একটি এক্সিকিউশন থেকে অন্য এক্সিকিউশন পর্যন্ত রাখতে হবে, ঘুমের পর: আবহাওয়ার পূর্বাভাস, সময় এবং তারিখ, আইকন ফাইলের নাম, উদ্ধৃতি ইত্যাদি। ।

আইকনগুলির কথা বললে, সেগুলি SPIFFS, ESP32 ফাইল সিস্টেমে সংরক্ষণ করা হয়। বিনামূল্যে ওয়ান্ডারগ্রাউন্ড আবহাওয়া API বন্ধ করার পরে, আমাকে অন্যান্য বিনামূল্যে আবহাওয়া তথ্য সরবরাহকারীদের সন্ধান করতে হয়েছিল। আমি দুটি নির্বাচন করেছি: একটি বর্তমান দিনের আবহাওয়ার জন্য, 12 ঘন্টার পূর্বাভাস সহ, এবং অন্যটি বহু দিনের পূর্বাভাসের জন্য। আইকনগুলি একই নয়, তাই এটি আমার দুটি নতুন সমস্যা সৃষ্টি করেছে:

  • একটি আইকন সেট চয়ন করুন
  • এই আইকনগুলিকে 2 টি সাইটের পূর্বাভাস কোডের সাথে মিলিয়ে নিন

এই চিঠিপত্রটি আরটিসি র RAM্যামেও সংরক্ষণ করা হয়েছে যাতে এটি প্রতিবার পুনরায় লোড করতে না হয়।

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

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

ইন্টারনেটে পড়া ডেটা প্রায়ই জসন ফরম্যাটে থাকে: আবহাওয়ার তথ্য, সেন্ট অফ দ্য ডে। আমি এই জন্য (মহান) arduinoJson লাইব্রেরি ব্যবহার করি। কিন্তু উদ্ধৃতিগুলো এমন নয়। আমি তাদের একটি ডেডিকেটেড সাইট থেকে নিয়েছি, তাই আমাকে সরাসরি ওয়েব পেজের বিষয়বস্তুর দিকে তাকিয়ে পড়তে হবে। আমাকে এর জন্য একটি নির্দিষ্ট কোড লিখতে হয়েছিল। প্রতিদিন, মধ্যরাতের দিকে, প্রোগ্রামটি এই সাইটে যায় এবং প্রায় দশটি এলোমেলো উদ্ধৃতি পড়ে, এবং সেগুলি আরটিসি র RAM্যামে সঞ্চয় করে। একটি তাদের মধ্যে এলোমেলোভাবে প্রদর্শিত হয় যখন হাউজিং বড় পর্দা wardsর্ধ্বমুখী হয়।

আমি আপনাকে উচ্চারণকৃত অক্ষর প্রদর্শনের সমস্যাটি পাস করেছি (দু sorryখিত, কিন্তু উদ্ধৃতিগুলি ফরাসি ভাষায়)…।

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

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

ইমপ্লান্টেশন মানচিত্র দেখুন: "নিষিদ্ধ অঞ্চল" হল একটি এলাকা যা USB তারের সংযোগের জন্য সংরক্ষিত। Lolin32 মডিউল আপনাকে ইউএসবি এর মাধ্যমে ব্যাটারি রিচার্জ করতে দেয়: ইউএসবি কেবল সংযুক্ত থাকলে ব্যাটারি চার্জ হয় এবং মডিউল একই সময়ে কাজ করে।

শেষ পয়েন্ট: ফন্ট। বিভিন্ন আকারের, সাহসী বা না, সেগুলি তৈরি এবং সংরক্ষণ করতে হয়েছিল। অ্যাডাফ্রুট জিএফএক্স লাইব্রেরি এটির খুব ভালভাবে যত্ন নেয়, একবার আপনি সঠিক ডিরেক্টরিতে ফন্ট ফাইলগুলি ইনস্টল করেন। ফাইলগুলি তৈরি করতে, আমি ফন্ট কনভার্টার সাইটটি ব্যবহার করেছি, খুব সুবিধাজনক!

আপনি নির্বাচন করুন তা নিশ্চিত করুন:

  • পূর্বরূপ প্রদর্শন: TFT 2.4"
  • লাইব্রেরি সংস্করণ: অ্যাডাফ্রুট জিএফএক্স ফন্ট

সুতরাং সংক্ষেপে: একটি বড় প্রকল্প, যা আমাকে অনেক কিছু শিখতে দিয়েছে।

ধাপ 4: ই-পেপার ডিসপ্লে ব্যবহার করা

ই-পেপার ডিসপ্লে ব্যবহার করা
ই-পেপার ডিসপ্লে ব্যবহার করা

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

তাই ডিসপ্লে আপডেট করার জন্য আমাকে অন্য উপায় খুঁজতে হয়েছিল। এই স্ক্রিনগুলি (তাদের মধ্যে কিছু) একটি আংশিক আপডেট সমর্থন করে (স্ক্রিনের একটি অংশে বা পুরো স্ক্রিনে প্রয়োগ করা হয় …) কিন্তু এটি আমার জন্য ভাল ছিল না কারণ আমার বড় পর্দা (যা সময় প্রদর্শন করে) পিক্সেলের ভূত রাখে যা প্রতিস্থাপিত হয়। উদাহরণস্বরূপ, 10:12 থেকে 10:13 পর্যন্ত যাওয়ার সময়, '2' '3' এর ভিতরে একটু দৃশ্যমান, এবং এটি '4', '5', ইত্যাদির পরে আরও বেশি দৃশ্যমান হয় আমার স্ক্রিনের ক্ষেত্রে এই বিষয়টি তুলে ধরার জন্য: আমি ই-পেপার ডিসপ্লে লাইব্রেরি GxEPD2 এর লেখকের সাথে আলোচনা করেছি যিনি আমাকে বলেছিলেন যে তিনি নিজের পর্দার সাথে এই ঘটনাটি পর্যবেক্ষণ করেননি। আমরা ভূত শিকারে সফল না হয়ে প্যারামিটার পরিবর্তন করার চেষ্টা করেছি।

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

ধাপ 5: এটি তৈরি করা

এটি তৈরি
এটি তৈরি
এটি তৈরি
এটি তৈরি
এটি তৈরি
এটি তৈরি
এটি তৈরি
এটি তৈরি

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

শীঘ্রই আমি একটি বহিরাগত ইউএসবি মাইক্রোফোন সংযোগকারী ইনস্টল করব যাতে ব্যাটারি রিচার্জ করার জন্য আমাকে কেস খুলতে হবে না।

হয়তো আমিও ওটিএ দ্বারা আপডেট করতে আগ্রহী হব সবটা নিখুঁত করতে ….

ধাপ 6: কোড এবং ফাইল

Image
Image

তিনটি সংরক্ষণাগার ফাইল প্রদান করা হয়:

  • ওয়েদার স্টেশন.জিপ: Arduino কোড, Arduino IDE ব্যবহার করে আপলোড করতে
  • Boite ecran.zip: মামলার জন্য CAD এবং 3D প্রিন্টার ফাইল
  • data.zip: ESP32 এর SPIFFS এ আপলোড করা ফাইলগুলি।

যদি আপনি ESP32 এর SPIFFS- এ ফাইল আপলোড করতে না জানেন, তাহলে শুধু এই টিউটোরিয়ালটি পড়ুন, যা একটি খুব দরকারী প্লাগইন উপস্থাপন করে এবং কিভাবে এটি Arduino IDE তে ব্যবহার করতে হয়।

গভীর ঘুমের প্রোগ্রামিং একটি Arduino এর স্ট্যান্ডার্ড প্রোগ্রামিং থেকে বেশ ভিন্ন। ESP32 এর জন্য, এর মানে হল যে ESP32 জেগে উঠে সেটআপটি চালায়, তারপর ঘুমিয়ে যায়। সুতরাং, লুপ ফাংশনটি খালি, এবং কখনও কার্যকর করা হয় না।

কিছু প্রারম্ভিক ফেজ অবশ্যই প্রথম এক্সিকিউশনে একবার চালানো উচিত (যেমন সময় পাওয়া, আবহাওয়ার তথ্য, উদ্ধৃতি ইত্যাদি), তাই ESP32 কে জানতে হবে যে বর্তমান জেগে ওঠা প্রথমটি কিনা বা না: এর জন্য, সমাধান হল RTC র in্যামে একটি ভেরিয়েবল সংরক্ষণ করা (যা গভীর ঘুমের পর্যায়েও সক্রিয় থাকে) যা প্রতিটি জেগে উঠলে বৃদ্ধি পায়। যদি এটি 1 এর সমান হয় তবে এটি প্রথম এক্সিকিউশন এবং ESP32 প্রারম্ভিক পর্যায়টি চালায়, অন্যথায় এই পর্বটি বাদ দেওয়া হয়।

ESP32 কে জাগাতে, বেশ কয়েকটি সম্ভাবনা রয়েছে:

  • টাইমার জেগে ওঠা: কোড ঘুমানোর আগে গভীর ঘুমের সময়কাল গণনা করে। এটি সময় (প্রতি 1, 2, 3, বা 5 মিনিটের) বা আবহাওয়ার ডেটা (প্রতি 3 বা 4 ঘন্টা) আপডেট করতে ব্যবহৃত হয় এবং দিনের সাধু (প্রতি 24 ঘন্টা)
  • বাধাপ্রাপ্ত জেগে ওঠা: অ্যাকসিলরোমিটার একটি সংকেত পাঠায় যা ESP32 কে জাগাতে ব্যবহৃত হয়। এটি একটি অভিযোজন পরিবর্তন সনাক্ত করতে এবং প্রদর্শনগুলি আপডেট করতে ব্যবহৃত হয়
  • টাচ সেন্সর জেগে ওঠা: ESP32 টাচ সেন্সর হিসেবে কাজ করে এমন বেশ কয়েকটি পিনের সাথে সজ্জিত, কিন্তু সেগুলি টাইমার জাগানোর সাথে ব্যবহার করা যায় না, তাই আমি এটি ব্যবহার করিনি।

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

এই নির্দেশযোগ্য (আমার প্রথম এক) পড়ার জন্য ধন্যবাদ। আমি আশা করি আপনি এটি পছন্দ করবেন এবং এই আবহাওয়া স্টেশনটি উপভোগ করবেন।

সেন্সর প্রতিযোগিতা
সেন্সর প্রতিযোগিতা

সেন্সর প্রতিযোগিতায় রানার আপ

প্রস্তাবিত: