Სარჩევი:

Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: 4 Steps
Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: 4 Steps

ვიდეო: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: 4 Steps

ვიდეო: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: 4 Steps
ვიდეო: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial 2024, ნოემბერი
Anonim
Image
Image

MMA8452Q არის ჭკვიანი, დაბალი სიმძლავრის, სამ ღერძიანი, capacitive, micromachined acelerometer with 12 bit of resolution. მოქნილი მომხმარებლის პროგრამირებადი პარამეტრები მოცემულია ამაჩქარებელში ჩამონტაჟებული ფუნქციების დახმარებით, კონფიგურირებადი ორი შეწყვეტის ქინძისთავზე. მას აქვს მომხმარებლის მიერ შერჩეული სრული მასშტაბები ± 2 გ/± 4 გ/g 8 გ მაღალი გამავლობის ფილტრის გაფილტრული მონაცემებით, ასევე რეალურ დროში არსებული არაფილტრირებული მონაცემებით. აქ არის მისი დემონსტრირება ჟოლოს პი პითონის კოდის გამოყენებით.

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

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

1. ჟოლო პი

2. MMA8452Q

3. I²C კაბელი

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

5. Ethernet კაბელი

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

კავშირები
კავშირები
კავშირები
კავშირები
კავშირები
კავშირები
კავშირები
კავშირები

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

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

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

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

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

კოდი
კოდი

MMA8452Q პითონის კოდის გადმოწერა შესაძლებელია ჩვენი github საცავიდან- ControlEverythingCommunity

აქ არის ბმული.

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

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

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

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

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

# MMA8452Q

# ეს კოდი შექმნილია MMA8452Q_I2CS I2C მინი მოდულთან მუშაობისთვის.

smbus- ის იმპორტი

იმპორტის დრო

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

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

# MMA8452Q მისამართი, 0x1C (28)

# აირჩიეთ საკონტროლო რეგისტრი, 0x2A (42)

# 0x00 (00) ლოდინის რეჟიმში

bus.write_byte_data (0x1C, 0x2A, 0x00)

# MMA8452Q მისამართი, 0x1C (28)

# აირჩიეთ საკონტროლო რეგისტრი, 0x2A (42)

# 0x01 (01) აქტიური რეჟიმი

bus.write_byte_data (0x1C, 0x2A, 0x01)

# MMA8452Q მისამართი, 0x1C (28)

# აირჩიეთ კონფიგურაციის რეგისტრატორი, 0x0E (14)

# 0x00 (00) დააყენეთ დიაპაზონი +/- 2 გ-ზე

bus.write_byte_data (0x1C, 0x0E, 0x00)

დრო. ძილი (0.5)

# MMA8452Q მისამართი, 0x1C (28)

# წაიკითხეთ მონაცემები 0x00 (0) - დან, 7 ბაიტი

# სტატუსის რეგისტრაცია, X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB

მონაცემები = bus.read_i2c_block_data (0x1C, 0x00, 7)

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

xAccl = (მონაცემი [1] * 256 + მონაცემი [2]) / 16

თუ xAccl> 2047:

xAccl -= 4096

yAccl = (მონაცემები [3] * 256 + მონაცემები [4]) / 16

თუ yAccl> 2047:

yAccl -= 4096 z

Accl = (მონაცემები [5] * 256 + მონაცემები [6]) / 16

თუ zAccl> 2047:

zAccl -= 4096

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

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

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

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

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

MMA8452Q– ს აქვს სხვადასხვა პროგრამა, რომელიც მოიცავს ელექტრონული კომპასის პროგრამებს, სტატიკური ორიენტაციის გამოვლენას, რომელიც მოიცავს პორტრეტს/ლანდშაფტს, ზემოთ/ქვემოთ, მარცხნივ/მარჯვნივ, უკანა/წინა პოზიციის იდენტიფიკაციას, ნოუთბუქს, ელექტრონულ მკითხველს და ლეპტოპს Tumble and Freefall Detection, რეალურ დროში ორიენტაციის გამოვლენა, მათ შორის ვირტუალური რეალობა და სათამაშო 3D მომხმარებლის პოზიციის გამოხმაურება, რეალურ დროში აქტივობის ანალიზი, როგორიცაა ფეტომეტრის საფეხურის დათვლა, მყარი დისკისთვის ვარდნის ვარდნის გამოვლენის გამოვლენა, მკვდარი ანგარიშის GPS სარეზერვო საშუალება და მრავალი სხვა.

გირჩევთ: