Talaan ng mga Nilalaman:
- Hakbang 1: Pangkalahatang Impormasyon Tungkol sa Modyul ng Compass
- Hakbang 2: Kinakailangan na Mga Sangkap
- Hakbang 3: Pag-interfacing ng GY-511 Module ng Compass Sa Arduino
- Hakbang 4: GY-511 Compass Module Calibration
- Hakbang 5: Circuit
- Hakbang 6: Code
- Hakbang 7: Paggawa ng isang Digital Compass
- Hakbang 8: Circuit
- Hakbang 9: Code
- Hakbang 10: Ano ang Susunod?
Video: Paano Gumamit ng GY511 Modyul Sa Arduino [Gumawa ng isang Digital Compass]: 11 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Pangkalahatang-ideya
Sa ilang mga proyekto sa electronics, kailangan nating malaman ang lokasyon ng heyograpiya anumang oras at gawin ang isang tukoy na operasyon nang naaayon. Sa tutorial na ito, malalaman mo kung paano gamitin ang module ng compass ng LSM303DLHC GY-511 kasama ang Arduino upang makagawa ng isang digital na compass. Una, matututunan mo ang tungkol sa modyul na ito at kung paano ito gumagana, at pagkatapos ay makikita mo kung paano i-interface ang module na LSM303DLHC GY-511 sa Arduino.
Ano ang Malalaman Mo
- Ano ang module ng kumpas?
- Compass module at interface ng Arduino.
- Gumawa ng isang digital na kumpas gamit ang module na GY-511 at Arduino.
Hakbang 1: Pangkalahatang Impormasyon Tungkol sa Modyul ng Compass
Ang module na GY-511 ay may kasamang 3-axis accelerometer at isang 3-axis magnetometer. Maaaring sukatin ng sensor na ito ang linear acceleration sa buong kaliskis na ± 2 g / ± 4 g / ± 8 g / ± 16 g at mga magnetic field sa buong kaliskis na ± 1.3 / ± 1.9 / ± 2.5 / ± 4.0 / ± 4.7 / ± 5.6 / ± 8.1 Gauss.
Kapag ang modyul na ito ay inilalagay sa isang magnetic field, ayon sa batas ng Lorentz isang kasalukuyang paggulo ang nagpapahiwatig sa microscopic coil nito. Binabago ng module ng kompas ang kasalukuyang ito sa pagkakaiba-iba na boltahe para sa bawat direksyon na coordinate. Gamit ang mga voltages na ito, maaari mong kalkulahin ang magnetic field sa bawat direksyon at makuha ang posisyon ng heyograpiya.
Tip
Ang QMC5883L ay isa pang karaniwang ginagamit na module ng kumpas. Ang modyul na ito, na may katulad na istraktura at aplikasyon bilang module ng LMS303, ay bahagyang naiiba sa pagganap. Kaya't kung ginagawa mo ang mga proyekto, mag-ingat sa uri ng iyong module. Kung ang iyong module ay QMC5882L, gamitin ang naaangkop na library at mga code na kasama rin sa tutorial.
Hakbang 2: Kinakailangan na Mga Sangkap
Mga Bahagi ng Hardware
Arduino UNO R3 * 1
GY-511 3-Axis Accelerometer + Magnetometer * 1
TowerPro Servo Motor SG-90 * 1
1602 LCD Module * 1
Mga jumper * 1
Software Apps
Arduino IDE
Hakbang 3: Pag-interfacing ng GY-511 Module ng Compass Sa Arduino
Ang module ng compass ng GY-511 ay may 8 mga pin, ngunit kailangan mo lamang ng 4 sa mga ito upang makipag-ugnay sa Arduino. Ang modyul na ito ay nakikipag-usap sa Arduino gamit ang I2C protocol, kaya ikonekta ang SDA (I2C output) at SCK (I2C na input ng orasan) na mga pin ng module sa mga I2C na pin sa Arduino board.
Tandaan Tulad ng nakikita mo, ginamit namin ang module na GY-511 sa proyektong ito. Ngunit maaari mong gamitin ang tagubiling ito para sa pag-set up ng iba pang mga module ng compass ng LMS303.
Hakbang 4: GY-511 Compass Module Calibration
Upang mag-navigate, kailangan mo munang i-calibrate ang module, na nangangahulugang itakda ang saklaw ng pagsukat mula 0 hanggang 360 degree. Upang magawa ito, ikonekta ang module sa Arduino tulad ng ipinakita sa ibaba at i-upload ang sumusunod na code sa iyong board. Matapos maipatupad ang code, maaari mong makita ang minimum at maximum na mga halaga ng saklaw ng pagsukat para sa X, Y at Z axis sa serial monitor window. Kakailanganin mo ang mga numerong ito sa susunod na bahagi, kaya isulat ang mga ito.
Hakbang 5: Circuit
Hakbang 6: Code
Sa code na ito, kailangan mo ng Wire.h library para sa komunikasyon ng I2C, at LMS303.h library para sa module ng compass. Maaari mong i-download ang mga library na ito mula sa mga sumusunod na link.
LMS303.h Library
Wire.h Library
Tandaan Kung gumagamit ka ng QMC5883, kakailanganin mo ang sumusunod na library:
MechaQMC5883L.h
Dito, ipinapaliwanag namin ang code para sa LMS303, ngunit maaari mong i-download ang mga code para sa module ng QMC din.
Tingnan natin ang ilan sa mga bagong pag-andar:
compass.enableDefault ();
Simula ng module
kumpas.basa ();
Pagbasa ng mga halaga ng output ng module ng kompas
running_min.z = min (running_min.z, compass.m.z); running_max.x = max (running_max.x, compass.mx);
Natutukoy ang minimum at maximum na mga halaga ng saklaw ng pagsukat sa pamamagitan ng paghahambing ng mga sinusukat na halaga.
Hakbang 7: Paggawa ng isang Digital Compass
Matapos i-calibrate ang module, magtatayo kami ng isang compass sa pamamagitan ng pagkonekta ng isang servo motor sa module. Upang ang tagapagpahiwatig ng servo, palaging ipinapakita sa amin ang direksyong hilaga, tulad ng pulang arrow sa compass. Upang magawa ito, kinakalkula muna ng module ng kompas ang direksyong pangheograpiya at ipadala ito sa Arduino at Pagkatapos, sa pamamagitan ng paglalapat ng isang naaangkop na koepisyent, makakalkula mo ang anggulo na dapat paikutin ng servo motor upang ang puntong tagapagpahiwatig nito ay tumuturo sa hilagang magnetiko. Sa paglaon, inilalagay namin ang anggulong iyon sa servo motor.
Hakbang 8: Circuit
Hakbang 9: Code
Para sa bahaging ito kailangan mo rin ang library ng Servo.h, na naka-install sa iyong Arduino software bilang default.
Tingnan natin ang ilan sa mga bagong pag-andar:
Servo Servo1;
Simula ng module
kumpas.basa ();
Ipinakikilala ang object ng servo motor
Servo1.attach (servoPin); kumpas.init (); compass.enableDefault ();
Pinasimulan ang module ng kumpas at motor ng servo
Ang argumento ng Servo1.attach () ay ang bilang ng pin na konektado sa servo motor.
compass.m_min = (LSM303:: vector) {- 32767, -32767, -32767}; compass.m_max = (LSM303:: vector) {+ 32767, +32767, +32767};
Gamit ang mga linyang ito tinutukoy mo ang minimum at maximum na mga halaga para sa pagsukat ng saklaw na nakuha sa nakaraang bahagi.
heading ng float = compass.heading ((LSM303:: vector) {0, 0, 1});
Ang heading () na pagpapaandar ay nagbabalik ng anggulo sa pagitan ng coordinate axis at isang nakapirming axis. Maaari mong tukuyin ang naayos na axis na may isang vector sa argumento ng pag-andar. Halimbawa, dito, sa pamamagitan ng pagtukoy sa (LSM303:: vector) {0, 0, 1}, ang Z axis ay isinasaalang-alang bilang isang pare-pareho na axis.
Servo1.write (heading);
Nalalapat ng pagpapaandar ng Servo1.write () ang binasang halaga ng module ng compass sa servo motor.
Tandaan Tandaan na ang servo motor ay maaaring may isang magnetic field, kaya mas mahusay na ilagay ang servo motor sa isang angkop na distansya mula sa module ng compass, na hindi ito sanhi upang lumihis ang module ng compass.
Inirerekumendang:
Paano Gumamit ng isang Debugger sa isang ESP32: 11 Mga Hakbang (na may Mga Larawan)
Paano Gumamit ng isang Debugger sa isang ESP32: Nais mo bang kumuha ng isang silip sa loob ng iyong code upang makita kung bakit ito kumikilos sa paraan nito? Ayon sa kaugalian sa mga proyekto ng ESP32, kakailanganin mong magdagdag ng walang katapusang pahayag sa pag-print upang subukan kung ano ang nangyayari, ngunit may isang mas mahusay na paraan! Isang debugger
Paano Gumawa ng isang Drone Gamit ang Arduino UNO - Gumawa ng isang Quadcopter Gamit ang Microcontroller: 8 Hakbang (na may Mga Larawan)
Paano Gumawa ng isang Drone Gamit ang Arduino UNO | Gumawa ng isang Quadcopter Gamit ang Microcontroller: PanimulaBisitahin ang Aking Youtube Channel Ang isang Drone ay isang napakamahal na gadget (produkto) na bibilhin. Sa post na ito tatalakayin ko, kung paano ko ito magagawa sa murang ?? At Paano mo magagawa ang iyong sarili tulad nito sa murang presyo … Sa India ang lahat ng mga materyales (motor, ESC
Paano Gumamit ng Modyul ng Button Sa SkiiiD: 9 Mga Hakbang
Paano Gumamit ng Module ng Button Sa SkiiiD: Ang proyektong ito ay isang tagubilin ng " kung paano gamitin ang Buzzer HW-508 (naaangkop para sa KY-006) kasama ang Arduino sa pamamagitan ng skiiiD Bago simulan, sa ibaba ay isang pangunahing tutorial para sa kung paano gamitin ang skiiiD https: // www.instructables.com/id/Getting-Started-With-SkiiiD-Editor
Paano Gumamit ng Mac Terminal, at Paano Gumamit ng Mga Key Function: 4 na Hakbang
Paano Gumamit ng Mac Terminal, at Paano Gumamit ng Mga Key Function: Ipapakita namin sa iyo kung paano buksan ang MAC Terminal. Ipapakita rin namin sa iyo ang ilang mga tampok sa loob ng Terminal, tulad ng ifconfig, pagbabago ng mga direktoryo, pag-access sa mga file, at arp. Papayagan ka ng Ifconfig na suriin ang iyong IP address, at ang iyong MAC ad
Gumamit ng Bluetooth 4.0 HC-08 Modyul upang Makontrol ang mga Maaaring matugunan na LED - isang Arduino Uno Tutorial: 4 na Hakbang (na may Mga Larawan)
Gumamit ng Bluetooth 4.0 HC-08 Modyul upang Makontrol ang mga Maaaring matugunan na mga LED - isang Arduino Uno Tutorial: Nakapagod ka na ba sa mga module ng komunikasyon kasama ang Arduino? Nagbubukas ang Bluetooth ng isang mundo ng posibilidad para sa iyong mga proyekto sa Arduino at paggamit ng internet ng mga bagay. Magsisimula kami dito sa isang hakbang sa sanggol at matutunan kung paano makontrol ang mga maaaring matugunan na LED sa isang sma