Სარჩევი:
- ნაბიჯი 1: ზოგადი ინფორმაცია კომპასის მოდულის შესახებ
- ნაბიჯი 2: საჭირო კომპონენტები
- ნაბიჯი 3: GY-511 კომპასის მოდულის დაკავშირება არდუინოსთან
- ნაბიჯი 4: GY-511 კომპასის მოდულის კალიბრაცია
- ნაბიჯი 5: წრე
- ნაბიჯი 6: კოდი
- ნაბიჯი 7: ციფრული კომპასის დამზადება
- ნაბიჯი 8: წრე
- ნაბიჯი 9: კოდი
- ნაბიჯი 10: რა არის შემდეგი?
ვიდეო: როგორ გამოვიყენოთ GY511 მოდული არდუინოსთან ერთად [გააკეთეთ ციფრული კომპასი]: 11 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
მიმოხილვა
ელექტრონიკის ზოგიერთ პროექტში, ჩვენ უნდა ვიცოდეთ გეოგრაფიული მდებარეობა ნებისმიერ მომენტში და ამის შესაბამისად გავაკეთოთ კონკრეტული ოპერაცია. ამ გაკვეთილში თქვენ ისწავლით თუ როგორ გამოიყენოთ LSM303DLHC GY-511 კომპასის მოდული Arduino– სთან ციფრული კომპასის შესაქმნელად. პირველ რიგში, თქვენ შეიტყობთ ამ მოდულის შესახებ და როგორ მუშაობს იგი, შემდეგ კი ნახავთ როგორ დაუკავშიროთ LSM303DLHC GY-511 მოდული Arduino– სთან.
რასაც თქვენ ისწავლით
- რა არის კომპასის მოდული?
- კომპასის მოდული და Arduino ინტერფეისი.
- შექმენით ციფრული კომპასი GY-511 მოდულით და არდუინოთი.
ნაბიჯი 1: ზოგადი ინფორმაცია კომპასის მოდულის შესახებ
GY-511 მოდული მოიცავს 3 ღერძის ამაჩქარებელს და 3 ღერძიან მაგნიტომეტრს. ამ სენსორს შეუძლია გაზომოთ ხაზოვანი აჩქარება sc 2 გ / ± 4 გ / g 8 გ / ± 16 გ სრული მასშტაბით და მაგნიტური ველები sc 1.3 / ± 1.9 / ± 2.5 / ± 4.0 / ± 4.7 / 6 5.6 / ± 8.1 გაუსი.
როდესაც ეს მოდული მოთავსებულია მაგნიტურ ველში, ლორენცის კანონის თანახმად, აღგზნების დენი იწვევს მის მიკროსკოპულ კოჭას. კომპასის მოდული გარდაქმნის ამ დენს დიფერენციალურ ძაბვად თითოეული კოორდინატის მიმართულებისათვის. ამ ძაბვების გამოყენებით შეგიძლიათ გამოთვალოთ მაგნიტური ველი თითოეული მიმართულებით და მიიღოთ გეოგრაფიული მდებარეობა.
რჩევა
QMC5883L არის კიდევ ერთი ხშირად გამოყენებული კომპასის მოდული. ეს მოდული, რომელსაც აქვს მსგავსი სტრუქტურა და გამოყენება, როგორც LMS303 მოდული, ოდნავ განსხვავდება შესრულებაში. ასე რომ, თუ თქვენ აკეთებთ პროექტებს, ფრთხილად იყავით თქვენი მოდულის ტიპზე. თუ თქვენი მოდული არის QMC5882L, გამოიყენეთ შესაბამისი ბიბლიოთეკა და კოდები, რომლებიც ასევე შედის სახელმძღვანელოში.
ნაბიჯი 2: საჭირო კომპონენტები
აპარატურის კომპონენტები
Arduino UNO R3 *1
GY-511 3-ღერძიანი ამაჩქარებელი + მაგნიტომეტრი *1
TowerPro Servo Motor SG-90 *1
1602 LCD მოდული *1
მხტუნავები *1
პროგრამული პროგრამები
Arduino IDE
ნაბიჯი 3: GY-511 კომპასის მოდულის დაკავშირება არდუინოსთან
GY-511 კომპასის მოდულს აქვს 8 პინი, მაგრამ თქვენ გჭირდებათ მხოლოდ 4 მათგანი Arduino– სთან დასაკავშირებლად. ეს მოდული Arduino– სთან კომუნიკაციას ახდენს I2C პროტოკოლის გამოყენებით, ასე რომ დააკავშირეთ მოდულის SDA (I2C გამომავალი) და SCK (I2C საათის შეყვანა) Arduino დაფაზე I2C ქინძისთავებთან.
როგორც ხედავთ, ჩვენ გამოვიყენეთ GY-511 მოდული ამ პროექტში. მაგრამ თქვენ შეგიძლიათ გამოიყენოთ ეს ინსტრუქცია სხვა LMS303 კომპასის მოდულების დასაყენებლად.
ნაბიჯი 4: GY-511 კომპასის მოდულის კალიბრაცია
ნავიგაციისთვის, ჯერ მოდულის დაკალიბრება გჭირდებათ, რაც ნიშნავს გაზომვის დიაპაზონის დაყენებას 0 -დან 360 გრადუსამდე. ამისათვის დააკავშირეთ მოდული Arduino– სთან, როგორც ნაჩვენებია ქვემოთ და ატვირთეთ შემდეგი კოდი თქვენს დაფაზე. კოდის შესრულების შემდეგ, თქვენ შეგიძლიათ ნახოთ X, Y და Z ღერძების საზომი დიაპაზონის მინიმალური და მაქსიმალური მნიშვნელობები სერიული მონიტორის ფანჯარაში. ეს რიცხვები დაგჭირდებათ შემდეგ ნაწილში, ასე რომ ჩაწერეთ ისინი.
ნაბიჯი 5: წრე
ნაბიჯი 6: კოდი
ამ კოდში თქვენ გჭირდებათ Wire.h ბიბლიოთეკა I2C კომუნიკაციისთვის და LMS303.h ბიბლიოთეკა კომპასის მოდულისთვის. თქვენ შეგიძლიათ გადმოწეროთ ეს ბიბლიოთეკები შემდეგი ბმულებიდან.
LMS303.h ბიბლიოთეკა
Wire.h ბიბლიოთეკა
შენიშვნა თუ თქვენ იყენებთ QMC5883– ს, დაგჭირდებათ შემდეგი ბიბლიოთეკა:
MechaQMC5883L.h
აქ ჩვენ განვმარტავთ კოდს LMS303– სთვის, მაგრამ თქვენ შეგიძლიათ ჩამოტვირთოთ კოდები QMC მოდულისთვისაც.
განვიხილოთ რამდენიმე ახალი ფუნქცია:
compass.enableDefault ();
მოდულის ინიციალიზაცია
compass.read ();
კომპასის მოდულის გამომავალი მნიშვნელობების კითხვა
გაშვებული_min.z = min (გაშვებული_min.z, კომპასი.mz); გაშვებული_მაქსი.ქს = მაქსიმუმი (გაშვებული_მაქსი.ქსი, კომპასი.მ.ქსი);
გაზომვის დიაპაზონის მინიმალური და მაქსიმალური მნიშვნელობების განსაზღვრა გაზომილი მნიშვნელობების შედარების გზით.
ნაბიჯი 7: ციფრული კომპასის დამზადება
მოდულის დაკალიბრების შემდეგ, ჩვენ ვაპირებთ კომპასის აგებას სერვო ძრავის მოდულთან შეერთებით. ისე, რომ servo მაჩვენებელი ყოველთვის გვიჩვენებს ჩრდილოეთის მიმართულებას, როგორც წითელი ისარი კომპასზე. ამისათვის კომპასის მოდული ჯერ ითვლის გეოგრაფიულ მიმართულებას და აგზავნის მას არდუინოში, შემდეგ კი შესაბამისი კოეფიციენტის გამოყენებით თქვენ გამოთვლით იმ კუთხეს, რომლითაც სერვო ძრავა უნდა ბრუნდებოდეს ისე, რომ მისი მაჩვენებელი მიუთითებს მაგნიტურ ჩრდილოეთზე. საბოლოოდ, ჩვენ ვიყენებთ ამ კუთხეს სერვო ძრავაზე.
ნაბიჯი 8: წრე
ნაბიჯი 9: კოდი
ამ ნაწილისთვის ასევე გჭირდებათ Servo.h ბიბლიოთეკა, რომელიც ნაგულისხმევად დაინსტალირებულია თქვენს Arduino პროგრამულ უზრუნველყოფაზე.
განვიხილოთ რამდენიმე ახალი ფუნქცია:
სერვო სერვო 1;
მოდულის ინიციალიზაცია
compass.read ();
სერვო საავტომობილო ობიექტის გაცნობა
Servo1.attach (servoPin); compass.init (); compass.enableDefault ();
კომპასის მოდულის და სერვო ძრავის ინიციალიზაცია
Servo1.attach () არგუმენტი არის სერვო ძრავასთან დაკავშირებული პინის ნომერი.
კომპასი.m_min = (LSM303:: ვექტორი) { -32767, -32767, -32767}; კომპასი.m_max = (LSM303:: ვექტორი) { +32767, +32767, +32767};
ამ ხაზების გამოყენებით თქვენ განსაზღვრავთ მინიმალურ და მაქსიმალურ მნიშვნელობებს წინა ნაწილში მიღებული დიაპაზონის გასაზომად.
float heading = compass.heading ((LSM303:: ვექტორი) {0, 0, 1});
სათაური () ფუნქცია აბრუნებს კუთხეს კოორდინატთა ღერძსა და ფიქსირებულ ღერძს შორის. თქვენ შეგიძლიათ განსაზღვროთ ფიქსირებული ღერძი ვექტორით ფუნქციის არგუმენტში. მაგალითად, აქ, (LSM303:: ვექტორი) {0, 0, 1} განმარტებით, Z ღერძი განიხილება, როგორც მუდმივი ღერძი.
Servo1.write (სათაური);
Servo1.write () ფუნქცია კომპასის მოდულის მიერ წაკითხულ მნიშვნელობას იყენებს სერვო ძრავაზე.
შენიშვნა გაითვალისწინეთ, რომ სერვო ძრავას შეიძლება ჰქონდეს მაგნიტური ველი, ამიტომ უმჯობესია სერვო ძრავა კომპასის მოდულიდან შესაბამის მანძილზე მოათავსოთ, რომ არ გამოიწვიოს კომპასის მოდულის გადახრა.
გირჩევთ:
როგორ გამოვიყენოთ RFID-RC522 მოდული არდუინოსთან ერთად: 5 ნაბიჯი
როგორ გამოვიყენოთ RFID-RC522 მოდული Arduino– სთან ერთად: ამ ინსტრუქციებში მე განვიხილავ RFID მოდულის ფუნდამენტურ პრინციპს, მის ტეგებსა და ჩიპებთან ერთად. მე ასევე მოვიყვან იმ პროექტის მოკლე მაგალითს, რომელიც მე გავაკეთე ამ RFID მოდულის გამოყენებით RGB LED– ით. ჩვეულებისამებრ ჩემს ინსინებთან
როგორ გამოვიყენოთ DHT22 ტენიანობის და ტემპერატურის სენსორი არდუინოსთან ერთად: 6 ნაბიჯი
როგორ გამოვიყენოთ DHT22 ტენიანობის და ტემპერატურის სენსორი არდუინოსთან ერთად: ამ სახელმძღვანელოში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ DHT22 ტენიანობის და ტემპერატურის სენსორი არდუინოსთან და აჩვენეთ მნიშვნელობები OLED ეკრანზე. ნახეთ ვიდეო
როგორ გამოვიყენოთ DHT12 I2C ტენიანობისა და ტემპერატურის სენსორი არდუინოსთან ერთად: 7 ნაბიჯი
როგორ გამოვიყენოთ DHT12 I2C ტენიანობის და ტემპერატურის სენსორი არდუინოსთან ერთად: ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ DHT12 I2C ტენიანობის და ტემპერატურის სენსორი არდუინოსთან და აჩვენეთ ღირებულებები OLED ეკრანზე. უყურეთ ვიდეოს
როგორ გამოვიყენოთ ხმის სენსორი არდუინოსთან ერთად: 5 ნაბიჯი
როგორ გამოვიყენოთ ხმის სენსორი არდუინოსთან ერთად: ჰეი, ყველას, ამ სტატიაში მე გაჩვენებთ თუ როგორ გამოიყენოთ ხმის სენსორი არდუინო უნოთი, რათა გააკონტროლოთ ხმამაღალი ხმები. თუ თქვენ გირჩევნიათ ვიდეოების ყურება. აქ არის ვიდეო გაკვეთილი, რომელიც მე გავაკეთე
SD ბარათის მოდული არდუინოსთან ერთად: როგორ წავიკითხოთ/დავწეროთ მონაცემები: 14 ნაბიჯი
SD ბარათის მოდული Arduino– ით: როგორ წავიკითხოთ/დავწეროთ მონაცემები: მიმოხილვა მონაცემთა შენახვა ყველა პროექტის ერთ -ერთი ყველაზე მნიშვნელოვანი ნაწილია. მონაცემთა შენახვის რამდენიმე გზა არსებობს მონაცემების ტიპისა და ზომის მიხედვით. SD და მიკრო SD ბარათები ერთ -ერთი ყველაზე პრაქტიკულია შენახვის მოწყობილობებს შორის, რომლებიც გამოიყენება