সুচিপত্র:

রাস্পবেরি পাই - MPL3115A2 যথার্থ আলটিমিটার সেন্সর পাইথন টিউটোরিয়াল: 4 টি ধাপ
রাস্পবেরি পাই - MPL3115A2 যথার্থ আলটিমিটার সেন্সর পাইথন টিউটোরিয়াল: 4 টি ধাপ

ভিডিও: রাস্পবেরি পাই - MPL3115A2 যথার্থ আলটিমিটার সেন্সর পাইথন টিউটোরিয়াল: 4 টি ধাপ

ভিডিও: রাস্পবেরি পাই - MPL3115A2 যথার্থ আলটিমিটার সেন্সর পাইথন টিউটোরিয়াল: 4 টি ধাপ
ভিডিও: Raspberry Pi Zero W and BMP388 Sensor 2024, নভেম্বর
Anonim
Image
Image

MPL3115A2 সঠিক চাপ/উচ্চতা এবং তাপমাত্রার তথ্য প্রদানের জন্য I2C ইন্টারফেস সহ একটি MEMS চাপ সেন্সর নিয়োগ করে। সেন্সর আউটপুট একটি উচ্চ রেজল্যুশন 24-বিট এডিসি দ্বারা ডিজিটালাইজড হয়। অভ্যন্তরীণ প্রক্রিয়াকরণ হোস্ট এমসিইউ সিস্টেম থেকে ক্ষতিপূরণ কাজগুলি সরিয়ে দেয়। এটি মাত্র 0.05 kPa তে পরিবর্তন সনাক্ত করতে সক্ষম যা উচ্চতায় 0.3 মিটার পরিবর্তনের সমান। পাইথন কোড ব্যবহার করে রাস্পবেরি পাই দিয়ে এর প্রদর্শন।

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

তুমি কি চাও..!!
তুমি কি চাও..!!

1. রাস্পবেরি পাই

2. MPL3115A2

3. I²C কেবল

4. রাস্পবেরি পাই এর জন্য I²C শিল্ড

5. ইথারনেট কেবল

ধাপ 2: সংযোগ:

সংযোগ
সংযোগ
সংযোগ
সংযোগ
সংযোগ
সংযোগ
সংযোগ
সংযোগ

রাস্পবেরি পাই এর জন্য একটি I2C ieldাল নিন এবং রাস্পবেরি পাই এর জিপিও পিনের উপর আলতো করে চাপ দিন।

তারপর I2C তারের এক প্রান্ত MPL3115A2 সেন্সরের সাথে এবং অন্য প্রান্তটি I2C ieldালের সাথে সংযুক্ত করুন।

এছাড়াও ইথারনেট কেবল কে পাই এর সাথে সংযুক্ত করুন অথবা আপনি একটি ওয়াইফাই মডিউল ব্যবহার করতে পারেন।

উপরের ছবিতে কানেকশন দেখানো হয়েছে।

ধাপ 3: কোড:

কোড
কোড

MPL3115A2 এর পাইথন কোডটি আমাদের Github সংগ্রহস্থল- DCUBE স্টোর কমিউনিটি থেকে ডাউনলোড করা যাবে।

এখানে লিঙ্ক আছে

আমরা পাইথন কোডের জন্য SMBus লাইব্রেরি ব্যবহার করেছি, রাস্পবেরি পাইতে SMBus ইনস্টল করার ধাপগুলি এখানে বর্ণনা করা হয়েছে:

pypi.python.org/pypi/smbus-cffi/0.5.1

আপনি এখান থেকে কোডটি অনুলিপি করতে পারেন, এটি নিম্নরূপ দেওয়া হয়েছে:

# একটি স্বাধীন ইচ্ছা লাইসেন্স দিয়ে বিতরণ করা হয়েছে।

# আপনি যেভাবেই চান, মুনাফা বা বিনামূল্যে ব্যবহার করুন, যদি এটি তার সংশ্লিষ্ট কাজের লাইসেন্সের সাথে খাপ খায়।

# MPL3115A2

# এই কোডটি MPL3115A2_I2CS I2C মিনি মডিউলের সাথে কাজ করার জন্য ডিজাইন করা হয়েছে

এসএমবিএস আমদানি করুন

আমদানির সময়

# I2C বাস নিন

বাস = smbus. SMBus (1)

# MPL3115A2 ঠিকানা, 0x60 (96)

# নিয়ন্ত্রণ রেজিস্টার নির্বাচন করুন, 0x26 (38)

# 0xB9 (185) অ্যাক্টিভ মোড, OSR = 128, Altimeter মোড

bus.write_byte_data (0x60, 0x26, 0xB9)

# MPL3115A2 ঠিকানা, 0x60 (96)

# ডাটা কনফিগারেশন রেজিস্টার নির্বাচন করুন, 0x13 (19)

# 0x07 (07) উচ্চতা, চাপ, তাপমাত্রার জন্য ডেটা রেডি ইভেন্ট সক্ষম

bus.write_byte_data (0x60, 0x13, 0x07)

# MPL3115A2 ঠিকানা, 0x60 (96)

# নিয়ন্ত্রণ রেজিস্টার নির্বাচন করুন, 0x26 (38)

# 0xB9 (185) অ্যাক্টিভ মোড, OSR = 128, Altimeter মোড

bus.write_byte_data (0x60, 0x26, 0xB9)

সময় ঘুম (1)

# MPL3115A2 ঠিকানা, 0x60 (96)

# 0x00 (00), 6 বাইট থেকে ফিরে তথ্য পড়ুন

# অবস্থা, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB

data = bus.read_i2c_block_data (0x60, 0x00, 6)

# ডেটাকে 20-বিটে রূপান্তর করুন

tHeight = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16

temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16

উচ্চতা = tHeight / 16.0

cTemp = temp / 16.0

fTemp = cTemp * 1.8 + 32

# MPL3115A2 ঠিকানা, 0x60 (96)

# নিয়ন্ত্রণ রেজিস্টার নির্বাচন করুন, 0x26 (38)

# 0x39 (57) সক্রিয় মোড, OSR = 128, ব্যারোমিটার মোড

bus.write_byte_data (0x60, 0x26, 0x39)

সময় ঘুম (1)

# MPL3115A2 ঠিকানা, 0x60 (96)

# 0x00 (00), 4 বাইট থেকে ফিরে তথ্য পড়ুন

# স্ট্যাটাস, প্রেস MSB1, প্রেস MSB, প্রেস LSB

data = bus.read_i2c_block_data (0x60, 0x00, 4)

# ডেটাকে 20-বিটে রূপান্তর করুন

pres = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16

চাপ = (প্রেস / 4.0) / 1000.0

# স্ক্রিনে আউটপুট ডেটা

"চাপ: %.2f kPa" %চাপ মুদ্রণ করুন

"উচ্চতা: %.2f মি" %উচ্চতা মুদ্রণ করুন

"সেলসিয়াস তাপমাত্রা: %.2f C" %cTemp মুদ্রণ করুন

"ফারেনহাইটে তাপমাত্রা: %.2f F" %fTemp মুদ্রণ করুন

ধাপ 4: অ্যাপ্লিকেশন:

MPL3115A2 এর বিভিন্ন অ্যাপ্লিকেশনের মধ্যে রয়েছে উচ্চ নির্ভুলতা Altimetry, স্মার্টফোন/ট্যাবলেট, ব্যক্তিগত ইলেকট্রনিক্স Altimetry ইত্যাদি এটি জিপিএস ডেড রিকোনিং, জরুরী পরিষেবার জন্য জিপিএস বর্ধন, ম্যাপ অ্যাসিস্ট, নেভিগেশনের পাশাপাশি ওয়েদার স্টেশন যন্ত্রপাতি অন্তর্ভুক্ত করতে পারে।

প্রস্তাবিত: