Სარჩევი:
- ნაბიჯი 1: საჭირო აპარატურა:
- ნაბიჯი 2: აპარატურის დაკავშირება:
- ნაბიჯი 3: დაჩქარების გაზომვის კოდი:
- ნაბიჯი 4: პროგრამები:
ვიდეო: დაჩქარების გაზომვა ADXL345 და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
ADXL345 არის პატარა, თხელი, ულტრა დაბალი სიმძლავრის, 3 ღერძიანი ამაჩქარებელი მაღალი გარჩევადობის (13 ბიტიანი) გაზომვით ± 16 გ-მდე. ციფრული გამომავალი მონაცემები ფორმატირებულია, როგორც 16 ბიტიანი ორეული და არის ხელმისაწვდომი I2 C ციფრული ინტერფეისის საშუალებით. იგი ზომავს სიმძიმის სტატიკურ აჩქარებას დახრის მგრძნობიარე პროგრამებში, ასევე მოძრაობის ან დარტყმის შედეგად წარმოქმნილ დინამიურ აჩქარებას. მისი მაღალი გარჩევადობა (3.9 მგ/LSB) საშუალებას გაძლევთ გაზომოთ დახრილობის ცვლილებები 1.0 ° -ზე ნაკლები.
ამ გაკვეთილში ნაჩვენებია ADXL345 სენსორული მოდულის ინტერფეისი ჟოლოს პი და აჩვენეს მისი პროგრამირება პითონის ენის გამოყენებით. ყველა 3 ღერძზე აჩქარების მნიშვნელობების წასაკითხად, ჩვენ გამოვიყენეთ ჟოლოს პი I2C ადაპტერით. ეს I2C ადაპტერი სენსორულ მოდულთან კავშირს ხდის ადვილი და საიმედო.
ნაბიჯი 1: საჭირო აპარატურა:
მასალები, რომლებიც ჩვენ გვჭირდება ჩვენი მიზნის მისაღწევად, მოიცავს შემდეგ ტექნიკურ კომპონენტებს:
1. ADXL345
2. ჟოლო პი
3. I2C კაბელი
4. I2C ფარი ჟოლოს პი
5. Ethernet კაბელი
ნაბიჯი 2: აპარატურის დაკავშირება:
აპარატურის დაკავშირების განყოფილება ძირითადად განმარტავს გაყვანილობის კავშირებს სენსორსა და ჟოლოს პი შორის. სწორი კავშირების უზრუნველყოფა არის ძირითადი აუცილებლობა ნებისმიერ სისტემაზე მუშაობისას სასურველი გამომუშავებისთვის. ამრიგად, საჭირო კავშირები შემდეგია:
ADXL345 იმუშავებს I2C– ზე. აქ არის გაყვანილობის დიაგრამა, რომელიც აჩვენებს, თუ როგორ უნდა დააკავშიროთ სენსორის თითოეული ინტერფეისი.
ყუთის გარეშე, დაფა კონფიგურირებულია I2C ინტერფეისისთვის, ამიტომ ჩვენ გირჩევთ გამოიყენოთ ეს კავშირი, თუ სხვაგვარად ხართ აგნოსტიკოსი.
ყველაფერი რაც თქვენ გჭირდებათ არის ოთხი მავთული! მხოლოდ ოთხი კავშირია საჭირო Vcc, Gnd, SCL და SDA ქინძისთავები და ეს დაკავშირებულია I2C კაბელის დახმარებით.
ეს კავშირები ნაჩვენებია ზემოთ მოცემულ სურათებში.
ნაბიჯი 3: დაჩქარების გაზომვის კოდი:
ჟოლოს pi გამოყენების უპირატესობა ის არის, რომ თქვენ გაძლევთ პროგრამირების ენის მოქნილობას, რომლითაც გსურთ დაფის დაპროგრამება სენსორის მასთან ინტერფეისის მიზნით. ამ დაფის ამ უპირატესობის გამოყენებით, ჩვენ ვაჩვენებთ მის პროგრამირებას პითონში. ADXL345– ის პითონის კოდი შეგიძლიათ გადმოწეროთ ჩვენი github საზოგადოებიდან, რომელიც არის Control Everything Community.
ისევე როგორც მომხმარებლების სიმარტივისთვის, ჩვენ აქ განვმარტავთ კოდს:
როგორც კოდირების პირველი ნაბიჯი თქვენ უნდა გადმოწეროთ smbus ბიბლიოთეკა პითონის შემთხვევაში, რადგან ეს ბიბლიოთეკა მხარს უჭერს კოდში გამოყენებულ ფუნქციებს. ასე რომ, ბიბლიოთეკის გადმოსაწერად შეგიძლიათ ეწვიოთ შემდეგ ბმულს:
pypi.python.org/pypi/smbus-cffi/0.5.1
თქვენ ასევე შეგიძლიათ დააკოპიროთ პითონის კოდი ამ სენსორისთვის აქედან:
smbus- ის იმპორტი
იმპორტის დრო
# მიიღეთ I2C busbus = 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
ქვემოთ მოყვანილი კოდის ნაწილი მოიცავს ბიბლიოთეკებს, რომლებიც საჭიროა პითონის კოდების სწორად შესრულებისთვის.
იმპორტის smbus იმპორტის დრო
კოდი შეიძლება შესრულდეს ბრძანების სტრიქონში ქვემოთ მითითებული ბრძანების აკრეფით.
$> პითონი ADXL345.py
სენსორის გამომავალი ასევე ნაჩვენებია ზემოთ მოცემულ სურათზე მომხმარებლის მითითებისთვის.
ნაბიჯი 4: პროგრამები:
ADXL345 არის პატარა, თხელი, ულტრა დაბალი სიმძლავრის, 3 ღერძიანი ამაჩქარებელი, რომელიც შეიძლება გამოყენებულ იქნას ტელეფონებში, სამედიცინო აპარატურაში და ა.შ.
გირჩევთ:
დაჩქარების გაზომვა 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 ციფრული ინტერფეისის საშუალებით. ზომავს
3-ღერძიანი აქსელერომეტრი, ADXL345 ჟოლოს პიტონის გამოყენებით პითონის გამოყენებით: 6 ნაბიჯი
3-ღერძიანი ამაჩქარებელი, ADXL345 ჟოლოს პიტონის გამოყენებით: ფიქრი გაჯეტზე, რომელსაც შეუძლია შეამოწმოს ის წერტილი, რომლისკენაც თქვენი Offroader გადახრილია. არ იქნება ეს სასიამოვნო იმ შემთხვევაში, როდესაც ვიღაც მორგებულია, როდესაც არსებობს გადატრიალების შესაძლებლობა? ცხადია დიახ. მართალი იქნებოდა
დაჩქარების გაზომვა BMA250 და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი
დაჩქარების გაზომვა BMA250 და Raspberry Pi გამოყენებით: BMA250 არის პატარა, თხელი, ულტრაწონიანი, 3 ღერძიანი ამაჩქარებელი მაღალი გარჩევადობის (13-ბიტიანი) გაზომვით ± 16 გ-მდე. ციფრული გამომავალი მონაცემები არის ფორმატირებული, როგორც 16 ბიტიანი ორეული და ხელმისაწვდომია I2C ციფრული ინტერფეისის საშუალებით. ზომავს სტატიკურ
დაჩქარების გაზომვა BMA250 და ნაწილაკების ფოტონის გამოყენებით: 4 ნაბიჯი
დაჩქარების გაზომვა BMA250 და ნაწილაკების ფოტონის გამოყენებით: BMA250 არის მცირე, თხელი, ულტრა დაბალი სიმძლავრის, 3 ღერძიანი ამაჩქარებელი მაღალი გარჩევადობის (13 ბიტიანი) გაზომვით ± 16 გ-მდე. ციფრული გამომავალი მონაცემები არის ფორმატირებული, როგორც 16 ბიტიანი ორეული და ხელმისაწვდომია I2C ციფრული ინტერფეისის საშუალებით. ზომავს სტატიკურ