Სარჩევი:
ვიდეო: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: 4 Steps
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
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 სარეზერვო საშუალება და მრავალი სხვა.
გირჩევთ:
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 Steps
ჟოლო Pi - MPL3115A2 ზუსტი სიმაღლის სენსორის პითონის სამეურვეო პროგრამა: MPL3115A2 იყენებს MEMS წნევის სენსორს I2C ინტერფეისით, რათა უზრუნველყოს წნევის/სიმაღლისა და ტემპერატურის ზუსტი მონაცემები. სენსორის გამოსასვლელი ციფრულდება მაღალი რეზოლუციის 24-ბიტიანი ADC საშუალებით. შიდა დამუშავება ამოიღებს კომპენსაციის ამოცანებს
Raspberry Pi - BH1715 Digital Ambient Light Sensor Python Tutorial: 4 Steps
Raspberry Pi - BH1715 ციფრული გარემოს სინათლის სენსორი Python სამეურვეო პროგრამა: BH1715 არის ციფრული გარე განათების სენსორი I²C ავტობუსის ინტერფეისით. BH1715 ჩვეულებრივ გამოიყენება გარე განათების მონაცემების მოსაპოვებლად, მობილური მოწყობილობებისთვის LCD და კლავიატურის შუქნიშნის სიმძლავრის შესაცვლელად. ეს მოწყობილობა გთავაზობთ 16 ბიტიან გარჩევადობას და დამატებით
Raspberry Pi - TSL45315 Ambient Light Sensor Python Tutorial: 4 Steps
Raspberry Pi - TSL45315 Ambient Light Sensor Python Tutorial: TSL45315 არის ციფრული გარე განათების სენსორი. იგი უახლოვდება ადამიანის თვალის რეაქციას სხვადასხვა განათების პირობებში. მოწყობილობებს აქვთ სამი შერჩევითი ინტეგრაციის დრო და უზრუნველყოფენ პირდაპირ 16 ბიტიან ლუქს გამომუშავებას I2C ავტობუსის ინტერფეისის საშუალებით. მოწყობილობა თანამშრომლობს
Arduino Accelerometer Tutorial: გააკონტროლეთ გემის ხიდი სერვო ძრავის გამოყენებით: 5 ნაბიჯი
Arduino Accelerometer Tutorial: აკონტროლეთ გემის ხაზი სერვო ძრავის გამოყენებით: აქსელერომეტრის სენსორები არის ჩვენს სმარტფონების უმეტესობაში, რათა მათ გამოვიყენოთ მრავალფეროვანი გამოყენება და შესაძლებლობები, რომელსაც ჩვენ ყოველდღიურად ვიყენებთ, არც კი ვიცით, რომ ამაში პასუხისმგებელი არის ამაჩქარებელი. ერთ -ერთი ასეთი შესაძლებლობა არის კონტროლირებადი
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: 4 Steps
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: A1332 არის 360 ° უკონტაქტო მაღალი რეზოლუციის პროგრამირებადი მაგნიტური კუთხის პოზიციის სენსორი. ის განკუთვნილია ციფრული სისტემებისთვის I2C ინტერფეისის გამოყენებით. იგი აგებულია წრიული ვერტიკალური დარბაზის (CVH) ტექნოლოგიაზე და პროგრამირებადი მიკროპროცესორული სიგნალის საფუძველზე