Სარჩევი:
- ნაბიჯი 1: საჭირო აპარატურა:
- ნაბიჯი 2: აპარატურის დაკავშირება:
- ნაბიჯი 3: აჩქარების გაზომვის პითონის კოდი:
- ნაბიჯი 4: პროგრამები:
ვიდეო: დაჩქარების გაზომვა BMA250 და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
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 არის ტრაქსიალური ციფრული დაჩქარების სენსორი, რომელიც ინტეგრირებულია ჩიპური მოძრაობის ინტელექტუალური შეწყვეტის კონტროლერთან.
გირჩევთ:
ტემპერატურის გაზომვა AD7416ARZ და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი
ტემპერატურის გაზომვა AD7416ARZ და Raspberry Pi გამოყენებით: AD7416ARZ არის 10 ბიტიანი ტემპერატურის სენსორი, რომელსაც აქვს ოთხი ერთარხიანი ანალოგური ციფრული გადამყვანი და მასში შემავალი ტემპერატურის სენსორი. ნაწილების ტემპერატურის სენსორზე წვდომა შესაძლებელია მულტიპლექსერული არხებით. ეს მაღალი სიზუსტის ტემპერატურა
დაჩქარების გაზომვა ADXL345 და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი
ADXL345 და Raspberry Pi გამოყენებით დაჩქარების გაზომვა: ADXL345 არის პატარა, თხელი, ულტრა დაბალი სიმძლავრის, 3 ღერძიანი ამაჩქარებელი მაღალი გარჩევადობის (13 ბიტიანი) გაზომვით ± 16 გ-მდე. ციფრული გამომავალი მონაცემები ფორმატირებულია, როგორც 16 ბიტიანი ორეული და არის ხელმისაწვდომი I2 C ციფრული ინტერფეისის საშუალებით. ზომავს
დაჩქარების გაზომვა BMA250 და არდუინო ნანოს გამოყენებით: 4 ნაბიჯი
დაჩქარების გაზომვა BMA250 და Arduino Nano– ს გამოყენებით: BMA250 არის პატარა, თხელი, ულტრა დაბალი სიმძლავრის, 3 ღერძიანი ამაჩქარებელი მაღალი გარჩევადობის (13 ბიტიანი) გაზომვით ± 16 გ-მდე. ციფრული გამომავალი მონაცემები არის ფორმატირებული, როგორც 16 ბიტიანი ორეული და ხელმისაწვდომია I2C ციფრული ინტერფეისის საშუალებით. ზომავს სტატიკურ
დაჩქარების გაზომვა ADXL345 და Arduino Nano გამოყენებით: 4 ნაბიჯი
ADXL345 და Arduino Nano გამოყენებით დაჩქარების გაზომვა: ADXL345 არის პატარა, თხელი, ულტრა დაბალი სიმძლავრის, 3 ღერძიანი ამაჩქარებელი მაღალი გარჩევადობის (13 ბიტიანი) გაზომვით ± 16 გ-მდე. ციფრული გამომავალი მონაცემები ფორმატირებულია, როგორც 16 ბიტიანი ორეული და არის ხელმისაწვდომი I2 C ციფრული ინტერფეისის საშუალებით. ზომავს
დაჩქარების გაზომვა BMA250 და ნაწილაკების ფოტონის გამოყენებით: 4 ნაბიჯი
დაჩქარების გაზომვა BMA250 და ნაწილაკების ფოტონის გამოყენებით: BMA250 არის მცირე, თხელი, ულტრა დაბალი სიმძლავრის, 3 ღერძიანი ამაჩქარებელი მაღალი გარჩევადობის (13 ბიტიანი) გაზომვით ± 16 გ-მდე. ციფრული გამომავალი მონაცემები არის ფორმატირებული, როგორც 16 ბიტიანი ორეული და ხელმისაწვდომია I2C ციფრული ინტერფეისის საშუალებით. ზომავს სტატიკურ