Სარჩევი:

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

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

ვიდეო: აჩქარების გაზომვა H3LIS331DL და Raspberry Pi გამოყენებით: 4 ნაბიჯი
ვიდეო: ფიზიკის დრო - სიჩქარის და აჩქარების განსაზღვრა სტრობოსკოპული მეთოდით #ტელესკოლა 2024, ივლისი
Anonim
Image
Image

H3LIS331DL არის დაბალი სიმძლავრის მაღალი ხარისხის 3 ღერძიანი ხაზოვანი ამაჩქარებელი, რომელიც მიეკუთვნება "ნანოს" ოჯახს, ციფრული I²C სერიული ინტერფეისით. H3LIS331DL– ს აქვს მომხმარებლის მიერ შერჩეული სრული სასწორი ± 100 გ/± 200 გ/± 400 გ და მას შეუძლია გაზომოს აჩქარებები გამომავალი მონაცემების სიჩქარით 0.5 ჰც – დან 1 კჰც – მდე. H3LIS331DL გარანტირებულია იმუშაოს გაფართოებულ ტემპერატურულ დიაპაზონში -40 ° C- დან +85 ° C- მდე.

ამ გაკვეთილში ჩვენ ვაპირებთ ვაჩვენოთ H3LIS331DL- ის ინტერფეისი ჟოლოს Pi- თან, პროგრამირების ენად პითონის გამოყენებით.

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

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

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

1. H3LIS331DL

2. ჟოლო პი

3. I2C კაბელი

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

5. Ethernet კაბელი

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

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

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

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

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

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

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

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

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

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

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

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

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

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

smbus- ის იმპორტი

იმპორტის დრო

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

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

# აირჩიეთ საკონტროლო რეგისტრი 1, 0x20 (32)

# 0x27 (39) ჩართვის რეჟიმი, მონაცემთა გამომავალი სიჩქარე = 50 Hz# X, Y, Z-Axis ჩართულია

bus.write_byte_data (0x18, 0x20, 0x27)

# H3LIS331DL მისამართი, 0x18 (24)# აირჩიეთ საკონტროლო რეგისტრატორი 4, 0x23 (35)

# 0x00 (00) უწყვეტი განახლება, სრული მასშტაბის შერჩევა = +/- 100 გ

bus.write_byte_data (0x18, 0x23, 0x00)

დრო. ძილი (0.5)

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

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

# X-Axis LSB, X-Axis MSB

data0 = bus.read_byte_data (0x18, 0x28)

data1 = bus.read_byte_data (0x18, 0x29)

# გადაიყვანეთ dataxAccl = data1 * 256 + data0

თუ xAccl> 32767:

xAccl -= 65536

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

# წაიკითხეთ მონაცემები 0x2A– დან (42), 2 ბაიტი

# Y-Axis LSB, Y-Axis MSB

data0 = bus.read_byte_data (0x18, 0x2A)

data1 = bus.read_byte_data (0x18, 0x2B)

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

yAccl = data1 * 256 + data0

თუ yAccl> 32767:

yAccl -= 65536

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

# წაიკითხეთ მონაცემები 0x2C– დან (44), 2 ბაიტი

# Z-Axis LSB, Z-Axis MSB

data0 = bus.read_byte_data (0x18, 0x2C)

data1 = bus.read_byte_data (0x18, 0x2D)

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

zAccl = data1 * 256 + data0

თუ zAccl> 32767:

zAccl -= 65536

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

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

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

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

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

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

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

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

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

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

გირჩევთ: