Ana içeriğe atla

HMC5883L - GY273 Magnetometre Modülü Çalışmıyor (HMC5883L Doesnt Work)

Eğer elinizde HMC5883L - GY273 modülü bulunuyorsa ve ne yaptıysanız çalıştırmayı başaramadıysanız, çözüm hiç aklınıza gelmeyen nedenlerden olabilir.

Sorun 1 - Headerların Ferromanyetik Olması

İlk olarak Direnç.net'ten aldığımız ve çalışmadığını fark ettikten sonra, GY273 alma maceramıza Robolink ve Robocombo ile devam eden serüvenimizde, hangi Wire kütüphanesini kullanıyor olsak da açılar hep X=0, Y=0, Z=0 ve bu değerlerinden bir türlü kurtulamadık.
Sıkıntının nerede olduğunu doğrusu anlayamamıştık. Daha sonra magnetometrenin adında anlaşılacağı gibi kuzeyi gösteren manyetik bir sensör olduğu aklımıza geldi. Daha sonra 3 Eksen Pusula sensörüyle birlikte bize gönderilen pinlerin (Header) mıknatıslar tarafından çekildiğini keşfettik yani ferromanyetik cisimlerdi. Elimizdeki bütün headerları kontrol edip mıknatıslar ile ferromanyetik olup olmadıklarını kontrol edip daha sonradan olmayan 4 adet header bulup modülümüze lehimledik. Sonuç olarak modülümüz çalışmaya başladı. Bu karşılaştığımız ilk sorundu.

Sorun 2 - HMC5883L vs. QMC5883L

Eğer modülünüz hâlâ çalışmıyorsa üzerinde HMC5883L yazıyor olmasına rağmen modulünüz QMC5883L modülünün chipine sahip olabilir. Bunu anlamanın bir kaç tekniği var. 

Teknik A - Modülün chipini kontrol etme;



Eğer modülünüzün chipinde, yukarıda kırmızı dairenin içinde işaretlediğim alanın alt satırında 6000'li veya 5000'li sayılar yazıyorsa sizin modülünüz HMC5883L değil de QMC5883L'dir. HMC5883L 2000'li numaralara sahiptirler. QMC'leri var olan Adafruit'in HMC5883L veya HMC5883_U kütüphaneleri ile süremezsiniz. Gerçek  Gerekli kütüphaneyi yazının devamında bulabilirsiniz.

Teknik B - Kütüphane ile doğrulama;
Eğer chip üzerindeki değeri okuyamıyorsanız son seçenek QMC5883L kütüphanesini yükleyip test etmektir. 
İlgili Kütüphane için aşağıdaki resme tıklayınız;
 QMC5883L Download Library

Yorumlar

  1. rss üzerinden takip ediyorum yazılarınızı.Güzel bir detay teşekkürler :)

    YanıtlaSil
  2. Desteğiniz için teşekkür ederim :)

    YanıtlaSil
  3. Benim modülümün çipinde 5883-7000 yazıyor. Buna uygun kütüphane hangisidir?

    YanıtlaSil
  4. QMC kütüphanesini denediniz mi?

    YanıtlaSil

Yorum Gönder

Konuyla ilgili yorum giriniz.

Bu blogdaki popüler yayınlar

Arduino Buzzer için Örnek Müzik Kodları

Bugün ki yazımda programlaması tamamıyla bana ait olan bazı buzzer kodlarını yazımın devamında paylaşıyor olacağım. Öncelikle bağlantı şemasıyla başlayalım; Malzemeler: Arduino (Uno, Nano, Mega) 100 Ohm Direnç Breadboard Bağlama Tarifi: Buzzer'da iki bacak bulunur. Buzzer'ın üstüne baktığınızda bacaklardan birisinin hizasında (+) yazar. Bu bacağı 8 No.lu pine bağlayabilirsiniz. veya istediğiniz herhangi başka bir digital bacak da olabilir. Kodunuzu da ona göre düzenlemeniz gerekir. İkinci bacağı da direnç üzerinden GND (-) Toprak hattına bağlamak gerekir. Bağlantı Şeması: Yukarıdaki şemada siyah (-), kırmızı (+) ucu temsil etmektedir. Ben kodlara ilgili notaların frekanslarını ekledim. Örnek olarak da 2 adet müziği buraya ekleyeceğim. sizler diğer müziklerin notalarını öğrendikten sonra duraksamaları deneme yanılma yoluyla bulabilirsiniz. Takıldığınız yerde aşağıya yorum bırakırsanız seve seve yardımcı da olabilirim. Notalar: 1 2 3 4 5 6 7

16x2 LCD I2C (i2c) Hataları ve Çözümler

Merhaba arkadaşlar arduino I2C modülü kullanımında oluşan bazı hatalardan bahsetmek istiyorum. Öncelikle bu modülle görüntü alamıyorsanız arkasındaki potansiyometreyi sağa ve sola çevirerek uygun konstrata getirin bu sebeple yazılar görünmüyor olabilir. Bağladığınızda arduino kapanıyorsa kısa devre vardır lehim aralıklarını kontrol edin temas olabiliyor. Eğer tek karakter ekranda çıkıyor diğer karakterler çıkmıyorsa aşağıda verdiğim kütüpaneyi yükleyin sorununuz çözülecektir. Eğer buna rağmen görüntü alamıyorsanız LCD panel adresiniz farklı olabilir  LiquidCrystal_I2C lcd(0x27, 16, 2);  kod satırındaki " 27 " yi " 3f " yapın. Yani şöyle olmalı  LiquidCrystal_I2C lcd(0x3f, 16, 2);  Bu şekilde büyük olasılıkla görüntü alamama sorununuz çözülecektir. I2C Port bağlantıları şöyle olmalıdır: gnd-gnd vcc - 5 v sda- A4 scl-A5 pinine bağlanmalıdır. Örnek Kod: #include <Wire.h> #include <LiquidCrystal_I2C.h> // LCD adres 0x3f 16 kara

PID Algoritmalı Çizgi İzleyen Robot (PID Line Follower)

PID var olan bir problemin çözümünde  Oranı, integrali ve Türevi toplayarak bir hata oranı çıkarır ve bunu minimuma indirgemek için bir yol geliştirilir. Daha sonra PID'nin detaylı açıklamasını yaparım. Bu yazıdaki amacım hani hep gördüğünüz virajları çok hızlı dönen çizgi izleyenlerin nasıl yapıldıklarını nacizane göstermek. Malzemeler: Arduino Nano veya UNO Pololu QTR 8RC Kızıl ötesi sensör dizisi Pololu TB6612FNG Motor Sürücü 2 Adet Redüktörlü 6V DC Motor 9V Tercihen Duracell Pil (Arduino beslemesi için)  11.1V bir Li-Po pil (Motor sürücü için) Bağlantı Şeması: Kaynak Kodu: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 #include <QTRSensors.h> #define Kp 0 // Kendi deneyimlerinizle bulmanız gerekli küçük bir değer ile başlayıp, büyütebilirsiniz en kararlı Kp değerini bulana kadar.. #