![GY511 Modülü Arduino İle Nasıl Kullanılır [Dijital Pusula Yapın]: 11 Adım GY511 Modülü Arduino İle Nasıl Kullanılır [Dijital Pusula Yapın]: 11 Adım](https://i.howwhatproduce.com/images/002/image-5459-37-j.webp)
İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:13
![GY511 Modülü Arduino İle Nasıl Kullanılır [Dijital Pusula Yapın] GY511 Modülü Arduino İle Nasıl Kullanılır [Dijital Pusula Yapın]](https://i.howwhatproduce.com/images/002/image-5459-38-j.webp)
genel bakış
Bazı elektronik projelerinde her an coğrafi konumu bilmemiz ve ona göre belirli bir işlem yapmamız gerekiyor. Bu eğitimde, dijital bir pusula yapmak için LSM303DLHC GY-511 pusula modülünü Arduino ile nasıl kullanacağınızı öğreneceksiniz. Öncelikle bu modülü ve nasıl çalıştığını öğreneceksiniz ve ardından LSM303DLHC GY-511 modülünün Arduino ile nasıl arayüzleneceğini göreceksiniz.
Ne öğreneceksin
- Pusula modülü nedir?
- Pusula modülü ve Arduino arayüzü.
- GY-511 modülü ve Arduino ile dijital pusula yapın.
Adım 1: Pusula Modülü Hakkında Genel Bilgiler

GY-511 modülü, 3 eksenli bir ivmeölçer ve 3 eksenli bir manyetometre içerir. Bu sensör, ± 2 g / ± 4 g / ± 8 g / ± 16 g tam ölçeklerde doğrusal ivmeyi ve ± 1.3 / ± 1.9 / ± 2.5 / ± 4.0 / ± 4.7 / ± 5.6 tam ölçeklerde manyetik alanları ölçebilir. / ± 8.1 Gauss.
Bu modül bir manyetik alana yerleştirildiğinde, Lorentz yasasına göre mikroskobik bobininde bir uyarma akımı indüklenir. Pusula modülü, bu akımı her koordinat yönü için diferansiyel gerilime dönüştürür. Bu voltajları kullanarak her yöndeki manyetik alanı hesaplayabilir ve coğrafi konumu elde edebilirsiniz.
Uç
QMC5883L, yaygın olarak kullanılan başka bir pusula modülüdür. LMS303 modülü ile benzer bir yapıya ve uygulamaya sahip olan bu modül, performans olarak biraz farklıdır. Bu yüzden projeleri yapıyorsanız modül tipinize dikkat edin. Modülünüz QMC5882L ise, eğitimde de bulunan uygun kitaplığı ve kodları kullanın.
2. Adım: Gerekli Bileşenler

Donanım bileşenleri
Arduino UNO R3 *1
GY-511 3-Eksen İvmeölçer + Manyetometre *1
TowerPro Servo Motor SG-90 *1
1602 LCD Modülü *1
Süveter * 1
Yazılım Uygulamaları
Arduino IDE'si
Adım 3: GY-511 Pusula Modülünü Arduino ile Arayüz Oluşturma


GY-511 pusula modülünün 8 pini vardır, ancak Arduino ile arayüz oluşturmak için bunlardan sadece 4 tanesine ihtiyacınız vardır. Bu modül Arduino ile I2C protokolünü kullanarak haberleşir, bu nedenle modülün SDA (I2C çıkışı) ve SCK (I2C saat girişi) pinlerini Arduino kartı üzerindeki I2C pinlerine bağlayın.
NotGördüğünüz gibi bu projede GY-511 modülünü kullandık. Ancak bu talimatı diğer LMS303 pusula modüllerini kurmak için kullanabilirsiniz.
Adım 4: GY-511 Pusula Modülü Kalibrasyonu
Gezinmek için önce modülü kalibre etmeniz gerekir, bu da ölçüm aralığını 0 ila 360 derece arasında ayarlamak anlamına gelir. Bunu yapmak için modülü aşağıda gösterildiği gibi Arduino'ya bağlayın ve aşağıdaki kodu panonuza yükleyin. Kodu çalıştırdıktan sonra, seri monitör penceresinde X, Y ve Z ekseni için ölçüm aralığının minimum ve maksimum değerlerini görebilirsiniz. Bu sayılara bir sonraki bölümde ihtiyacınız olacak, bu yüzden onları bir yere yazın.
Adım 5: Devre

6. Adım: Kod
Bu kodda, I2C iletişimi için Wire.h kitaplığına ve pusula modülü için LMS303.h kitaplığına ihtiyacınız var. Bu kütüphaneleri aşağıdaki linklerden indirebilirsiniz.
LMS303.h Kitaplığı
Wire.h Kitaplığı
NotQMC5883 kullanıyorsanız, aşağıdaki kitaplığa ihtiyacınız olacaktır:
MechaQMC5883L.h
Burada LMS303 kodunu açıklıyoruz, ancak QMC modülünün kodlarını da indirebilirsiniz.
Yeni işlevlerden bazılarını görelim:
compass.enableDefault();
Modül başlatma
pusula.read();
Pusula modülünün çıkış değerlerinin okunması
run_min.z = min(running_min.z, compass.m.z); Running_max.x = max(running_max.x, compass.m.x);
Ölçülen değerleri karşılaştırarak ölçüm aralığının minimum ve maksimum değerlerinin belirlenmesi.
7. Adım: Dijital Pusula Yapmak
Modül kalibrasyonunu yaptıktan sonra modüle servo motor bağlayarak pusula oluşturacağız. Böylece servo göstergesi, pusuladaki kırmızı ok gibi bize her zaman kuzey yönünü gösterir. Bunu yapmak için önce pusula modülü coğrafi yönü hesaplar ve Arduino'ya gönderir ve daha sonra uygun bir katsayı uygulayarak servo motorun dönmesi gereken açıyı hesaplarsınız, böylece göstergesi manyetik kuzeyi gösterir. Sonunda bu açıyı servo motora uyguluyoruz.
Adım 8: Devre

9. Adım: Kod

Bu kısım için Arduino yazılımınızda varsayılan olarak kurulu olan Servo.h kütüphanesine de ihtiyacınız vardır.
Yeni işlevlerden bazılarını görelim:
Servo Servo1;
Modül başlatma
pusula.read();
Servo motor nesnesinin tanıtılması
Servo1.attach(servoPin); pusula.init(); compass.enableDefault();
Pusula modülünü ve servo motoru başlatma
Servo1.attach() argümanı, servo motora bağlı pin sayısıdır.
compass.m_min = (LSM303::vektör){-32767, -32767, -32767}; compass.m_max = (LSM303::vektör){+32767, +32767, +32767};
Bu satırları kullanarak, önceki bölümde elde edilen aralığı ölçmek için minimum ve maksimum değerleri tanımlarsınız.
kayan yön =compass.heading((LSM303::vektör){0, 0, 1});
header() işlevi, koordinat ekseni ile sabit bir eksen arasındaki açıyı döndürür. Sabit ekseni, fonksiyon argümanında bir vektör ile tanımlayabilirsiniz. Örneğin burada (LSM303:: vector) {0, 0, 1} tanımlanarak Z ekseni sabit bir eksen olarak kabul edilir.
Servo1.write(başlık);
Servo1.write() işlevi, pusula modülü tarafından okunan değeri servo motora uygular.
Not Servo motorun bir manyetik alanı olabileceğini unutmayın, bu nedenle servo motoru pusula modülünden uygun bir mesafeye yerleştirmek pusula modülünün sapmasına neden olmaması için daha iyidir.
Önerilen:
Arduino ile RFID-RC522 Modülü Nasıl Kullanılır: 5 Adım

Arduino ile RFID-RC522 Modülü Nasıl Kullanılır: Bu Eğitilebilir Kitapta, RFID modülünün etiketleri ve yongaları ile birlikte temel çalışma prensibi hakkında bir adım atacağım. Ayrıca RGB LED'li bu RFID modülünü kullanarak yaptığım bir projeden kısa bir örnek vereceğim. Ins'imle her zamanki gibi
Dijital Kumpas Nasıl Yıkılır ve Dijital Kumpas Nasıl Çalışır: 4 Adım

Dijital Kumpas Nasıl Yıkılır ve Dijital Kumpas Nasıl Çalışır: Birçok kişi ölçüm için kumpas kullanmayı bilir. Bu eğitim size bir dijital kumpasın nasıl parçalanacağını ve dijital kumpasın nasıl çalıştığının bir açıklamasını öğretecektir
Arduino ile DFMini Player MP3 Modülü Nasıl Kullanılır: 4 Adım

Arduino ile DFMini Player MP3 Modülü Nasıl Kullanılır: Birkaç proje, bir tür işlevsellik eklemek için ses üretimi gerektirir. Bu projeler arasında, örneğin görme engelliler için erişilebilirlik, MP3 müzik çalarlar ve ses seslerinin robotlar tarafından yürütülmesini vurguluyoruz. Tüm bu sistemlerde
Mac Terminal Nasıl Kullanılır ve Temel İşlevler Nasıl Kullanılır: 4 Adım

Mac Terminali Nasıl Kullanılır ve Temel Fonksiyonlar Nasıl Kullanılır: Size MAC Terminalini nasıl açacağınızı göstereceğiz. Ayrıca size Terminal içinde ifconfig, dizinleri değiştirme, dosyalara erişim ve arp gibi birkaç özelliği göstereceğiz. Ifconfig, IP adresinizi ve MAC reklamınızı kontrol etmenizi sağlar
Arduino UNO ile TCRT5000 IR Sensör Modülü Nasıl Kullanılır: 7 Adım (Resimli)

Arduino UNO ile TCRT5000 IR Sensör Modülü Nasıl Kullanılır: Bu eğitimde size TCRT5000 IR Sensör Modülünün kullanımıyla ilgili bazı temel bilgileri öğreteceğiz. Bu temel bilgiler size seri monitördeki analog ve dijital değerleri gösterir. Açıklama: Bu IR yansıtıcı sensör, renk ve bozulmayı algılamak için bir TCRT5000 kullanır