Სარჩევი:

დაჩქარების გაზომვა BMA250 და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი
დაჩქარების გაზომვა BMA250 და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი

ვიდეო: დაჩქარების გაზომვა BMA250 და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი

ვიდეო: დაჩქარების გაზომვა BMA250 და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი
ვიდეო: მიწის რეგისტრაციის გამარტივებული წესი 2024, ივლისი
Anonim
Image
Image

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

ამ სახელმძღვანელოში ჩვენ ვაპირებთ გაზომოთ აჩქარება სამივე პერპენდიკულარულ ღერძზე BMA250 და Raspberry Pi გამოყენებით. სენსორი დაპროგრამებულია პითონის ენაზე.

ნაბიჯი 1: საჭირო აპარატურა:

საჭირო აპარატურა
საჭირო აპარატურა
საჭირო აპარატურა
საჭირო აპარატურა
საჭირო აპარატურა
საჭირო აპარატურა

მასალები, რომლებიც ჩვენ გვჭირდება ჩვენი მიზნის მისაღწევად, მოიცავს შემდეგ ტექნიკურ კომპონენტებს:

1. BMA250

2. ჟოლო პი

3. I2C კაბელი

4. I2C ფარი ჟოლოს პიისთვის

5. Ethernet კაბელი

ნაბიჯი 2: აპარატურის დაკავშირება:

აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება

აპარატურის დაკავშირების განყოფილება ძირითადად განმარტავს გაყვანილობის კავშირებს სენსორსა და ჟოლოს პი შორის. სწორი კავშირების უზრუნველყოფა არის ძირითადი აუცილებლობა ნებისმიერ სისტემაზე მუშაობისას სასურველი გამომუშავებისთვის. ამრიგად, საჭირო კავშირები შემდეგია:

BMA250 იმუშავებს I2C– ზე. აქ არის გაყვანილობის დიაგრამა, რომელიც აჩვენებს, თუ როგორ უნდა დააკავშიროთ სენსორის თითოეული ინტერფეისი.

ყუთის გარეშე, დაფა კონფიგურირებულია I2C ინტერფეისისთვის, ამიტომ ჩვენ გირჩევთ გამოიყენოთ ეს კავშირი, თუ სხვაგვარად ხართ აგნოსტიკოსი. ყველაფერი რაც თქვენ გჭირდებათ არის ოთხი მავთული!

მხოლოდ ოთხი კავშირია საჭირო Vcc, Gnd, SCL და SDA ქინძისთავები და ეს დაკავშირებულია I2C კაბელის დახმარებით.

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

ნაბიჯი 3: აჩქარების გაზომვის პითონის კოდი:

აჩქარების გაზომვის პითონის კოდი
აჩქარების გაზომვის პითონის კოდი
აჩქარების გაზომვის პითონის კოდი
აჩქარების გაზომვის პითონის კოდი

ჟოლოს pi გამოყენების უპირატესობა ის არის, რომ თქვენ გაძლევთ პროგრამირების ენის მოქნილობას, რომლითაც გსურთ დაფის დაპროგრამება სენსორის მასთან ინტერფეისის მიზნით. ამ დაფის ამ უპირატესობის გამოყენებით, ჩვენ ვაჩვენებთ მის პროგრამირებას პითონში. პითონი არის ერთ -ერთი ყველაზე მარტივი პროგრამირების ენა უმარტივესი სინტაქსით. BMA250– ის პითონის კოდი შეგიძლიათ ჩამოტვირთოთ ჩვენი GitHub საზოგადოებიდან, რომელიც არის Dcube Store

ისევე როგორც მომხმარებლების სიმარტივისთვის, ჩვენ აქ განვმარტავთ კოდს:

როგორც კოდირების პირველი ნაბიჯი, თქვენ უნდა გადმოწეროთ SMBus ბიბლიოთეკა პითონის შემთხვევაში, რადგან ეს ბიბლიოთეკა მხარს უჭერს კოდში გამოყენებულ ფუნქციებს. ასე რომ, ბიბლიოთეკის გადმოსაწერად შეგიძლიათ ეწვიოთ შემდეგ ბმულს:

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

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

smbus- ის იმპორტი

იმპორტის დრო

# მიიღეთ I2C busbus = smbus. SMBus (1)

# BMA250 მისამართი, 0x18 (24)

# დიაპაზონის შერჩევის რეგისტრაცია, 0x0F (15)

# 0x03 (03) დიაპაზონის დაყენება = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)

# BMA250 მისამართი, 0x18 (24)# აირჩიეთ გამტარუნარიანობის რეგისტრატორი, 0x10 (16)

# 0x08 (08) გამტარუნარიანობა = 7.81 Hzbus.write_byte_data (0x18, 0x10, 0x08)

დრო. ძილი (0.5)

# BMA250 მისამართი, 0x18 (24)

# მონაცემების დაბრუნება 0x02 (02) - დან, 6 ბაიტი

# X-Axis LSB, X-Axis MSB, Y-Axis LSB, Y-Axis MSB, Z-Axis LSB, Z-Axis MSB

მონაცემები = bus.read_i2c_block_data (0x18, 0x02, 6)

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

xAccl = (მონაცემები [1] * 256 + (მონაცემები [0] & 0xC0)) / 64

თუ xAccl> 511:

xAccl -= 1024

yAccl = (მონაცემები [3] * 256 + (მონაცემები [2] & 0xC0)) / 64

თუ yAccl> 511:

yAccl -= 1024

zAccl = (მონაცემები [5] * 256 + (მონაცემები [4] და 0xC0)) / 64

თუ zAccl> 511:

zAccl -= 1024

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

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

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

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

კოდი შესრულებულია შემდეგი ბრძანების გამოყენებით:

$> პითონი BMA250.py gt; პითონი BMA250.py

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

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

პროგრამები
პროგრამები

BMA250– ის მსგავსი აქსელერომეტრები უმეტესად პოულობენ მის გამოყენებას თამაშებში და პროფილის ჩვენების შეცვლაში. ეს სენსორული მოდული ასევე გამოიყენება მობილური პროგრამებისთვის ენერგიის მართვის მოწინავე სისტემაში. BMA250 არის ტრაქსიალური ციფრული დაჩქარების სენსორი, რომელიც ინტეგრირებულია ჩიპური მოძრაობის ინტელექტუალური შეწყვეტის კონტროლერთან.

გირჩევთ: