Სარჩევი:

Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 Steps
Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 Steps

ვიდეო: Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 Steps

ვიდეო: Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 Steps
ვიდეო: Input Shaper with a Pi Pico - Klipper Tips 2024, ნოემბერი
Anonim

ADXL345 არის პატარა, თხელი, ულტრა დაბალი სიმძლავრის, 3 ღერძიანი ამაჩქარებელი მაღალი გარჩევადობის (13 ბიტიანი) გაზომვით ± 16 გ-მდე. ციფრული გამომავალი მონაცემები ფორმატირებულია, როგორც 16 ბიტიანი ორეული და არის ხელმისაწვდომი I2 C ციფრული ინტერფეისის საშუალებით. იგი ზომავს სიმძიმის სტატიკურ აჩქარებას დახრის მგრძნობიარე პროგრამებში, ასევე მოძრაობის ან დარტყმის შედეგად წარმოქმნილ დინამიურ აჩქარებას. მისი მაღალი გარჩევადობა (3.9 მგ/LSB) საშუალებას გაძლევთ გაზომოთ დახრილობის ცვლილებები 1.0 ° -ზე ნაკლები. აქ არის დემონსტრირება ჟოლოს პი პითონის კოდის გამოყენებით.

ნაბიჯი 1: რაც გჭირდებათ..

Რა გჭირდება..!!
Რა გჭირდება..!!
Რა გჭირდება..!!
Რა გჭირდება..!!

1. ჟოლო პი

2. ADXL345

3. I²C კაბელი

4. I²C ფარი ჟოლოს პიისთვის

5. Ethernet კაბელი

ნაბიჯი 2: კავშირი:

კავშირი
კავშირი
კავშირი
კავშირი
კავშირი
კავშირი
კავშირი
კავშირი

აიღეთ I2C ფარი ჟოლოსთვის და ნაზად წაუსვით ჟოლოს პი გპიოს ქინძისთავებზე.

შემდეგ დააკავშირეთ I2C კაბელის ერთი ბოლო ADXL345 სენსორთან და მეორე ბოლო I2C ფარს.

ასევე დაუკავშირეთ Ethernet კაბელი pi- ს ან შეგიძლიათ გამოიყენოთ WiFi მოდული.

კავშირები ნაჩვენებია ზემოთ მოცემულ სურათზე.

ნაბიჯი 3: კოდი:

კოდი
კოდი

ADXL345– ის პითონის კოდი შეგიძლიათ გადმოწეროთ ჩვენი GitHub საცავიდან- Dcube Store

აქ არის იგივე ბმული:

github.com/DcubeTechVentures/ADXL345..

ჩვენ გამოვიყენეთ SMBus ბიბლიოთეკა პითონის კოდისთვის, ჟოლოს პიზე SMBus– ის დაყენების ნაბიჯები აღწერილია აქ:

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

თქვენ ასევე შეგიძლიათ დააკოპიროთ კოდი აქედან, იგი მოცემულია შემდეგნაირად:

# განაწილებულია თავისუფალი ნების ლიცენზიით.

# გამოიყენეთ ის, როგორც გსურთ, მოგება ან უფასო, იმ პირობით, რომ იგი ჯდება ლიცენზიებში მასთან დაკავშირებული სამუშაოების შესახებ.

# ADXL345

# ეს კოდი შექმნილია იმუშაოს ADXL345_I2CS I2C მინი მოდულთან, რომელიც ხელმისაწვდომია Dcube მაღაზიაში.

smbus- ის იმპორტი

იმპორტის დრო

# მიიღეთ I2C ავტობუსი

ავტობუსი = smbus. SMBus (1)

# ADXL345 მისამართი, 0x53 (83)

# აირჩიეთ გამტარუნარიანობის სიჩქარის რეგისტრატორი, 0x2C (44)# 0x0A (10) ნორმალური რეჟიმი, გამომავალი მონაცემთა სიჩქარე = 100 ჰც

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 მავთულის ინტერფეისი

# სრული გარჩევადობა, დიაპაზონი = +/- 2 გ

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

დრო. ძილი (0.5)

# ADXL345 მისამართი, 0x53 (83)

# წაიკითხეთ მონაცემები უკან 0x32 (50), 2 ბაიტი

# X-Axis LSB, X-Axis MSB

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 ბაიტი

# Z-Axis LSB, Z-Axis MSB

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

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

# გადააკეთეთ მონაცემები 10 ბიტად

zAccl = ((data1 & 0x03) * 256) + data0

თუ zAccl> 511:

zAccl -= 1024

# მონაცემების გამოტანა ეკრანზე

ბეჭდვა "აჩქარება X- ღერძში: %d" %xAccl

ბეჭდვა "აჩქარება Y- ღერძში: %d" %yAccl

ბეჭდვა "აჩქარება Z- ღერძში: %d" %zAccl

ნაბიჯი 4: პროგრამები:

ADXL345 არის პატარა, თხელი, ულტრა დაბალი სიმძლავრის, 3 ღერძიანი ამაჩქარებელი, რომელიც შეიძლება გამოყენებულ იქნას ტელეფონებში, სამედიცინო აპარატურაში და ა.შ.

გირჩევთ: