განვიხილოთ GY-273 მოდულის კავშირი Honeywell HMC5883L სამ ღერძულ ციფრულ კომპასთან. ეს მიკროციკლი შეიძლება გამოყენებულ იქნას მაგნიტომეტრიული გაზომვებისთვის, ნავიგაციაში, თუ გაზომვის მაღალი სიზუსტე არ არის საჭირო (შეცდომით 1 … 2 გრადუსი და დაკალიბრების შესაძლებლობა). მოწყობილობა დაკავშირებულია I2C ინტერფეისით.
აუცილებელია
- - ციფრული კომპასი HMC5883;
- - არდუინო;
- - პროტოტიპის დაფა და შემაერთებელი ხაზები;
- - კომპიუტერი.
ინსტრუქციები
Ნაბიჯი 1
ეს არის მაგნიტური კომპასის ძირითადი მახასიათებლები:
- 3 ღერძიანი მაგნიტურად მგრძნობიარე სენსორი;
- 12 ბიტიანი ADC, რომლის რეზოლუციაა 2 მგ (მილიგაუზა);
- ჩამონტაჟებული თვითტესტი;
- დაბალი საოპერაციო ძაბვა და დაბალი მოხმარება;
- ციფრული ინტერფეისი I2C;
- კენჭისყრის მაღალი მაჩვენებელი - წამში 160-ჯერ (ერთი გაზომვის დროა დაახლოებით 6 წმ);
- მიმართულების განსაზღვრის სიზუსტეა 1 ° 2 °;
- შეიძლება გამოყენებულ იქნას ძლიერ მაგნიტურ ველებში (8 გაუსამდე).
HMC5883L მაგნიტური სენსორის Arduino- ს დამაკავშირებელი სქემა ნაჩვენებია ნახატზე. ეს არის ძალიან კომპაქტური და მარტივი, რადგან ორი მავთულის I2C ინტერფეისი შესანიშნავია, რადგან ის რამდენიმე კავშირს მოითხოვს. შეგიძლიათ გამოიყენოთ პურის დაფა.
ნაბიჯი 2
ეს უნდა გამოიყურებოდეს ფოტოს მსგავსი. მე ასევე დავუკავშირებ ლოგიკის ანალიზატორს SCL და SDA ავტობუსებს Arduino- სა და HMC5883 მოდულს შორის ინფორმაციის გაცვლის მონიტორინგისთვის. ეს არ არის სავალდებულო.
ნაბიჯი 3
როგორც პირველი გაცნობა, შევეცადოთ წავიკითხოთ საიდენტიფიკაციო რეგისტრები 10 (0xA), 11 (0xB) და 12 (0xC) ციფრული კომპასი 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 ციფრული კომპასისთვის კვლავ დავინახავთ, რომ ეს არის ნაგულისხმევი მნიშვნელობები სამი საიდენტიფიკაციო რეგისტრისთვის.
ნაბიჯი 5
ციფრული კომპასის მონაცემების მისაღებად მაგნიტურ ველზე, თქვენ უნდა წაიკითხოთ რეგისტრები 3 – დან 8 – მდე, ისევე, როგორც ჩვენ ვიცნობთ საიდენტიფიკაციო რეგისტრებს. განსხვავება მხოლოდ იმაშია, რომ მონაცემები სამი, X, Y და Z ღერძებიდან თითოეული წარმოდგენილია ორმაგი ბაიტიანი რიცხვების სახით. გარდაქმნის მათ ათობითი რიცხვებში, ჩვენ ვიღებთ მიმართულებებს სამივე ღერძის გასწვრივ.