সুচিপত্র:

Arduino বায়ুমণ্ডলীয় টেপ পরিমাপ/ MS5611 GY63 GY86 প্রদর্শন: 4 টি ধাপ (ছবি সহ)
Arduino বায়ুমণ্ডলীয় টেপ পরিমাপ/ MS5611 GY63 GY86 প্রদর্শন: 4 টি ধাপ (ছবি সহ)

ভিডিও: Arduino বায়ুমণ্ডলীয় টেপ পরিমাপ/ MS5611 GY63 GY86 প্রদর্শন: 4 টি ধাপ (ছবি সহ)

ভিডিও: Arduino বায়ুমণ্ডলীয় টেপ পরিমাপ/ MS5611 GY63 GY86 প্রদর্শন: 4 টি ধাপ (ছবি সহ)
ভিডিও: Arduino Nano, BME280 এবং SSD1306 OLED আবহাওয়া স্টেশন 2024, জুলাই
Anonim
Arduino বায়ুমণ্ডলীয় টেপ পরিমাপ/ MS5611 GY63 GY86 বিক্ষোভ
Arduino বায়ুমণ্ডলীয় টেপ পরিমাপ/ MS5611 GY63 GY86 বিক্ষোভ

এটি সত্যিই একটি ব্যারোমিটার/আলটিমিটার কিন্তু আপনি ভিডিওটি দেখে শিরোনামের কারণটি দেখতে পাবেন।

MS5611 চাপ সেন্সর, Arduino GY63 এবং GY86 ব্রেকআউট বোর্ডে পাওয়া যায়, বিস্ময়কর কর্মক্ষমতা প্রদান করে। একটি শান্ত দিনে এটি আপনার উচ্চতা 0.2 মিটারের মধ্যে পরিমাপ করবে। এটি কার্যকরভাবে আপনার মাথা থেকে বাইরের স্থান পর্যন্ত দূরত্ব পরিমাপ করছে এবং এটি আপনার পায়ের দূরত্ব থেকে বাইরের স্থান পর্যন্ত বিয়োগ করছে (চাপ পরিমাপ করে - এটি উপরের বাতাসের ওজন)। এই দর্শনীয় যন্ত্রটির একটি পরিসীমা রয়েছে যা আরামদায়কভাবে এভারেস্টের উচ্চতা পরিমাপ করবে - এবং কয়েক ইঞ্চি পর্যন্তও পরিমাপ করতে পারে।

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

প্রতিটি সেন্সরের নিজস্ব ক্যালিব্রেশন ধ্রুবক রয়েছে যা ডেটা সংশোধন করার জন্য পড়া এবং ব্যবহার করা প্রয়োজন। এগুলো চালাতে সাহায্য করার জন্য একটি লাইব্রেরি আছে। এখানে দেখানো কোড লাইব্রেরি ব্যবহার করে রিডিং নিতে এবং তারপর তাদের উচ্চতায় রূপান্তরিত করে এবং একটি LCD শিল্ডে প্রদর্শন করে।

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

মনে রাখবেন GY63 বোর্ডে শুধু MS5611 চাপ সেন্সর আছে। GY86 কে 10 ডিগ্রী ফ্রিডম বোর্ড বলা হয় এবং এর মধ্যে একটি 3 অক্ষের অ্যাকসিলরোমিটার, 3 অক্ষের গাইরো এবং একটি 3 অক্ষের ম্যাগনেটোমিটার মাত্র কয়েক ডলার বেশি।

আপনার প্রয়োজন হবে:

1. আরডুইনো ইউএনও (বা স্ট্যান্ডার্ড পিনআউট সহ অন্যান্য) এবং এর ইউএসবি কেবল

2. GY63 ব্রেকআউট বোর্ড বা GY86

3. 4 ডুপন্ট পুরুষ -মহিলা - বা সংযোগকারী তারের নেতৃত্ব দেয়

4. Arduino LCD কীপ্যাড ieldাল

5. 9v ব্যাটারি এবং সীসা

6. 2.54 মিমি সকেট স্ট্রিপ (alচ্ছিক কিন্তু প্রস্তাবিত)

প্রস্তুতি

Arduino IDE (সমন্বিত উন্নয়ন পরিবেশ) ডাউনলোড করুন: https://www.arduino.cc/en/Main/Software থেকে

আগ্রহের জন্য কিছু প্রযুক্তিগত বিট

MS5611 বিপুল সংখ্যক পরিমাপের গড় দিয়ে তার দুর্দান্ত পারফরম্যান্স সরবরাহ করে। এটি মাত্র 8ms এ 4096 3 বাইট (24bit) এনালগ পরিমাপ করতে পারে এবং গড় মান দিতে পারে। এটি চাপ এবং তাপমাত্রা উভয়ই পরিমাপ করতে হবে যাতে অভ্যন্তরীণ তাপমাত্রার জন্য চাপের ডেটা সংশোধন করা যায়। অতএব এটি প্রতি সেকেন্ডে প্রায় 60 জোড়া চাপ এবং তাপমাত্রা রিডিং সরবরাহ করতে পারে।

ডেটা শীট এখানে পাওয়া যায়:

যোগাযোগ I2C এর মাধ্যমে হয়। তাই অন্যান্য I2C সেন্সর বাসটি শেয়ার করতে পারে (যেমন GY86 10DOF বোর্ডের ক্ষেত্রে যেখানে সমস্ত চিপ I2C তে আছে)।

ধাপ 1: একটি MS5611 লাইব্রেরি পান

Arduino সেন্সরগুলির মধ্যে অনেকগুলি একটি আদর্শ লাইব্রেরি ব্যবহার করে যা Arduino IDE এর সাথে অন্তর্ভুক্ত বা একটি লাইব্রেরি সহ একটি জিপ ফাইল সরবরাহ করা হয় যা সহজেই ইনস্টল করা যায়। এটি MS5611 সেন্সরের ক্ষেত্রে হতে পারে না। তবে একটি অনুসন্ধান পাওয়া গেছে: https://github.com/gronat/MS5611 যার তাপমাত্রা সংশোধন সহ MS5611 এর জন্য একটি লাইব্রেরি রয়েছে।

বিকল্প 1

উপরের ওয়েবসাইটে যান, 'ক্লোন বা ডাউনলোড' এ ক্লিক করুন এবং 'ডাউনলোড জিপ' নির্বাচন করুন। এটি আপনার ডাউনলোড ডিরেক্টরিতে MS5611-master.zip প্রদান করবে। এখন, যদি আপনি চান, এটি একটি ফোল্ডারে সরান যেখানে আপনি ভবিষ্যতে এটি খুঁজে পেতে পারেন। আমি আমার Arduino ফোল্ডারে যোগ করা 'ডেটা' নামে একটি ডিরেক্টরি ব্যবহার করি।

দুর্ভাগ্যবশত ডাউনলোড করা.zip ফাইলটিতে কোন উদাহরণ স্কেচ অন্তর্ভুক্ত নেই এবং Arduino IDE তে লাইব্রেরি এবং উদাহরণ যোগ করা ভাল হবে। README.md ফাইলে একটি ন্যূনতম উদাহরণ রয়েছে যা একটি স্কেচে অনুলিপি এবং আটকানো এবং সংরক্ষণ করা যেতে পারে। এটি চলার একটি উপায়।

বিকল্প 2

এই নির্দেশে কোডটি চালানো সহজ করার জন্য আমি উপরের ন্যূনতম উদাহরণ এবং লাইব্রেরিতে এখানে দেখানো উদাহরণগুলি যুক্ত করেছি এবং নীচে একটি.zip ফাইল সংযুক্ত করেছি যা Arduino IDE তে ইনস্টল হবে।

নিচের জিপ ফাইলটি ডাউনলোড করুন। আপনি যদি চান তবে এটি একটি ভাল ফোল্ডারে সরান।

Arduino IDE শুরু করুন। স্কেচ> অন্তর্ভুক্ত লাইব্রেরি> জিপ ফাইল যোগ করুন এবং ফাইলটি নির্বাচন করুন ক্লিক করুন। আইডিই পুনরায় চালু করুন। আইডিইতে এখন লাইব্রেরি ইনস্টল থাকবে এবং এখানে দেখানো সমস্ত উদাহরণ থাকবে। ফাইল> উদাহরণ >> MS5611- মাস্টার ক্লিক করে চেক করুন। তিনটি স্কেচ তালিকাভুক্ত করা উচিত।

পদক্ষেপ 2: সেন্সরটিকে আরডুইনো এবং পরীক্ষার সাথে সংযুক্ত করুন

Arduino এবং পরীক্ষার সাথে সেন্সর সংযুক্ত করুন
Arduino এবং পরীক্ষার সাথে সেন্সর সংযুক্ত করুন
Arduino এবং পরীক্ষার সাথে সেন্সর সংযুক্ত করুন
Arduino এবং পরীক্ষার সাথে সেন্সর সংযুক্ত করুন

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

প্রয়োজনীয় সংযোগগুলি হল:

GY63/GY86 Arduino

VCC - 5v Power GND - GND Ground SCL - A5 I2C ঘড়ি> SDA - A4 I2C ডেটা

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

Arduino IDE শুরু করুন। ক্লিক:

ফাইল> উদাহরণ >> MS5611- মাস্টার> MS5611data2serial।

IDE এর একটি নতুন দৃষ্টান্ত স্কেচ সহ উপস্থিত হবে। আপলোড বাটনে ক্লিক করুন (ডান তীর)।

পরবর্তীতে সিরিয়াল প্লটার শুরু করুন - টুলস> সিরিয়াল প্লটারে ক্লিক করুন এবং প্রয়োজনে বডকে 9600 এ সেট করুন। যে তথ্য পাঠানো হচ্ছে সেটি হল পাস্কালসের চাপ। এক সেকেন্ডের পরে এটি সেন্সরটি পুনরায় স্কেল করবে এবং সেন্সরকে বাড়িয়ে তুলবে এবং বলবে যে 0.3 মি ট্রেসকে কমিয়ে ও বাড়ানো হিসাবে দেখানো উচিত (নিম্ন উচ্চতা বেশি চাপ)।

তথ্যে কিছুটা গোলমাল আছে। উপরের প্রথম প্লট দেখুন। এটি একটি ডিজিটাল ফিল্টার (একটি সত্যিই দরকারী সরঞ্জাম) ব্যবহার করে মসৃণ করা যেতে পারে।

ফিল্টার সমীকরণ হল:

মান = মান + কে (নতুন মান)

যেখানে 'মান' ফিল্টার করা ডেটা, এবং 'নতুন' সর্বশেষ পরিমাপ করা হয়। K = 1 হলে কোন ফিল্টারিং নেই। K- এর নিম্ন মানের জন্য T/K- এর একটি স্থির সময়সীমার সাথে ডাটা মসৃণ করা হয় যেখানে T হল নমুনার মধ্যবর্তী সময়। এখানে T প্রায় 17ms তাই 0.1 এর মান 170ms বা প্রায় 1/6 সেকেন্ডের সময় ধ্রুবক দেয়।

ফিল্টার যোগ করা যেতে পারে:

সেটআপের আগে ফিল্টার করা ডেটার জন্য একটি পরিবর্তনশীল যোগ করুন ():

ভাসা ফিল্টার = 0;

তারপর চাপের পর ফিল্টার সমীকরণ যোগ করুন =…। লাইন

ফিল্টার করা = ফিল্টার করা + 0.1*(চাপ-ফিল্টার করা);

ফিল্টার করা মানটি প্রথম পাঠে শুরু করা একটি ভাল ধারণা। সুতরাং উপরের লাইনের চারপাশে একটি 'if' স্টেটমেন্ট যুক্ত করুন যা এটি করে তাই মনে হচ্ছে:

যদি (ফিল্টার করা! = 0) {

ফিল্টার করা = ফিল্টার করা + 0.1*(চাপ-ফিল্টার করা); } অন্য {ফিল্টার = চাপ; // প্রথম পড়া তাই ফিল্টার করে পড়ার জন্য সেট করুন}

পরীক্ষা '! =' 'সমান নয়'। সুতরাং যদি 'ফিল্টার' 0 এর সমান না হয় তবে ফিল্টার সমীকরণটি কার্যকর করা হয় কিন্তু যদি এটি হয় তবে এটি চাপ পড়ার জন্য সেট করা হয়।

অবশেষে আমাদের Serial.println স্টেটমেন্টে 'চাপ' কে 'ফিল্টার করা' তে পরিবর্তন করতে হবে যাতে আমরা ফিল্টার করা মান দেখতে পাই।

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

এখন আরডুইনোতে কোড আপলোড করুন এবং উন্নতি দেখুন। উপরের দ্বিতীয় প্লটটি দেখুন এবং লক্ষ্য করুন যে Y স্কেল প্রসারিত x2।

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

ধাপ 3: এটি স্বতন্ত্র করুন

এখন আমরা একটি এলসিডি কীপ্যাড ieldাল যুক্ত করব, চাপকে মিটারে উচ্চতায় রূপান্তর করব এবং ডিসপ্লেতে দেখাব। আমরা কীপ্যাড 'সিলেক্ট' বোতাম টিপে মান শূন্য করার ক্ষমতাও যোগ করব।

আরডুইনোতে এলসিডি ieldালের সাথে সেন্সরটি এলসিডি ieldালের সাথে সংযুক্ত থাকতে হবে। দুর্ভাগ্যবশত LCD ieldsালগুলি সাধারণত উপযুক্ত সকেট ছাড়া আসে। সুতরাং বিকল্পগুলি হল সোল্ডার সংযোগ তৈরি করা বা কিছু সকেট স্ট্রিপ পাওয়া। সকেট স্ট্রিপ ইবেতে পাওয়া যায় ডাকের খরচের চেয়ে বেশি নয়। '2.54 মিমি সকেট স্ট্রিপ' এ অনুসন্ধান করুন এবং আরডুইনোতে থাকাগুলির মতো সন্ধান করুন। এগুলি সাধারণত 36 বা 40 পিনের দৈর্ঘ্যে আসে। আমি চালু পিনগুলি এড়িয়ে যাব কারণ তারা স্ট্যান্ডার্ড ডুপন্ট লিডের জন্য যথেষ্ট গভীর নয়।

সকেট স্ট্রিপটি দৈর্ঘ্যে কাটাতে হবে এবং কাটাটি পিনের মতো একই জায়গায় তৈরি করতে হবে। সুতরাং একটি 6 পিন স্ট্রিপের জন্য - কিছু সূক্ষ্ম প্লেয়ার দিয়ে 7 ম পিনটি সরান, তারপরে জুনিয়র হ্যাকসো ব্যবহার করে সেই জায়গায় কেটে নিন। আমি তাদের ঝরঝরে করতে শেষ ফাইল।

বোর্ডে সোল্ডার করার সময় কোন ঝাল সেতু নেই তা নিশ্চিত করুন।

সেন্সর সংযোগের যথাযথ সিদ্ধান্তের সাথে এলসিডি ieldালটি আরডুইনোতে লাগান এবং সেন্সরটিকে একই পিনের সাথে সংযুক্ত করুন - কিন্তু এখন এলসিডি ieldাল।

এছাড়াও ব্যাটারি এবং সীসা প্রস্তুত পান। আমি আমার স্ক্র্যাপ বিনের অংশ থেকে আমার সীসা তৈরি করেছি কিন্তু সেগুলি ইবেতেও পাওয়া যায় - একটি চমৎকার বিকল্প সহ একটি ব্যাটারি বক্স এবং সুইচ অন্তর্ভুক্ত। 'PP3 2.1mm সীসা' অনুসন্ধান করুন।

বর্তমান খরচ প্রায় 80ma। অতএব আপনি যদি কয়েক মিনিটের বেশি চালাতে চান তবে PP3 এর চেয়ে বড় 9v ব্যাটারি বিবেচনা করুন।

ধাপ 4: উচ্চতা এবং LCD এর জন্য কোড যোগ করুন

Image
Image

চাপকে উচ্চতায় রূপান্তর করতে এবং ডিসপ্লে চালানোর জন্য আমাদের আরও একটু কোডিং করতে হবে।

স্কেচের শুরুতে ডিসপ্লে লাইব্রেরি যোগ করুন এবং এটি কী পিন ব্যবহার করা হয় তা বলুন:

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

// ইন্টারফেস পিন লিকুইডক্রিস্টাল এলসিডি (8, 9, 4, 5, 6, 7) এর সংখ্যা দিয়ে লাইব্রেরি আরম্ভ করুন;

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

www.dfrobot.com/wiki/index.php/Arduino_LCD_KeyPad_Shield_(SKU:_DFR0009)#Sample_Code

সেটআপ করার আগে এই কোডটি যোগ করুন ():

// প্যানেল এবং বোতাম দ্বারা ব্যবহৃত কিছু মান সংজ্ঞায়িত করুন

int lcd_key = 0; int adc_key_in = 0; #define btnRIGHT 0 #define btnUP 1 #define btnDOWN 2 #define btnLEFT 3 #define btnSELECT 4 #define btnNONE 5 // বোতামগুলো পড়ুন int read_LCD_buttons () {adc_key_in = analogRead (0); // সেন্সর থেকে মান পড়ুন // পড়ার সময় আমার বোতামগুলি এই উপত্যকায় কেন্দ্রীভূত হয়: 0, 144, 329, 504, 741 // আমরা সেই মানগুলিতে প্রায় 50 যোগ করি এবং আমরা যদি বন্ধ থাকি কিনা তা পরীক্ষা করে দেখি (adc_key_in> 1000) btnNONE ফেরত; // আমরা গতির কারণে এটিকে ১ ম বিকল্প করি কারণ এটি (adc_key_in <50) btnRIGHT রিটার্ন করলে সবচেয়ে সম্ভাব্য ফলাফল হবে; যদি (adc_key_in <250) btnUP ফেরত দেয়; যদি (adc_key_in <450) btnDOWN ফিরে আসে; যদি (adc_key_in <650) btnLEFT ফিরে আসে; যদি (adc_key_in <850) btnSELECT ফিরে আসে; ফিরে btnNONE; // যখন অন্য সবাই ব্যর্থ হয়, এটি ফিরিয়ে দিন …}

উচ্চতা সাধারণত শুরুর স্থানে শূন্য হয়। সুতরাং আমাদের উচ্চতা এবং রেফারেন্স উভয়ের জন্য ভেরিয়েবল দরকার। সেটআপ () এবং উপরের ফাংশনের আগে এগুলি যুক্ত করুন:

ভাসা mtr;

ভাসা ref = 0;

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

রেফারেন্সটি প্রথম চাপ পড়ার জন্য সেট করা উচিত যাতে আমরা শূন্য উচ্চতায় শুরু করি এবং যখন SELECT বোতামটি চাপানো হয়। ফিল্টার কোডের পরে এবং Serial.println স্টেটমেন্টের আগে যোগ করুন:

যদি (রেফার == 0) {

রেফার = ফিল্টার/12.0; } যদি (read_LCD_buttons () == btnSELECT) {ref = filtered/12.0; }

এর পরে উচ্চতা গণনা যোগ করুন:

mtr = রেফ - ফিল্টার/12.0;

অবশেষে 'ফিল্টার' এর পরিবর্তে 'mtr' পাঠানোর জন্য Serial.println স্টেটমেন্ট পরিবর্তন করুন এবং LCD তে 'mtr' পাঠানোর জন্য কোড যোগ করুন:

Serial.println (mtr); // সিরিয়ালের মাধ্যমে চাপ পাঠান (UART)

lcd.setCursor (0, 1); // লাইন 2 lcd.print (mtr);

এখানে সমস্ত পরিবর্তন MS5611data2lcd উদাহরণে অন্তর্ভুক্ত করা হয়েছে। ধাপ 2 হিসাবে এটি লোড করুন।

একটি শেষ মোড যা সহায়ক। ডিসপ্লেটি যখন সেকেন্ডে times০ বার আপডেট করা হয় তখন পড়তে অসুবিধা হয়। আমাদের ফিল্টারটি 0.8 সেকেন্ডের কাছাকাছি সময় ধরে ডাটা মসৃণ করছে। তাই প্রতি 0.3 সেকেন্ডে ডিসপ্লে আপডেট করা যথেষ্ট মনে হয়।

সুতরাং স্কেচের শুরুতে অন্যান্য সমস্ত পরিবর্তনশীল সংজ্ঞাগুলির পরে একটি কাউন্টার যুক্ত করুন (উদা ফ্লোট রেফ = 0 এর পরে):

int i = 0;

তারপর ইনক্রিমেন্টে কোড যোগ করুন 'i' এবং একটি 'if' স্টেটমেন্ট চালানোর জন্য যখন এটি 20 হয়ে যায় এবং তারপর এটিকে শূন্যে সেট করুন এবং 'if' স্টেটমেন্টের মধ্যে সিরিয়াল এবং এলসিডি কমান্ডগুলি সরান যাতে এইগুলি প্রতি 20 তম রিডিংয়ের জন্য কার্যকর হয়:

আমি += 1;

যদি (i> = 20) {Serial.println (mtr); // সিরিয়াল (UART) lcd.setCursor (0, 1) এর মাধ্যমে চাপ পাঠান; // লাইন 2 lcd.print (mtr); আমি = 0; }

আমি এই শেষ পরিবর্তনের সাথে একটি উদাহরণ অন্তর্ভুক্ত করি নি যাতে কোডটি ম্যানুয়ালি প্রবেশ করানোর জন্য উৎসাহিত হয় যা শেখার সহায়ক।

এই প্রকল্পটি ডিজিটাল ব্যারোমিটারের জন্য একটি ভাল সূচনা পয়েন্ট দিতে হবে। যারা RC মডেলে ব্যবহার বিবেচনা করতে চাইতে পারেন তাদের জন্য - OpenXvario- এর জন্য কোডের জন্য অনুসন্ধান করুন যা Frsky এবং Turnigy 9x টেলিমেট্রি সিস্টেমের জন্য একটি altimeter এবং variometer সক্ষম করে।

প্রস্তাবিত: