Სარჩევი:
- ნაბიჯი 1: საჭირო აპარატურა:
- ნაბიჯი 2: აპარატურის დაკავშირება:
- ნაბიჯი 3: ჯავის კოდი მაგნიტური ველის ინტენსივობის გასაზომად:
- ნაბიჯი 4: პროგრამები:
ვიდეო: მაგნიტური ველის გაზომვა HMC5883 და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
HMC5883 არის ციფრული კომპასი, რომელიც შექმნილია დაბალი ველის მაგნიტური აღქმისთვის. ამ მოწყობილობას აქვს მაგნიტური ველის ფართო დიაპაზონი +/- 8 Oe და გამომავალი სიჩქარე 160 ჰც. HMC5883 სენსორი მოიცავს სამაგრების ავტომატური გათიშვის დრაივერებს, ოფსეტური გაუქმებით და 12 ბიტიანი ADC, რომელიც კომპასის სათაურის სიზუსტეს 1 ° -დან 2 ° -მდე იძლევა. ყველა I²C მინი მოდული შექმნილია 5VDC- ზე მუშაობისთვის.
ამ გაკვეთილში ჩვენ ვაპირებთ ავხსნათ HMC5883– ის დეტალური მუშაობა Raspberry pi– თან და მისი პროგრამირება java პროგრამირების ენის გამოყენებით.
ნაბიჯი 1: საჭირო აპარატურა:
აპარატურა, რომელიც საჭიროა დავალების შესასრულებლად, არის შემდეგი:
1. HMC5883
2. ჟოლო პი
3. I2C კაბელი
4. I2C ფარი ჟოლოს პიისთვის
5. Ethernet კაბელი
ნაბიჯი 2: აპარატურის დაკავშირება:
აპარატურის დაკავშირების განყოფილება ძირითადად განმარტავს გაყვანილობის კავშირებს სენსორსა და ჟოლოს პი შორის. სწორი კავშირების უზრუნველყოფა არის ძირითადი აუცილებლობა ნებისმიერ სისტემაზე მუშაობისას სასურველი გამომუშავებისთვის. ამრიგად, საჭირო კავშირები შემდეგია:
HMC5883 იმუშავებს I2C– ზე. აქ არის გაყვანილობის დიაგრამა, რომელიც აჩვენებს, თუ როგორ უნდა დააკავშიროთ სენსორის თითოეული ინტერფეისი.
ყუთის გარეშე, დაფა კონფიგურირებულია I2C ინტერფეისისთვის, ამიტომ ჩვენ გირჩევთ გამოიყენოთ ეს კავშირი, თუ სხვაგვარად ხართ აგნოსტიკოსი. ყველაფერი რაც თქვენ გჭირდებათ არის ოთხი მავთული!
მხოლოდ ოთხი კავშირია საჭირო Vcc, Gnd, SCL და SDA ქინძისთავები და ეს დაკავშირებულია I2C კაბელის დახმარებით.
ეს კავშირები ნაჩვენებია ზემოთ მოცემულ სურათებში.
ნაბიჯი 3: ჯავის კოდი მაგნიტური ველის ინტენსივობის გასაზომად:
ჟოლოს pi გამოყენების უპირატესობა ის არის, რომ თქვენ უზრუნველყოფთ პროგრამირების ენის მოქნილობას, რომლითაც გსურთ დაფის დაპროგრამება, რათა სენსორი მასთან დააკავშიროთ. ამ დაფის ამ უპირატესობის გამოყენებისას ჩვენ ვაჩვენებთ, რომ ეს არის პროგრამირება ჯავაში. HMC5883- ის java კოდი შეიძლება გადმოწერილი იყოს ჩვენი github საზოგადოებიდან, რომელიც არის Dcube Store.
ისევე როგორც მომხმარებლების სიმარტივისთვის, ჩვენ აქ განვმარტავთ კოდს:
როგორც კოდირების პირველი ნაბიჯი, თქვენ უნდა გადმოწეროთ pi4j ბიბლიოთეკა java- ს შემთხვევაში, რადგან ეს ბიბლიოთეკა მხარს უჭერს კოდში გამოყენებულ ფუნქციებს. ასე რომ, ბიბლიოთეკის გადმოსაწერად შეგიძლიათ ეწვიოთ შემდეგ ბმულს:
pi4j.com/install.html
თქვენ შეგიძლიათ დააკოპიროთ ამ სენსორის სამუშაო java კოდი აქედან:
იმპორტი com.pi4j.io.i2c. I2CBus;
იმპორტი com.pi4j.io.i2c. I2CD მოწყობილობა;
mport com.pi4j.io.i2c. I2C ქარხანა;
იმპორტი java.io. IOException; საჯარო კლასი HMC5883
{
public static void main (სიმებიანი args ) ისვრის გამონაკლისს
{
// I2C ავტობუსის შექმნა
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// მიიღეთ I2C მოწყობილობა, HMC5883 I2C მისამართი არის 0x1E (30)
I2CD მოწყობილობის მოწყობილობა = Bus.getDevice (0x1E);
// აირჩიეთ კონფიგურაციის რეგისტრი A
// ნორმალური გაზომვის კონფიგურაცია, მონაცემთა სიჩქარე o/p = 0.75 Hz
device.write (0x00, (ბაიტი) 0x60);
// აირჩიეთ რეგისტრაციის რეჟიმი
// უწყვეტი გაზომვის რეჟიმი
device.write (0x02, (byte) 0x00);
თემა. ძილი (500);
// წაიკითხეთ მონაცემების 6 ბაიტი 0x03– დან (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
ბაიტი მონაცემები = ახალი ბაიტი [6];
device.read (0x03, მონაცემები, 0, 6);
// მონაცემების კონვერტაცია
int xMag = ((მონაცემები [0] & 0xFF) * 256 + (მონაცემები [1] & 0xFF));
თუ (xMag> 32767)
{
xMag -= 65536;
}
int zMag = ((მონაცემები [2] & 0xFF) * 256 + (მონაცემები [3] & 0xFF));
if (zMag> 32767)
{
zMag -= 65536;
}
int yMag = ((მონაცემები [4] & 0xFF) * 256 + (მონაცემები [5] & 0xFF));
if (yMag> 32767)
{
yMag -= 65536;
}
// მონაცემების გამოტანა ეკრანზე
System.out.printf ("მაგნიტური ველი X- ღერძში: %d %n", xMag);
System.out.printf ("მაგნიტური ველი Y- ღერძში: %d %n", yMag);
System.out.printf ("მაგნიტური ველი Z- ღერძში: %d %n", zMag);
}
}
ჩაწერის () და წაკითხვის () ფუნქციები გამოიყენება ბრძანებების დასაწერად და შესაბამისად სენსორის გამომავალი წაკითხვისთვის. შემდეგი ნაწილი ასახავს მაგნიტური ველის მნიშვნელობების კითხვას.
// წაიკითხეთ მონაცემების 6 ბაიტი 0x03– დან (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
ბაიტი მონაცემები = ახალი ბაიტი [6];
device.read (0x03, მონაცემები, 0, 6);
გამომავალი ნაჩვენებია ზემოთ მოცემულ სურათზე.
ნაბიჯი 4: პროგრამები:
HMC5883 არის ზედაპირზე დასაყენებელი, მრავალ ჩიპიანი მოდული, რომელიც განკუთვნილია დაბალი ველის მაგნიტური ზონდირებისათვის ციფრული ინტერფეისით ისეთი პროგრამებისთვის, როგორიცაა დაბალი ღირებულების კომპასი და მაგნეტომეტრია. მისი ერთიდან ორ გრადუსამდე მაღალი დონის სიზუსტე და სიზუსტე საშუალებას აძლევს ფეხით მოსიარულეთა ნავიგაციას და LBS პროგრამებს.
გირჩევთ:
ტემპერატურის გაზომვა AD7416ARZ და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი
ტემპერატურის გაზომვა AD7416ARZ და Raspberry Pi გამოყენებით: AD7416ARZ არის 10 ბიტიანი ტემპერატურის სენსორი, რომელსაც აქვს ოთხი ერთარხიანი ანალოგური ციფრული გადამყვანი და მასში შემავალი ტემპერატურის სენსორი. ნაწილების ტემპერატურის სენსორზე წვდომა შესაძლებელია მულტიპლექსერული არხებით. ეს მაღალი სიზუსტის ტემპერატურა
სინათლის ინტენსივობის გაზომვა BH1715 და ჟოლოს Pi გამოყენებით: 5 ნაბიჯი
სინათლის ინტენსივობის გაზომვა BH1715 და Raspberry Pi გამოყენებით: გუშინ ჩვენ ვმუშაობდით LCD დისპლეებზე და მათზე მუშაობისას მივხვდით სინათლის ინტენსივობის გამოთვლის მნიშვნელობას. სინათლის ინტენსივობა არა მხოლოდ მნიშვნელოვანია ამ სამყაროს ფიზიკურ სფეროში, არამედ მას აქვს თავისი კარგად გამოხატული როლი ბიოლოგიაში
მაგნიტური ველის გაზომვა HMC5883 და არდუინო ნანოს გამოყენებით: 4 ნაბიჯი
მაგნიტური ველის გაზომვა HMC5883- ისა და არდუინო ნანოს გამოყენებით: HMC5883 არის ციფრული კომპასი, რომელიც განკუთვნილია დაბალი ველის მაგნიტური ზონდირებისათვის. ამ მოწყობილობას აქვს მაგნიტური ველის ფართო დიაპაზონი +/- 8 Oe და გამომავალი სიჩქარე 160 ჰც. HMC5883 სენსორი მოიცავს სამაგრების ავტომატური მოხსნას დრაივერებზე, ოფსეტური გაუქმებით და
მაგნიტური ველის გაზომვა HMC5883 და ნაწილაკების ფოტონის გამოყენებით: 4 ნაბიჯი
მაგნიტური ველის გაზომვა HMC5883 და ნაწილაკების ფოტონის გამოყენებით: HMC5883 არის ციფრული კომპასი, რომელიც შექმნილია დაბალი ველის მაგნიტური ზონდირებისათვის. ამ მოწყობილობას აქვს მაგნიტური ველის ფართო დიაპაზონი +/- 8 Oe და გამომავალი სიჩქარე 160 ჰც. HMC5883 სენსორი მოიცავს სამაგრების ავტომატური მოხსნას დრაივერებზე, ოფსეტური გაუქმებით და
3 ღერძიანი მაგნიტური ველის სენსორი: 10 ნაბიჯი (სურათებით)
3 ღერძიანი მაგნიტური ველის სენსორი: უკაბელო ენერგიის გადაცემის სისტემები კარგად მიდიან ჩვეულებრივი სადენიანი დატენვის შეცვლის გზაზე. დაწყებული პაწაწინა ბიოსამედიცინო იმპლანტანტებიდან უზარმაზარი ელექტრო მანქანების უსადენოდ დატენვისკენ. უკაბელო ენერგიის კვლევის განუყოფელი ნაწილია