সুচিপত্র:

ADXL345 এবং রাস্পবেরি পাই ব্যবহার করে ত্বরণের পরিমাপ: 4 টি ধাপ
ADXL345 এবং রাস্পবেরি পাই ব্যবহার করে ত্বরণের পরিমাপ: 4 টি ধাপ

ভিডিও: ADXL345 এবং রাস্পবেরি পাই ব্যবহার করে ত্বরণের পরিমাপ: 4 টি ধাপ

ভিডিও: ADXL345 এবং রাস্পবেরি পাই ব্যবহার করে ত্বরণের পরিমাপ: 4 টি ধাপ
ভিডিও: অ্যাপ থেকে ব্লুটুথের মাধ্যমে আরডুইনোতে পাঠানো কমান্ড বের করার উপায় | Decode Arduino Bluetooth App 2024, জুলাই
Anonim
Image
Image

ADXL345 হল একটি ছোট, পাতলা, অতিবেগুনী শক্তি, 3-অক্ষের অ্যাকসিলরোমিটার যার উচ্চ রেজোলিউশন (13-বিট) পরিমাপ ± 16 গ্রাম পর্যন্ত। ডিজিটাল আউটপুট ডেটা 16-বিট দুইটি পরিপূরক হিসাবে ফরম্যাট করা হয় এবং I2 C ডিজিটাল ইন্টারফেসের মাধ্যমে অ্যাক্সেসযোগ্য। এটি টিল্ট-সেন্সিং অ্যাপ্লিকেশনগুলিতে মাধ্যাকর্ষণের স্থির ত্বরণ পরিমাপ করে, পাশাপাশি গতি বা শক থেকে সৃষ্ট গতিশীল ত্বরণ। এর উচ্চ রেজোলিউশন (3.9 মিগ্রা/এলএসবি) 1.0 than এর কম প্রবণতা পরিবর্তনের পরিমাপ সক্ষম করে।

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

পদক্ষেপ 1: হার্ডওয়্যার প্রয়োজন:

হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন

আমাদের লক্ষ্য পূরণের জন্য আমাদের যে উপকরণগুলির প্রয়োজন তা নিম্নলিখিত হার্ডওয়্যার উপাদানগুলি অন্তর্ভুক্ত করে:

1. ADXL345

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

3. I2C কেবল

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

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

পদক্ষেপ 2: হার্ডওয়্যার সংযুক্তি:

হার্ডওয়্যার সংযুক্তি
হার্ডওয়্যার সংযুক্তি
হার্ডওয়্যার সংযুক্তি
হার্ডওয়্যার সংযুক্তি

হার্ডওয়্যার হুকআপ বিভাগটি মূলত সেন্সর এবং রাস্পবেরি পাই এর মধ্যে প্রয়োজনীয় তারের সংযোগ ব্যাখ্যা করে। কাঙ্ক্ষিত আউটপুটের জন্য যে কোনো সিস্টেমে কাজ করার সময় সঠিক সংযোগ নিশ্চিত করা মৌলিক প্রয়োজনীয়তা। সুতরাং, প্রয়োজনীয় সংযোগগুলি নিম্নরূপ:

ADXL345 I2C এর উপর কাজ করবে। সেন্সরের প্রতিটি ইন্টারফেসকে কিভাবে ওয়্যার আপ করতে হয় তা দেখানো হচ্ছে ওয়্যারিং ডায়াগ্রামের উদাহরণ।

বাক্সের বাইরে, বোর্ডটি একটি I2C ইন্টারফেসের জন্য কনফিগার করা হয়েছে, যেমন আপনি অন্যথায় অজ্ঞেয়বাদী হলে আমরা এই হুকআপটি ব্যবহার করার পরামর্শ দিই।

আপনার প্রয়োজন শুধু চারটি তারের! VCC, Gnd, SCL এবং SDA পিনের জন্য মাত্র চারটি সংযোগ প্রয়োজন এবং এগুলি I2C তারের সাহায্যে সংযুক্ত।

এই সংযোগগুলি উপরের ছবিতে প্রদর্শিত হয়েছে।

ধাপ 3: ত্বরণ পরিমাপের জন্য কোড:

ত্বরণ পরিমাপের জন্য কোড
ত্বরণ পরিমাপের জন্য কোড

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

পাশাপাশি ব্যবহারকারীদের স্বাচ্ছন্দ্যের জন্য, আমরা এখানে কোডটি ব্যাখ্যা করছি:

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

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

আপনি এই সেন্সরের জন্য এখানে কাজ করা পাইথন কোডটি অনুলিপি করতে পারেন:

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

আমদানির সময়

# পান I2C বাসবাস = smbus. SMBus (1)

# ADXL345 ঠিকানা, 0x53 (83)

# ব্যান্ডউইথ রেট রেজিস্টার নির্বাচন করুন, 0x2C (44)

# 0x0A (10) সাধারণ মোড, আউটপুট ডেটা রেট = 100 Hz

bus.write_byte_data (0x53, 0x2C, 0x0A)

# ADXL345 ঠিকানা, 0x53 (83)

# পাওয়ার কন্ট্রোল রেজিস্টার নির্বাচন করুন, 0x2D (45)

# 0x08 (08) অটো স্লিপ ডিজেবল

bus.write_byte_data (0x53, 0x2D, 0x08)

# ADXL345 ঠিকানা, 0x53 (83)

# ডাটা ফরম্যাট রেজিস্টার নির্বাচন করুন, 0x31 (49)

# 0x08 (08) স্ব-পরীক্ষা নিষ্ক্রিয়, 4-তারের ইন্টারফেস

# সম্পূর্ণ রেজোলিউশন, রেঞ্জ = +/- 2g

bus.write_byte_data (0x53, 0x31, 0x08)

সময় ঘুম (0.5)

# ADXL345 ঠিকানা, 0x53 (83)

# 0x32 (50), 2 বাইট থেকে ফিরে তথ্য পড়ুন

# এক্স-অক্ষ এলএসবি, এক্স-অক্ষ এমএসবি

data0 = bus.read_byte_data (0x53, 0x32)

data1 = bus.read_byte_data (0x53, 0x33)

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

xAccl = ((data1 এবং 0x03) * 256) + data0

যদি xAccl> 511:

xAccl -= 1024

# ADXL345 ঠিকানা, 0x53 (83)

# 0x34 (52), 2 বাইট থেকে ফিরে তথ্য পড়ুন

# Y-Axis LSB, Y-Axis MSB

data0 = bus.read_byte_data (0x53, 0x34)

data1 = bus.read_byte_data (0x53, 0x35)

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

yAccl = ((data1 এবং 0x03) * 256) + data0

যদি yAccl> 511:

yAccl -= 1024

# ADXL345 ঠিকানা, 0x53 (83)

# 0x36 (54), 2 বাইট থেকে ফিরে তথ্য পড়ুন

# জেড-অক্ষ এলএসবি, জেড-অক্ষ এমএসবি

data0 = bus.read_byte_data (0x53, 0x36)

data1 = bus.read_byte_data (0x53, 0x37)

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

zAccl = ((data1 এবং 0x03) * 256) + data0

যদি zAccl> 511:

zAccl -= 1024

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

মুদ্রণ "এক্স-এক্সিসে এক্সিলারেশন: %d" %xAccl

"Y-Axis- তে অ্যাক্সিলারেশন: %d" %yAccl প্রিন্ট করুন

"Z-Axis- তে এক্সিলারেশন: %d" %zAccl প্রিন্ট করুন

নীচে উল্লিখিত কোডের অংশে পাইথন কোডগুলির সঠিক সম্পাদনের জন্য প্রয়োজনীয় লাইব্রেরি অন্তর্ভুক্ত রয়েছে।

আমদানি smbusimport সময়

কমান্ড প্রম্পটে নিচের উল্লিখিত কমান্ডটি টাইপ করে কোডটি কার্যকর করা যেতে পারে।

$> পাইথন ADXL345.py

ব্যবহারকারীর রেফারেন্সের জন্য উপরের ছবিতে সেন্সরের আউটপুটও দেখানো হয়েছে।

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

অ্যাপ্লিকেশন
অ্যাপ্লিকেশন

ADXL345 হল একটি ছোট, পাতলা, অতিবেগুনী শক্তি, 3-অক্ষের অ্যাক্সিলারোমিটার যা হ্যান্ডসেট, মেডিকেল যন্ত্রপাতি ইত্যাদি কাজে লাগানো যেতে পারে।

প্রস্তাবিত: