როგორ დაუკავშიროთ ციფრული კომპასი HMC5883 Arduino- ს

Სარჩევი:

როგორ დაუკავშიროთ ციფრული კომპასი HMC5883 Arduino- ს
როგორ დაუკავშიროთ ციფრული კომპასი HMC5883 Arduino- ს

ვიდეო: როგორ დაუკავშიროთ ციფრული კომპასი HMC5883 Arduino- ს

ვიდეო: როგორ დაუკავშიროთ ციფრული კომპასი HMC5883 Arduino- ს
ვიდეო: Interfacing HMC5883L / QMC5883 Digital compass with Arduino 2024, მაისი
Anonim

განვიხილოთ GY-273 მოდულის კავშირი Honeywell HMC5883L სამ ღერძულ ციფრულ კომპასთან. ეს მიკროციკლი შეიძლება გამოყენებულ იქნას მაგნიტომეტრიული გაზომვებისთვის, ნავიგაციაში, თუ გაზომვის მაღალი სიზუსტე არ არის საჭირო (შეცდომით 1 … 2 გრადუსი და დაკალიბრების შესაძლებლობა). მოწყობილობა დაკავშირებულია I2C ინტერფეისით.

ციფრული კომპასი HMC5883
ციფრული კომპასი HMC5883

აუცილებელია

  • - ციფრული კომპასი HMC5883;
  • - არდუინო;
  • - პროტოტიპის დაფა და შემაერთებელი ხაზები;
  • - კომპიუტერი.

ინსტრუქციები

Ნაბიჯი 1

ეს არის მაგნიტური კომპასის ძირითადი მახასიათებლები:

- 3 ღერძიანი მაგნიტურად მგრძნობიარე სენსორი;

- 12 ბიტიანი ADC, რომლის რეზოლუციაა 2 მგ (მილიგაუზა);

- ჩამონტაჟებული თვითტესტი;

- დაბალი საოპერაციო ძაბვა და დაბალი მოხმარება;

- ციფრული ინტერფეისი I2C;

- კენჭისყრის მაღალი მაჩვენებელი - წამში 160-ჯერ (ერთი გაზომვის დროა დაახლოებით 6 წმ);

- მიმართულების განსაზღვრის სიზუსტეა 1 ° 2 °;

- შეიძლება გამოყენებულ იქნას ძლიერ მაგნიტურ ველებში (8 გაუსამდე).

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

HMC5883 ციფრული კომპასის დაკავშირება Arduino- სთან
HMC5883 ციფრული კომპასის დაკავშირება Arduino- სთან

ნაბიჯი 2

ეს უნდა გამოიყურებოდეს ფოტოს მსგავსი. მე ასევე დავუკავშირებ ლოგიკის ანალიზატორს SCL და SDA ავტობუსებს Arduino- სა და HMC5883 მოდულს შორის ინფორმაციის გაცვლის მონიტორინგისთვის. ეს არ არის სავალდებულო.

HMC5883 ციფრული კომპასი, რომელიც დაფაზე Arduino- სთან არის დაკავშირებული
HMC5883 ციფრული კომპასი, რომელიც დაფაზე Arduino- სთან არის დაკავშირებული

ნაბიჯი 3

როგორც პირველი გაცნობა, შევეცადოთ წავიკითხოთ საიდენტიფიკაციო რეგისტრები 10 (0xA), 11 (0xB) და 12 (0xC) ციფრული კომპასი HMC5883 და დავწეროთ ესკიზი, როგორც სურათზე. მასში მოცემულია დეტალური კომენტარები.

HMC5883 საიდენტიფიკაციო რეგისტრების წაკითხვის ესკიზი
HMC5883 საიდენტიფიკაციო რეგისტრების წაკითხვის ესკიზი

ნაბიჯი 4

ლოგიკური ანალიზატორით მიღებული სიგნალი იქნება ისე, როგორც ნაჩვენებია ილუსტრაციაზე.

Რას ნიშნავს? პირველი ბაიტი არის I2C მისამართი, რომლითაც ჩვენ (ძირითადი მოწყობილობა, Arduino) ვამყარებთ კომუნიკაციას (მაღალი 7 ბიტიანი 0x1E) და ჩაწერის რეჟიმი (დაბალი ბიტი - 0x0); ნომერია 0x3C. მეორე ბაიტი არის რიცხვი 0xA, რომელიც ჩვენ დავწერეთ 0x1E მისამართით და HMC5883L სენსორიდან დადასტურების ბიტი, რომელიც არის მონა. ეს არის რეგისტრის ნომერი, საიდანაც ჩვენ დავიწყებთ მონაცემების კითხვას. ამით მთავრდება პირველი გარიგება. იწყება შემდეგი. მესამე ბაიტი არის მონადან წაკითხვის მოთხოვნა (ყველაზე მნიშვნელოვანი 7 ბიტია მისამართი 0x1E, მე -8 ბიტი არის წაკითხვის ოპერაცია 0x1; შედეგად მიღებული რიცხვი 0x3D). ბოლო 3 სამი ბაიტი არის HMC5883L მონადის პასუხი შესაბამისად 0xA, 0xB და 0xC რეგისტრიდან.

ციფრული კომპასი HMC5883L უწყვეტი კითხვის დროს დამოუკიდებლად მოძრაობს რეგისტრების საშუალებით. იმ არ არის აუცილებელი (მაგრამ არ იკრძალება) ყოველ ჯერზე საქმის დაზუსტება. მაგალითად, თუ 0xA- ს ნაცვლად დავწერდით 0x3- ს და 10-ჯერ ვკითხულობდით, მივიღებდით მნიშვნელობებს 10 რეგისტრში, მე -3 მე -12დან დაწყებული

და რა არის ეს სამი რიცხვი - 0x48, 0x34, 0x33? მონაცემთა ფურცლის გამოყენება HMC5883L ციფრული კომპასისთვის კვლავ დავინახავთ, რომ ეს არის ნაგულისხმევი მნიშვნელობები სამი საიდენტიფიკაციო რეგისტრისთვის.

I2C გაცვლის დროის დიაგრამა HMC5883 ციფრულ კომპასთან
I2C გაცვლის დროის დიაგრამა HMC5883 ციფრულ კომპასთან

ნაბიჯი 5

ციფრული კომპასის მონაცემების მისაღებად მაგნიტურ ველზე, თქვენ უნდა წაიკითხოთ რეგისტრები 3 – დან 8 – მდე, ისევე, როგორც ჩვენ ვიცნობთ საიდენტიფიკაციო რეგისტრებს. განსხვავება მხოლოდ იმაშია, რომ მონაცემები სამი, X, Y და Z ღერძებიდან თითოეული წარმოდგენილია ორმაგი ბაიტიანი რიცხვების სახით. გარდაქმნის მათ ათობითი რიცხვებში, ჩვენ ვიღებთ მიმართულებებს სამივე ღერძის გასწვრივ.

გირჩევთ: