Სარჩევი:
- ნაბიჯი 1: BMG160 მიმოხილვა:
- ნაბიჯი 2: რაც გჭირდებათ..
- ნაბიჯი 3: აპარატურის დაკავშირება:
- ნაბიჯი 4: 3 ღერძიანი გიროსკოპის გაზომვა ჯავის კოდის გამოყენებით:
- ნაბიჯი 5: პროგრამები:
ვიდეო: 3 ღერძიანი გიროსკოპის სენსორის BMG160 ინტერფეისით ჟოლოს პი: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
დღევანდელ მსოფლიოში, ახალგაზრდების და ბავშვების ნახევარზე მეტს უყვარს თამაში და ყველა მათ, ვინც მას უყვარს, თამაშების ტექნიკური ასპექტებით მოხიბლული იცის ამ სფეროში მოძრაობის შეგრძნების მნიშვნელობა. ჩვენც გაოგნებული ვიყავით ერთიდაიგივე და მხოლოდ დაფაზე რომ მოვიყვანეთ, ჩვენ ვიფიქრეთ გიროსკოპის სენსორზე მუშაობაზე, რომელსაც შეუძლია ნებისმიერი ობიექტის კუთხის სიჩქარის გაზომვა. ამრიგად, სენსორი, რომელიც ჩვენ დავაყენეთ ამოცანის შესასრულებლად არის BMG160. BMG160 არის 16 ბიტიანი, ციფრული, ტრიაქსიალური, გიროსკოპის სენსორი, რომელსაც შეუძლია გაზომოთ კუთხის სიჩქარე ოთახის სამ პერპენდიკულარულ განზომილებაში.
ამ გაკვეთილში ჩვენ ვაპირებთ ვაჩვენოთ BMG160– ის მუშაობა Raspberry pi– ით, Java– ს პროგრამირების ენად.
აპარატურა, რომელიც დაგჭირდებათ ამ მიზნით, არის შემდეგი:
1. BMG160
2. ჟოლო პი
3. I2C კაბელი
4. I2C ფარი ჟოლოს პიისთვის
5. Ethernet კაბელი
ნაბიჯი 1: BMG160 მიმოხილვა:
უპირველეს ყოვლისა, ჩვენ გვსურს გაეცნოთ სენსორული მოდულის ძირითად მახასიათებლებს, რომელიც არის BMG160 და საკომუნიკაციო პროტოკოლი, რომელზეც ის მუშაობს.
BMG160 ძირითადად არის 16-ბიტიანი, ციფრული, ტრიაქსიალური, გიროსკოპის სენსორი, რომელსაც შეუძლია გაზომოთ კუთხის სიჩქარე. მას შეუძლია გამოთვალოს კუთხის სიჩქარე ოთახის სამ პერპენდიკულარულ განზომილებაში, x-, y- და z ღერძი და უზრუნველყოს შესაბამისი გამომავალი სიგნალები. მას შეუძლია ჟოლოს პი დაფაზე კომუნიკაცია I2C საკომუნიკაციო პროტოკოლის გამოყენებით. ეს კონკრეტული მოდული შექმნილია იმისათვის, რომ დააკმაყოფილოს მოთხოვნები როგორც სამომხმარებლო პროგრამებისთვის, ასევე სამრეწველო მიზნებისთვის.
საკომუნიკაციო ოქმი, რომელზეც მუშაობს სენსორი არის I2C. I2C ნიშნავს ინტეგრირებულ წრეს. ეს არის საკომუნიკაციო პროტოკოლი, რომელშიც კომუნიკაცია ხდება SDA (სერიული მონაცემები) და SCL (სერიული საათი) ხაზებით. ეს საშუალებას გაძლევთ დააკავშიროთ რამდენიმე მოწყობილობა ერთდროულად. ეს არის ერთ -ერთი ყველაზე მარტივი და ეფექტური საკომუნიკაციო პროტოკოლი.
ნაბიჯი 2: რაც გჭირდებათ..
მასალები, რომლებიც ჩვენ გვჭირდება ჩვენი მიზნის მისაღწევად, მოიცავს შემდეგ ტექნიკურ კომპონენტებს:
1. BMG160
2. ჟოლო პი
3. I2C კაბელი
4. I2C ფარი ჟოლოს პიისთვის
5. Ethernet კაბელი
ნაბიჯი 3: აპარატურის დაკავშირება:
აპარატურის დაკავშირების განყოფილება ძირითადად განმარტავს გაყვანილობის კავშირებს სენსორსა და ჟოლოს პი შორის. სწორი კავშირების უზრუნველყოფა არის ძირითადი აუცილებლობა ნებისმიერ სისტემაზე მუშაობისას სასურველი გამომუშავებისთვის. ამრიგად, საჭირო კავშირები შემდეგია:
BMG160 იმუშავებს I2C– ზე. აქ არის გაყვანილობის დიაგრამა, რომელიც აჩვენებს, თუ როგორ უნდა დააკავშიროთ სენსორის თითოეული ინტერფეისი.
ყუთის გარეშე, დაფა კონფიგურირებულია I2C ინტერფეისისთვის, ამიტომ ჩვენ გირჩევთ გამოიყენოთ ეს კავშირი, თუ სხვაგვარად ხართ აგნოსტიკოსი. ყველაფერი რაც თქვენ გჭირდებათ არის ოთხი მავთული!
მხოლოდ ოთხი კავშირია საჭირო Vcc, Gnd, SCL და SDA ქინძისთავები და ეს დაკავშირებულია I2C კაბელის დახმარებით.
ეს კავშირები ნაჩვენებია ზემოთ მოცემულ სურათებში.
ნაბიჯი 4: 3 ღერძიანი გიროსკოპის გაზომვა ჯავის კოდის გამოყენებით:
ჟოლოს pi გამოყენების უპირატესობა ის არის, რომ თქვენ გაძლევთ პროგრამირების ენის მოქნილობას, რომლითაც გსურთ დაფის დაპროგრამება სენსორის მასთან ინტერფეისის მიზნით. ამ დაფის ამ უპირატესობის გამოყენებით, ჩვენ ვაჩვენებთ მის პროგრამირებას ჯავაში. BMG160– ის ჯავის კოდი შეგიძლიათ გადმოწეროთ ჩვენი github საზოგადოებიდან, ეს არის Dcube Store Community.
ისევე როგორც მომხმარებლების სიმარტივისთვის, ჩვენ აქაც ავხსნით კოდს: როგორც კოდირების პირველი ნაბიჯი თქვენ უნდა გადმოწეროთ pi4j ბიბლიოთეკა java- ს შემთხვევაში, რადგან ეს ბიბლიოთეკა მხარს უჭერს კოდში გამოყენებულ ფუნქციებს. ასე რომ, ბიბლიოთეკის გადმოსაწერად შეგიძლიათ ეწვიოთ შემდეგ ბმულს:
pi4j.com/install.html
თქვენ შეგიძლიათ დააკოპიროთ ამ სენსორის სამუშაო java კოდი აქედან:
იმპორტი com.pi4j.io.i2c. I2CBus;
იმპორტი com.pi4j.io.i2c. I2CD მოწყობილობა;
იმპორტი com.pi4j.io.i2c. I2C ქარხანა;
იმპორტი java.io. IOException;
საზოგადოებრივი კლასი BMG160
{
public static void main (სიმებიანი args ) ისვრის გამონაკლისს
{
// I2C ავტობუსის შექმნა
I2CBus ავტობუსი = I2CFactory.getInstance (I2CBus. BUS_1);
// მიიღეთ I2C მოწყობილობა, BMG160 I2C მისამართი არის 0x68 (104)
I2CD მოწყობილობა = bus.getDevice (0x68);
// დიაპაზონის რეგისტრაციის არჩევა
// მასშტაბის დიაპაზონის კონფიგურაცია, 2000 dps
device.write (0x0F, (byte) 0x80);
// გამტარუნარიანობის რეგისტრატორის არჩევა
// გამტარუნარიანობა 200 ჰც
device.write (0x10, (byte) 0x04);
თემა. ძილი (500);
// წაიკითხეთ მონაცემების 6 ბაიტი
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb
ბაიტი მონაცემები = ახალი ბაიტი [6];
მოწყობილობა. წაკითხვა (0x02, მონაცემები, 0, 6);
// მონაცემების კონვერტაცია
int xGyro = ((მონაცემები [1] & 0xFF) * 256 + (მონაცემები [0] & 0xFF));
if (xGyro> 32767)
{
xGyro -= 65536;
}
int yGyro = ((მონაცემები [3] & 0xFF) * 256 + (მონაცემები [2] & 0xFF));
თუ (yGyro> 32767)
{
yGyro -= 65536;
}
int zGyro = ((მონაცემები [5] & 0xFF) * 256 + (მონაცემები [4] & 0xFF));
if (zGyro> 32767)
{
zGyro -= 65536;
}
// მონაცემების გამოტანა ეკრანზე
System.out.printf ("ბრუნვის X- ღერძი: %d %n", xGyro);
System.out.printf ("ბრუნვის Y- ღერძი: %d %n", yGyro);
System.out.printf ("ბრუნვის Z ღერძი: %d %n", zGyro);
}
}
ბიბლიოთეკა, რომელიც ხელს უწყობს სენსორსა და დაფას შორის i2c კომუნიკაციას, არის pi4j, მისი სხვადასხვა პაკეტი I2CBus, I2CDevice და I2CFactory ხელს უწყობს კავშირის დამყარებას.
იმპორტი com.pi4j.io.i2c. I2CBus; იმპორტი com.pi4j.io.i2c. I2CD მოწყობილობა; იმპორტი com.pi4j.io.i2c. I2C ქარხანა; იმპორტი java.io. IOException;
კოდის ეს ნაწილი აიძულებს სენსორს შეაფასოს კუთხის სიხშირე შესაბამისი ბრძანებების ჩაწერით ჩაწერის () ფუნქციის გამოყენებით და შემდეგ მონაცემები იკითხება წაკითხვის () ფუნქციის გამოყენებით.
// დიაპაზონის რეგისტრაციის არჩევა // სრული დიაპაზონის კონფიგურაცია, 2000 dps მოწყობილობა. დაწერეთ (0x0F, (ბაიტი) 0x80); // აირჩიეთ გამტარუნარიანობის რეგისტრატორი // გამტარუნარიანობა 200 Hz მოწყობილობა. დაწერეთ (0x10, (ბაიტი) 0x04); თემა. ძილი (500);
// წაიკითხეთ მონაცემების 6 ბაიტი
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb ბაიტი მონაცემები = ახალი ბაიტი [6]; მოწყობილობა. წაკითხვა (0x02, მონაცემები, 0, 6);
სენსორისგან მიღებული მონაცემები გარდაიქმნება შესაბამის ფორმატში შემდეგით:
int xGyro = ((მონაცემები [1] & 0xFF) * 256 + (მონაცემები [0] & 0xFF)); თუ (xGyro> 32767) {xGyro -= 65536; } int yGyro = ((მონაცემები [3] & 0xFF) * 256 + (მონაცემები [2] & 0xFF)); თუ (yGyro> 32767) {yGyro -= 65536; } int zGyro = ((მონაცემები [5] & 0xFF) * 256 + (მონაცემები [4] & 0xFF)); if (zGyro> 32767) {zGyro -= 65536; }
გამომავალი დაბეჭდილია System.out.println () ფუნქციის გამოყენებით, შემდეგ ფორმატში.
System.out.println ("ბრუნვის X- ღერძი: %d %n", xGyro); System.out.println ("ბრუნვის Y- ღერძი: %d %n", yGyro); System.out.println ("ბრუნვის Z ღერძი: %d %n", zGyro);
სენსორის გამოსავალი ნაჩვენებია ზემოთ მოცემულ სურათზე.
ნაბიჯი 5: პროგრამები:
BMG160– ს აქვს მრავალფეროვანი პროგრამა იმ მოწყობილობებში, როგორიცაა მობილური ტელეფონები, ადამიანის აპარატის ინტერფეისის მოწყობილობები. ეს სენსორული მოდული შემუშავებულია მომხმარებლის მოთხოვნების დასაკმაყოფილებლად, როგორიცაა გამოსახულების სტაბილიზაცია (DSC და კამერა-ტელეფონი), სათამაშო და საჩვენებელი მოწყობილობები. იგი ასევე გამოიყენება სისტემებში, რომლებიც მოითხოვს ჟესტების აღიარებას და სისტემებს, რომლებიც გამოიყენება შიდა ნავიგაციაში.
გირჩევთ:
3 ღერძიანი გიროსკოპის სენსორის BMG160 დაკავშირება არდუინო ნანოსთან: 5 ნაბიჯი
3 ღერძიანი გიროსკოპის სენსორის BMG160 ინტერფეისი არდუინო ნანოსთან: დღევანდელ სამყაროში ახალგაზრდების და ბავშვების ნახევარზე მეტს უყვარს თამაში და ყველა ვისაც უყვარს, თამაშების ტექნიკური ასპექტებით მოხიბლული იცის მოძრაობის აღქმის მნიშვნელობა ამ დომენში. ჩვენც გაოგნებული ვიყავით ერთი და იგივე რამით
წვრილმანი ციფრული მანძილის გაზომვა ულტრაბგერითი სენსორის ინტერფეისით: 5 ნაბიჯი
წვრილმანი ციფრული მანძილის გაზომვა ულტრაბგერითი სენსორის ინტერფეისით: ამ ინსტრუქციის მიზანია შექმნას ციფრული მანძილის სენსორი GreenPAK SLG46537- ის დახმარებით. სისტემა შექმნილია ASM– ის და GreenPAK– ის სხვა კომპონენტების გამოყენებით ულტრაბგერითი სენსორთან ურთიერთქმედების მიზნით. სისტემა შექმნილია იმისთვის, რომ
მოძრაობის კონტროლი ჟოლოს პი და LIS3DHTR, 3 ღერძიანი ამაჩქარებელი, პითონის გამოყენებით: 6 ნაბიჯი
მოძრაობის კონტროლი ჟოლოს Pi და LIS3DHTR, 3 ღერძიანი აქსელერომეტრით, პითონის გამოყენებით: სილამაზე გარშემორტყმულია ჩვენთვის, მაგრამ ჩვეულებრივ, ჩვენ უნდა ვიაროთ ბაღში, რომ ეს ვიცოდეთ. - რუმი როგორც განათლებული ჯგუფი, როგორც ჩანს, ჩვენ ვხარჯავთ ჩვენი ენერგიის უმეტესი ნაწილის მუშაობას კომპიუტერებსა და მობილურ ტელეფონებზე. ამიტომ, ჩვენ ხშირად ვუშვებთ ჩვენს კეთილდღეობას
3 ღერძიანი გიროსკოპის სენსორის ურთიერთკავშირი BMG160 ნაწილაკით: 5 ნაბიჯი
3 ღერძიანი გიროსკოპის სენსორის BMG160 ნაწილაკთან დაკავშირება: დღევანდელ სამყაროში ახალგაზრდების და ბავშვების ნახევარზე მეტს უყვარს თამაში და ყველა, ვინც მას უყვარს, თამაშების ტექნიკური ასპექტებით მოხიბლული იცის მოძრაობის აღქმის მნიშვნელობა ეს დომენი ჩვენც გაოგნებული ვიყავით ერთი და იგივე რამით
MPU6050-აქსელერომეტრი+გიროსკოპის სენსორის საფუძვლები: 3 ნაბიჯი
MPU6050-ამაჩქარებელი+გიროსკოპის სენსორი სხეულის, კომბინაციის გამოყენებით