সুচিপত্র:

Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 ধাপ
Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 ধাপ

ভিডিও: Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 ধাপ

ভিডিও: Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 ধাপ
ভিডিও: How to use I2C Sensors and Python Library on Raspberry PI 2024, জুলাই
Anonim

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

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

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

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

2. ADXL345

3. I²C কেবল

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

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

ধাপ 2: সংযোগ:

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

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

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

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

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

ধাপ 3: কোড:

কোড
কোড

ADXL345 এর পাইথন কোডটি আমাদের GitHub সংগ্রহস্থল- Dcube স্টোর থেকে ডাউনলোড করা যাবে

এখানে একই জন্য লিঙ্ক:

github.com/DcubeTechVentures/ADXL345..

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

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

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

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

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

# ADXL345

# এই কোডটি Dcube স্টোরে উপলব্ধ ADXL345_I2CS I2C মিনি মডিউলের সাথে কাজ করার জন্য ডিজাইন করা হয়েছে।

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

আমদানির সময়

# 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 প্রিন্ট করুন

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

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

প্রস্তাবিত: