সুচিপত্র:

LED কম্পাস এবং আলটিমিটার: 7 টি ধাপ (ছবি সহ)
LED কম্পাস এবং আলটিমিটার: 7 টি ধাপ (ছবি সহ)
Anonim
Image
Image
সার্কিট ডায়াগ্রাম এবং পিসিবি
সার্কিট ডায়াগ্রাম এবং পিসিবি

এলইডি সহ বস্তু সবসময় আমাকে মুগ্ধ করে। অতএব এই প্রকল্পটি জনপ্রিয় ডিজিটাল কম্পাস সেন্সর HMC5883L 48 LED এর সাথে একত্রিত করার জন্য। LEDs কে একটি বৃত্তে রেখে নেতৃত্ব যা আলো দিচ্ছে তা হল আপনি যে দিকে যাচ্ছেন। প্রতি 7.5 ডিগ্রী একটি নতুন LED চালাবে যা বিস্তারিত ফলাফল দেয়।

GY-86 বোর্ড একটি MS5611 ব্যারোমেট্রিক প্রেসার সেন্সরও প্রদান করে। এই সেন্সরের সাহায্যে উচ্চতা গণনা করা সম্ভব। উচ্চ রেজোলিউশনের কারণে এটি অলটিমিটারের জন্য উপযুক্ত।

GY-86 বোর্ডে MPU6050 সেন্সরটিতে 3-অক্ষের অ্যাকসিলরোমিটার এবং 3-অক্ষের জাইরোস্কোপ উভয়ই রয়েছে। জাইরোস্কোপ সময়ের সাথে সাথে কৌণিক অবস্থানের বেগ পরিমাপ করতে পারে। অ্যাকসিলরোমিটার মহাকর্ষীয় ত্বরণ পরিমাপ করতে পারে এবং ত্রিকোণমিতি গণিত ব্যবহার করে সেন্সরটি কোন কোণে অবস্থান করছে তা গণনা করা সম্ভব। অ্যাকসিলরোমিটার এবং জাইরোস্কোপ ডেটা একত্রিত করে সেন্সর ওরিয়েন্টেশন সম্পর্কে তথ্য পাওয়া সম্ভব। এটি HMC5883L কম্পাস (করতে) এর tাল ক্ষতিপূরণের জন্য ব্যবহার করা যেতে পারে।

এই নির্দেশাবলীতে সংক্ষিপ্ত নির্দেশনা ভিডিওগুলি কীভাবে এটি কাজ করে তা বিস্তারিতভাবে ব্যাখ্যা করবে। ক্রমাঙ্কন পদ্ধতি স্বয়ংক্রিয় হয় তাই সাফল্যের নিশ্চয়তা। তাপমাত্রা সেলসিয়াস (ডিফল্ট) বা ফারেনহাইটে পাওয়া যায়।

আনন্দ কর !!

ধাপ 1: অলটাইমিটার

Image
Image

অ্যালটাইমিটার MS5611 ব্যারোমেট্রিক প্রেসার সেন্সর ব্যবহার করে। বায়ুমণ্ডলীয় চাপের পরিমাপের উপর ভিত্তি করে উচ্চতা নির্ণয় করা যায়। উচ্চতা যত বেশি, চাপ তত কম। প্রারম্ভকালে, অ্যালটিমিটার 1013.25 mbar এর ডিফল্ট সমুদ্র-স্তরের চাপ ব্যবহার করে। পিন 21 এ বোতাম টিপে আপনার অবস্থানের চাপ একটি রেফারেন্স হিসাবে ব্যবহার করা হবে। এইভাবে এটি কোন বস্তুর উচ্চতা কত তা অনুমান করতে পারে

এই প্রকল্পে তথাকথিত "হাইপসোমেট্রিক সূত্র" ব্যবহার করা হয়। এই সূত্রটি পরিমাপের ক্ষতিপূরণ দিতে তাপমাত্রার ব্যবহার করে।

float alt=((powf (source / ((float) P / 100.0), 0.19022256) - 1.0) * ((float) TEMP / 100 + 273.15)) / 0.0065;

আপনি এখানে হাইপসোমেট্রিক সূত্র সম্পর্কে আরও জানতে পারেন:

হাইপসোমেট্রিক সূত্র

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

ধাপ 2: যন্ত্রাংশ

1 x মাইক্রোচিপ 18f26k22 মাইক্রোকন্ট্রোলার 28-পিন PDIP

3 x MCP23017 16-Bit I/O Expander 28-pin SPDIP

48 x LED এর 3 মিমি

MS5611, HMC5883L এবং MPU6050 সেন্সর সহ 1 x GY-86 মডিউল

1 x SH1106 OLED 128x64 I2C

1 x সিরামিক ক্যাপাসিটর 100nF

1 x 100 ওহম প্রতিরোধক

ধাপ 3: সার্কিট ডায়াগ্রাম এবং পিসিবি

সার্কিট ডায়াগ্রাম এবং পিসিবি
সার্কিট ডায়াগ্রাম এবং পিসিবি

সবকিছু একক পার্শ্বযুক্ত PCB- এর সাথে মানানসই। এখানে agগল এবং গারবার ফাইলগুলি খুঁজুন যাতে আপনি এটি নিজেই তৈরি করতে পারেন বা একটি পিসিবি প্রস্তুতকারকের কাছে জিজ্ঞাসা করতে পারেন।

আমি আমার গাড়িতে LED কম্পাস এবং আলটিমিটার ব্যবহার করি এবং পাওয়ার সাপ্লাই হিসাবে OBD2 ইন্টারফেস ব্যবহার করি। মাইক্রোকন্ট্রোলার সংযোগকারীতে নিখুঁতভাবে ফিট করে।

ধাপ 4: কিভাবে Perগল পিসিবি ডিজাইন সফটওয়্যারের সাথে সেকেন্ডের মধ্যে একটি বৃত্তে এলইডিগুলিকে পুরোপুরি সারিবদ্ধ করতে হয়

Mustগল পিসিবি ডিজাইন সফটওয়্যারে আপনাকে অবশ্যই এই চমৎকার বৈশিষ্ট্যটি দেখতে হবে যা আপনার কাজের সময় বাঁচায়। এই agগল বৈশিষ্ট্যটির সাহায্যে আপনি সেকেন্ডের মধ্যে একটি বৃত্তে এলইডিগুলিকে পুরোপুরি সারিবদ্ধ করতে পারেন।

শুধু "ফাইল" ট্যাবে ক্লিক করুন এবং তারপর "ইউএলপি চালান"। এখান থেকে "cmd-draw.ulp" এ ক্লিক করুন। "সরান", "ডিগ্রি ধাপ" এবং "বৃত্ত" নির্বাচন করুন। ক্ষেত্রের প্রথম LED এর নাম "নাম" পূরণ করুন। "X সেন্টার কোঅর্ড" এবং "Y সেন্টার কোঅর্ড" ক্ষেত্রগুলিতে গ্রিডের উপর বৃত্তের কেন্দ্রের স্থানাঙ্কগুলি সেট করুন। এই প্রজেক্টে 48 টি LED আছে তাই 360 কে 48 দিয়ে ভাগ করে 7.5 কে "এঙ্গেল স্টেপ" করে। এই বৃত্তের ব্যাসার্ধ 1.4 ইঞ্চি। এন্টার চাপুন এবং আপনার এলইডিগুলির একটি নিখুঁত বৃত্ত রয়েছে।

ধাপ 5: কম্পাস ক্রমাঙ্কন প্রক্রিয়া

Image
Image

HMC5883L একটি 12 বিট ADC অন্তর্ভুক্ত করে যা 1 থেকে 2 ডিগ্রি সেলসিয়াস কম্পাস শিরোনামের নির্ভুলতা সক্ষম করে। কিন্তু এটি ব্যবহারযোগ্য ডেটা দেওয়ার আগে এটিকে ক্রমাঙ্কন করা প্রয়োজন। এই প্রকল্পটি চালু এবং মসৃণভাবে চলার জন্য এই ক্রমাঙ্কন পদ্ধতি রয়েছে যা x- এবং y অফসেট প্রদান করে। এটি সবচেয়ে পরিশীলিত পদ্ধতি নয় কিন্তু এই প্রকল্পের জন্য এটি যথেষ্ট। এই পদ্ধতিটি আপনাকে মাত্র কয়েক মিনিট খরচ করবে এবং আপনাকে সুন্দর ফলাফল দেবে।

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

Allyচ্ছিকভাবে, সংগৃহীত তথ্য RS232 এর মাধ্যমে পিন 27 (9600 বড) এর মাধ্যমেও পাওয়া যায়। শুধু পুটির মত একটি টার্মিনাল প্রোগ্রাম ব্যবহার করুন এবং লগ ফাইলে সমস্ত ডেটা সংগ্রহ করুন। এই ডেটা এক্সেলে সহজেই আমদানি করা যায়। এখান থেকে আপনি আরও সহজে দেখতে পারবেন আপনার HMC5883L এর অফসেট কেমন দেখাচ্ছে।

অফসেটগুলিকে মাইক্রোকন্ট্রোলারের EEPROM এ রাখা হয়। এগুলি কম্পাস এবং অ্যালটিমিটার সফ্টওয়্যার শুরু করার সময় লোড করা হবে যা আপনি ধাপ 7 এ পাবেন।

ধাপ 6: আপনার অবস্থানের চৌম্বকীয় পতনের ক্ষতিপূরণ দিন

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

একটি চৌম্বকীয় উত্তর এবং একটি ভৌগলিক উত্তর (উত্তর মেরু) আছে। আপনার কম্পাস পৃথিবীর চৌম্বক ক্ষেত্রের লাইন অনুসরণ করবে তাই চৌম্বকীয় উত্তর নির্দেশ করুন। চৌম্বকীয় উত্তর এবং ভৌগলিক উত্তরের মধ্যে পার্থক্যকে বলা হয় চৌম্বকীয় পতন। আমার অবস্থানে পতন মাত্র 1 ডিগ্রি এবং 22 মিনিট তাই এটি ক্ষতিপূরণ যোগ্য নয়। অন্যান্য স্থানে এই পতন 30 ডিগ্রী পর্যন্ত হতে পারে।

আপনার অবস্থানে চৌম্বকীয় পতন খুঁজুন

যদি আপনি এটি ক্ষতিপূরণ করতে চান (alচ্ছিক) আপনি মাইক্রোকন্ট্রোলারের EEPROM- এ পতন (ডিগ্রি এবং মিনিট) যোগ করতে পারেন। 0x20 অবস্থানে আপনি স্বাক্ষরিত হেক্সাডেসিমাল আকারে ডিগ্রী যোগ করতে পারেন। এটি স্বাক্ষরিত কারণ এটি একটি নেতিবাচক পতনও হতে পারে। 0x21 অবস্থানে আপনি হেক্সাডেসিমাল আকারে মিনিট যোগ করতে পারেন।

ধাপ 7: কোড কম্পাইল করুন

Image
Image

এই সোর্স কোড কম্পাইল করুন এবং আপনার মাইক্রোকন্ট্রোলার প্রোগ্রাম করুন। এই কোডটি C99 মোডে MPLABX IDE v5.20 এবং XC8 কম্পাইলার v2.05 এর সাথে সঠিকভাবে কম্পাইল করে (তাই C99 ডিরেক্টরিগুলি অন্তর্ভুক্ত করুন)। এছাড়াও হেক্স ফাইল পাওয়া যায় যাতে আপনি সংকলন পদ্ধতিটি এড়িয়ে যেতে পারেন। নিশ্চিত করুন যে আপনি চেকবক্স "EEPROM ডেটা সক্ষম" আনচেক করুন যাতে ক্যালিব্রেশন ডেটা রোধ করা যায় (ধাপ 5 দেখুন) ওভাররাইট করা হবে। আপনার প্রোগ্রামারকে 3.3 ভোল্টে সেট করুন!

পিন 27 কে মাটিতে সংযুক্ত করে আপনি ফারেনহাইটে তাপমাত্রা পাবেন।

অচিম ডাবলারকে তার µGUI গ্রাফিক লাইব্রেরির জন্য ধন্যবাদ

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

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

প্রস্তাবিত: