Სარჩევი:

3-ღერძიანი აქსელერომეტრი, ADXL345 ჟოლოს პიტონის გამოყენებით პითონის გამოყენებით: 6 ნაბიჯი
3-ღერძიანი აქსელერომეტრი, ADXL345 ჟოლოს პიტონის გამოყენებით პითონის გამოყენებით: 6 ნაბიჯი

ვიდეო: 3-ღერძიანი აქსელერომეტრი, ADXL345 ჟოლოს პიტონის გამოყენებით პითონის გამოყენებით: 6 ნაბიჯი

ვიდეო: 3-ღერძიანი აქსელერომეტრი, ADXL345 ჟოლოს პიტონის გამოყენებით პითონის გამოყენებით: 6 ნაბიჯი
ვიდეო: Arduino Nano და GY-521 MPU6050 3 ღერძიანი გიროსკოპი, 3 ღერძიანი აქსელერომეტრი და DMP 2024, ნოემბერი
Anonim
3-ღერძიანი აქსელერომეტრი, ADXL345 ჟოლოს Pi პითონის გამოყენებით
3-ღერძიანი აქსელერომეტრი, ADXL345 ჟოლოს Pi პითონის გამოყენებით

იფიქრეთ გაჯეტზე, რომელსაც შეუძლია შეამოწმოს ის წერტილი, რომლისკენაც თქვენი Offroader დახრილია. არ იქნება ეს სასიამოვნო იმ შემთხვევაში, როდესაც ვიღაც მორგებულია, როდესაც არსებობს გადატრიალების შესაძლებლობა? ცხადია დიახ. ეს ნამდვილად სასარგებლო იქნებოდა მათთვის, ვისაც უყვარს მთებში სიარული და საწარმოო მოგზაურობები.

ეჭვგარეშეა, მოწინავე შეფასების ნამდვილი ბრწყინვალე პერიოდი, IoT ჩვენზეა. ჩვენ, როგორც გაჯეტებისა და პროგრამირების მოყვარულებს, გვჯერა, რომ Raspberry Pi, მიკრო ლინუქს კომპიუტერმა განიცადა ადამიანების შემოქმედებითი შესაძლებლობები ზოგადად, თან ახლდა ინოვაციური მეთოდოლოგია. მაშ, რა არის სავარაუდო შედეგები, რისი გაკეთებაც შეგვიძლია იმ შემთხვევაში, თუ ჩვენ გვაქვს ჟოლოს Pi და 3 ღერძიანი აქსელერომეტრი ახლოს? ჩვენ უნდა აღმოვაჩინოთ! ამ ამოცანისას ჩვენ ვგრძნობთ აჩქარებას 3 ღერძზე, X, Y და Z, Raspberry Pi და ADXL345, 3 ღერძიანი ამაჩქარებლის გამოყენებით. ამ ექსკურსიაზე უნდა გავითვალისწინოთ, რომ შევქმნათ ჩარჩო, რომ გავზომოთ სამგანზომილებიანი აჩქარება მაღლა ან G- ძალა.

ნაბიჯი 1: ჩვენ გვჭირდება ძირითადი აპარატურა

ძირითადი ტექნიკა, რომელიც ჩვენ გვჭირდება
ძირითადი ტექნიკა, რომელიც ჩვენ გვჭირდება
ძირითადი ტექნიკა, რომელიც ჩვენ გვჭირდება
ძირითადი ტექნიკა, რომელიც ჩვენ გვჭირდება
ძირითადი ტექნიკა, რომელიც ჩვენ გვჭირდება
ძირითადი ტექნიკა, რომელიც ჩვენ გვჭირდება

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

1. ჟოლო პი

საწყისი ნაბიჯი იყო Raspberry Pi დაფის შეძენა. ეს პატარა, დაბალი სიმძლავრის კომპიუტერი უზრუნველყოფს იაფ და ზოგადად მარტივ ბაზას ელექტრონული საწარმოებისთვის, ნივთების ინტერნეტი (IoT), ჭკვიანი ქალაქები, სასკოლო განათლება.

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

მთავარი, რაც Raspberry Pi ნამდვილად აკლია არის I²C პორტი. ამისათვის TOUTPI2 I²C კონექტორი გაძლევთ საშუალებას გამოიყენოთ Rasp Pi მრავალჯერადი I²C მოწყობილობებით. ის ხელმისაწვდომია DCUBE მაღაზიაში

3. 3 ღერძიანი ამაჩქარებელი, ADXL345

დამზადებულია ანალოგური მოწყობილობების მიერ, ADXL345, არის დაბალი სიმძლავრის 3 ღერძიანი ამაჩქარებელი, მაღალი რეზოლუციის 13 ბიტიანი გაზომვით ± 16 გ-მდე. ჩვენ შევიძინეთ ეს სენსორი DCUBE Store– დან

4. დამაკავშირებელი კაბელი

ჩვენ გვქონდა I2C დამაკავშირებელი კაბელი, რომელიც ხელმისაწვდომი იყო DCUBE მაღაზიაში

5. მიკრო USB კაბელი

ოდნავი დაბნეული, მაგრამ ყველაზე მკაცრი რამდენადაც ენერგიის აუცილებლობა არის ჟოლო პი! Raspberry Pi- ს გაძლიერების ყველაზე მარტივი გზა არის მიკრო USB კაბელის საშუალებით.

6. ვებ წვდომა არის საჭიროება

ვებ წვდომა შეიძლება გაძლიერდეს Ethernet (LAN) კაბელის საშუალებით, რომელიც დაკავშირებულია ადგილობრივ ქსელთან და ინტერნეტში. მეორეს მხრივ, თქვენ შეგიძლიათ დაუკავშირდეთ უკაბელო ქსელს USB უკაბელო დონგის გამოყენებით, რაც მოითხოვს კონფიგურაციას.

7. HDMI კაბელი/დისტანციური წვდომა

ბორტზე HDMI კაბელით შეგიძლიათ დააკავშიროთ იგი ციფრულ ტელევიზიასთან ან მონიტორთან. საჭიროა ფულის დაზოგვა! Raspberry Pi შეიძლება დისტანციურად იქნას გამოყენებული ისეთი გამორჩეული სტრატეგიების მსგავსად, როგორიცაა SSH და ინტერნეტში წვდომა. თქვენ შეგიძლიათ გამოიყენოთ PuTTYopen წყაროს პროგრამული უზრუნველყოფა.

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

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

სქემის მიხედვით სქემის მიხედვით გამოჩნდა. შეადგინეთ მონახაზი და მიიღეთ კონფიგურაციის შემდეგ შეგნებულად.

Raspberry Pi და I2C Shield კავშირი

უპირველეს ყოვლისა, აიღეთ Raspberry Pi და დაინახეთ I2C Shield მასზე. დააჭირეთ ფარს დელიკატურად Pi- ს GPIO ქინძისთავებზე და ჩვენ დავასრულებთ ამ პროგრესს ისეთივე მარტივი, როგორც ტორტი (იხ. ვადამდელი).

სენსორისა და ჟოლოს Pi კავშირი

აიღეთ სენსორი და დააკავშირეთ I2C კაბელი. ამ კაბელის სათანადო მუშაობისთვის, გთხოვთ გაიხსენოთ I2C გამომავალი ყოველთვის ასოცირდება I2C შეყვანისას. იგივე უნდა იქნას მიღებული Raspberry Pi– სთვის I2C ფარით დამონტაჟებული GPIO ქინძისთავებით.

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

შენიშვნა: ყავისფერი მავთული საიმედოდ უნდა დაიცვას Ground (GND) კავშირი ერთი მოწყობილობის გამომუშავებასა და სხვა მოწყობილობის შეყვანას შორის

ვებ ქსელი არის მთავარი

იმისათვის, რომ ჩვენი წამოწყება გამარჯვებული იყოს, ჩვენ გვჭირდება ვებ - კავშირი ჩვენი Raspberry Pi– სთვის. ამისათვის თქვენ გაქვთ ალტერნატივები, როგორიცაა Ethernet (LAN) კაბელის დაკავშირება სახლის სისტემასთან. გარდა ამისა, როგორც ვარიანტი, თუმცა, სასარგებლო მარშრუტი არის WiFi კონექტორის გამოყენება. ზოგიერთ დროს ამისათვის თქვენ გჭირდებათ მძღოლი, რომ ის იმუშაოს. ასე რომ, მიჰყევით მას, ვინც Linux- შია გამოსახული.

Ენერგიის წყარო

შეაერთეთ მიკრო USB კაბელი Raspberry Pi- ს კვების ბლოკში. აანთეთ და კარგია წასვლა.

ეკრანთან კავშირი

ჩვენ შეგვიძლია გვქონდეს HDMI კაბელი დაკავშირებული სხვა ეკრანთან. ზოგიერთ შემთხვევაში, თქვენ უნდა მიხვიდეთ Raspberry Pi– თან ეკრანზე ინტერფეისის გარეშე, ან შეიძლება დაგჭირდეთ მისგან სხვა მონაცემების ნახვა სხვაგან. რასაკვირველია, არსებობს ინოვაციური და ფინანსურად გააზრებული მიდგომები, როგორც ასეთი. ერთ -ერთი მათგანი იყენებს - SSH (დისტანციური ბრძანების ხაზის შესვლა). თქვენ ასევე შეგიძლიათ გამოიყენოთ PuTTY პროგრამული უზრუნველყოფა ამისათვის.

ნაბიჯი 3: პითონის კოდირება ჟოლოსთვის

პითონის კოდირება ჟოლოს პიისთვის
პითონის კოდირება ჟოლოს პიისთვის

Raspberry Pi და ADXL345 სენსორის პითონის კოდი ხელმისაწვდომია ჩვენს Github საცავში.

სანამ კოდზე გადახვალთ, დარწმუნდით, რომ წაიკითხავთ Readme დოკუმენტში მოცემულ მითითებებს და შექმენით თქვენი Raspberry Pi შესაბამისად. უბრალოდ ერთი წუთით შეჩერდება ამის გაკეთება.

ამაჩქარებელი არის მოწყობილობა, რომელიც ზომავს სათანადო აჩქარებას; სათანადო აჩქარება არ არის იგივე კოორდინირებული აჩქარება (სიჩქარის ცვლილების სიჩქარე). ამაჩქარებლის ერთჯერადი და მრავალ ღერძიანი მოდელები ხელმისაწვდომია სათანადო აჩქარების სიდიდისა და მიმართულების დასადგენად, როგორც ვექტორული რაოდენობა და შეიძლება გამოყენებულ იქნას ორიენტაციის, კოორდინაციის აჩქარების, ვიბრაციის, დარტყმისა და რეზისტენტულ გარემოში დაცემისათვის.

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

# განაწილებულია თავისუფალი ნების ლიცენზიით.# გამოიყენეთ იგი როგორც გინდათ, მოგებით თუ უფასოდ, იმ პირობით, რომ იგი ჯდება ლიცენზიებთან დაკავშირებული სამუშაოების. # ADXL345 # ეს კოდი შექმნილია ADXL345_I2CS I2C მინი მოდულთან მუშაობისთვის dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -მოდული/

smbus- ის იმპორტი

იმპორტის დრო

# მიიღეთ I2C ავტობუსი

ავტობუსი = smbus. SMBus (1)

# ADXL345 მისამართი, 0x53 (83)

# აირჩიეთ გამტარუნარიანობის სიჩქარის რეგისტრატორი, 0x2C (44) # 0x0A (10) ნორმალური რეჟიმი, გამომავალი მონაცემების სიხშირე = 100 Hz ავტობუსი. ჩაწერეთ_ბიტა_დანაშაულები (0x53, 0x2C, 0x0A) # ADXL345 მისამართი, 0x53 (83) # აირჩიეთ დენის კონტროლის რეგისტრატორი, 0x2D (45) # 0x08 (08) ავტომატური ძილი გამორთეთ ავტობუსი. დაწერეთ_ბიტე_დანაწერი (0x53, 0x2D, 0x08) # ADXL345 მისამართი, 0x53 (83) # აირჩიეთ მონაცემთა ფორმატის რეგისტრაცია, 0x31 (49) # 0x08 (08) თვითტესტილი გამორთულია, 4 მავთული ინტერფეისი # სრული გარჩევადობა, დიაპაზონი = +/- 2 გ ავტობუსი. დაწერეთ_ბიტ_დანაშაულები (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

ნაბიჯი 4: კოდექსის პრაქტიკულობა

კოდექსის პრაქტიკულობა
კოდექსის პრაქტიკულობა

ჩამოტვირთეთ (ან git pull) კოდი Github– დან და გახსენით იგი Raspberry Pi– ში.

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

ნაბიჯი 5: პროგრამები და მახასიათებლები

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

ნაბიჯი 6: დასკვნა

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

მაგალითად, თქვენ შეგიძლიათ დაიწყოთ ინკლინომეტრის იდეით ADXL345 და Raspberry Pi გამოყენებით. ზემოაღნიშნულ პროექტში ჩვენ გამოვიყენეთ ძირითადი გათვლები. თქვენ შეგიძლიათ იმპროვიზაცია გაუკეთოთ G- მნიშვნელობებს, ფერდობის (ან დახრის) კუთხეებს, ობიექტის ამაღლებას ან დეპრესიას სიმძიმის მიმართ. შემდეგ თქვენ შეგიძლიათ შეამოწმოთ წინასწარი პარამეტრები, როგორიცაა ბრუნვის კუთხეები როლისთვის (წინა-უკანა ღერძი, X), მოედანზე (გვერდიდან-ღერძი, Y) და yaw (ვერტიკალური ღერძი, Z). ეს ამაჩქარებელი აჩვენებს 3-D G- ძალებს. ამრიგად, თქვენ შეგიძლიათ გამოიყენოთ ეს სენსორი სხვადასხვა გზით.

თქვენი კომფორტისთვის, ჩვენ გვაქვს მომხიბლავი ვიდეო სასწავლო სავარჯიშო YouTube– ზე, რომელიც შეიძლება დაგეხმაროთ თქვენს გამოძიებაში. ენდეთ ამ საწარმოს შემდგომი ძიების მოტივაციას. განაგრძე ჭვრეტა! დაიმახსოვრე, რომ ეძებდე, რადგან უფრო და უფრო მეტი მოდის.

გირჩევთ: