Diğer yandan programına bakıyorum hiç okuma komutu göremiyorum hep yazma komutun var. Hatan bu olsa gerek. Örneğin 3 ve 4 nolu adreslerden yalnızca okuma yapılabiliyor sen oraya I2COUT komutu ile yazmaya çalışıyorsun. Sorun burada. O kullandığın derleyicinin kullanım klavuzuna bir bak istersen I2C yazma ve Okuma nasıl ve hangi komutlarla yapılıyor. Öğren sonra tatbik et.
Ete
Başlık: Ynt: HMC5883 yardım
Gönderen: Dtmf - 17 Mayıs 2020, 22:54:19
Hocam kusura bakmayin i2cin di okumalar ben yalnislikla gondermisim oruc kafaya vurdu bugun ozur dilerim:)
Başlık: Ynt: HMC5883 yardım
Gönderen: Dtmf - 17 Mayıs 2020, 22:55:44
Direncler mevcut hocam i2cin ile okuma yapiyorum.datashett bir inceleyim
Başlık: Ynt: HMC5883 yardım
Gönderen: Dtmf - 18 Mayıs 2020, 10:06:23
ete hocam hayırlı sabahlar verdıgınız datasheetde kı orneklerı yenı gordumdaha dogrusu bu datasheet orneklı versıyonu elımde yoktu kodlarda degısıklıgı ornege gore yaptım fakat sonuc degısmedı.modulu 3.3v ıle beslıyorum modul uzerınde 4.7 k lık dırencler var pulup bunlarıdegıstırmemmı lazım.bu arada DRDY bıtı ekranda 1 olarakgozukuyor ve DRDY y baglı led aktıf fakat verı gelmıyor
Device = 16F877A
Xtal = 20 ' Kristal frekansı: 20 MHz
Declare All_Digital True ' 16f877A nın tüm uçları Dijital
TRISA = %00000000:PORTA=0
TRISB = %00000000:PORTB=0
TRISC = %00000000:PORTC=0
TRISD = %00000000:PORTD=0
TRISE = %00000000:PORTE=0
Declare LCD_Type alpha
Declare LCD_Lines 4
Declare LCD_Interface 4
Declare LCD_DTPin PORTB.4
Declare LCD_RSPin PORTB.0
Declare LCD_ENPin PORTB.1
Dim XL As Byte
Dim XH As Byte
Dim YL As Byte
Dim YH As Byte
Dim ZL As Byte
Dim ZH As Byte
Dim DRDY As Byte
Symbol SDA = PORTC.7
Symbol SCL = PORTC.6
Dim YAZ As Byte
Dim OKU As Byte
YAZ=$3C
OKU=$3D
I2COut SDA,SCL,YAZ,$00,[$71] ;YAPILANDIRMA A VARSAYILAN 7.BIT HERZAMAN 1 TEMIZLE
DelayMS 10
I2COut SDA,SCL,$YAZ,$01,[$A0] ;YAPILANDIRMA B
DelayMS 10
I2COut SDA,SCL,$YAZ,$02,[$00] ;MOD AYAR
DelayMS 500
Cls ;EKRANI TEMIZLE
;===================================================START=======================
BASLA:
PORTD.0=1
Print At 1,1," HMC 5883 PUSULA "
I2CIn SDA,SCL,OKU,$03,[XL] :DelayMS 2 ;X EKSEN
I2CIn SDA,SCL,OKU,$04,[XL] :DelayMS 2 ;X EKSEN
I2CIn SDA,SCL,OKU,$05,[YL] :DelayMS 2 ;Y EKSEN
I2CIn SDA,SCL,OKU,$06,[YL] :DelayMS 2 ;Y EKSEN
I2CIn SDA,SCL,OKU,$07,[ZL] :DelayMS 2 ;Z EKSEN
I2CIn SDA,SCL,OKU,$08,[ZL] :DelayMS 2 ;Z EKSEN
I2CIn SDA,SCL,OKU,$09,[DRDY] ;MOD AYAR
Print At 2,1,"XL:",Dec XL," ","XH:",Dec XH
Print At 3,1,"YL:",Dec YL," ","YH:",Dec YH
Print At 4,1,"DURUM.DRDY:",Bin DRDY.0 ;DATA HAZIR BITI OKU
PORTD.0=0
DelayMS 100
GoTo BASLA
Başlık: Ynt: HMC5883 yardım
Gönderen: ete - 18 Mayıs 2020, 11:14:10
Modül dediğin bir hazır kartise ve üzerinde pullup dirençleri var ise değiştirmeye gerek yok. O data sheet de bir işlemci ile nasıl bağlantı yapılacağıda detaylı olarak gösterilmiş. Bana kalırsa örnekleri uygula sonuç almaya bak. Alamıyorsan modül bozuktur demekten başka söyleyecek lafım olmaz.
Derleyicin Proton bana uzak. Modülü daha önce hiç kullanmadım onuda bilmiyorum. Bilmem için oturup o data sheeti bir keç kez okumam ve uygulama yapmam lazım. Bunada benim vaktim yok yada uğraşacak durumum yok, zaten elimde modul de yok. Her şey senin elinde biraz uğraş bir yerlerde vardır bir kusurun. Kusur yoksa modül bozuktur. Başka alternatif yok maalesef. Ete
Başlık: Ynt: HMC5883 yardım
Gönderen: Dtmf - 18 Mayıs 2020, 12:45:48
Sagolun hocam caniniz sagolsun :).modulleri ardunio da test ediyorum gayet guzel calisiyolar.ordunio kutuphanesindeki adrss,reg.adrsi vs degerleri ornek alarak aynisi gibi degistirdim yine fayda yok vardir ufak bisey ama takildim.bulurum insallah saglicakla kalin
Başlık: Ynt: HMC5883 yardım
Gönderen: dnaci - 18 Mayıs 2020, 13:50:49
Alıntı yapılan: Dtmf - 17 Mayıs 2020, 19:44:44Iyı aksamlar degerlı arkadaslar hmc5883 konusunda yardıma ıhtıyacım var. HMC5883 ıle haberlesmeye calısıyorum fakat hıc bır verı alamıyorum.bu modulun orjınalının L833 ve 16bıt sıcaklık verısı var,cakma denılen farklı bır versıyon olanının DA5883-DB5883 olarak pıyasada bulundugnu arastırıp ogrendım ve bu serıde sıcaklık senoru yok.3 versıyonundanda aldım.mevcut 3 modulun mercekle chıplerın uzerını okudum L883-DA5883-DB5883.data sheet baya kurcaladım hatta her bırının ı2c adreslerını garantı olsundıye ardunıo dan ı2c scaner ıle tarayarak bı koseye yazdım.sorun su suanda DA5883 versıyonunu breadborda kurdum yazma adresı=$3D okuma adresı=$3D hıc bır verı alamıyorum.rıca etsem yardımcı olurmusunuz nerede hata yapıyorum.
Device = 16F877A
Xtal = 20 ; Kristal frekansı: 20 MHz
Declare All_Digital True ; 16f877A nın tüm uçları Dijital
TRISA = %00000000:PORTA=0
TRISB = %00000000:PORTB=0
TRISC = %00000000:PORTC=0
TRISD = %00000000:PORTD=0
TRISE = %00000000:PORTE=0
Declare LCD_Type alpha
Declare LCD_Lines 4
Declare LCD_Interface 4
Declare LCD_DTPin PORTB.4
Declare LCD_RSPin PORTB.0
Declare LCD_ENPin PORTB.1
Dim XL As Byte
Dim XH As Byte
Dim YL As Byte
Dim YH As Byte
Dim ZL As Byte
Dim ZH As Byte
Dim DRDY As Byte
Symbol SDA = PORTC.7
Symbol SCL = PORTC.6
Dim YAZ As Byte
Dim OKU As Byte
YAZ=$3C
OKU=$3D
I2COut SDA,SCL,YAZ,$00,[%11110000] ;YAPILANDIRMA A VARSAYILAN 7.BIT HERZAMAN 1 TEMIZLE
DelayMS 10
I2COut SDA,SCL,$YAZ,$01,[%00100000] ;YAPILANDIRMA B
DelayMS 10
I2COut SDA,SCL,$YAZ,$02,[%10000001] ;MOD AYAR
DelayMS 500
Cls ;EKRANI TEMIZLE
;=======================START=======================
BASLA:
PORTD.0=1
Print At 1,1," HMC 5883 PUSULA "
I2COut SDA,SCL,OKU,$03,[XL] :DelayMS 2 ;X EKSEN
I2COut SDA,SCL,OKU,$04,[XL] :DelayMS 2 ;X EKSEN
I2COut SDA,SCL,OKU,$05,[YL] :DelayMS 2 ;Y EKSEN
I2COut SDA,SCL,OKU,$06,[YL] :DelayMS 2 ;Y EKSEN
I2COut SDA,SCL,OKU,$07,[ZL] :DelayMS 2 ;Z EKSEN
I2COut SDA,SCL,OKU,$08,[ZL] :DelayMS 2 ;Z EKSEN
I2COut SDA,SCL,YAZ,$09,[DRDY] ;MOD AYAR
Print At 2,1,"XL:",Dec XL," ","XH:",Dec XH
Print At 3,1,"YL:",Dec YL," ","YH:",Dec YH
Print At 4,1,"DURUM.DRDY:",Bin DRDY.0 ;DATA HAZIR BITI OKU
PORTD.0=0
DelayMS 100
GoTo BASLA
@Dtmf bu sensörle Proton ile geçen sene bir pusula çalışması yapmıştım. Atan fonksiyonu ile yön bilgisi hesaplanıyor. Linkten çalışmanın kodlarını inceleyebilirsin. Kodlar hem 5883 hem de 5983 üzerinde çalışıyor. Kullandığım sensörler orjinaldi.
Isı ölçümü yapmaya çalışıyorsunuz sanırım ama bu sensörde ısı ölçümü özelliği yok bildiğim kadarıyla. Datasheet pdf dosyasını da inceledim ama göremedim. Yapılan ölçümlerin stabil olması için ısıya göre ölçüm düzeltme ile ilgili bir şeyler son sayfada var ama doğrudan ısı ölçümü değil. Arduino ile nasıl yapılmış olabilir? Arduino kodlarını veya kaynak varsa paylaşabilir misiniz?
Başlık: Ynt: HMC5883 yardım
Gönderen: Dtmf - 18 Mayıs 2020, 16:49:41
Yardiminiz icin tesekkur ederim.soyle bir garip durum var suan elimde mevcut olan DA5883 ve DB5883 chipli modullerinin yazma ve okuma adresleri $1A ve $1B imis rusca dan turkceye cevirdigim bir datasheet de yaziyordu denedim oldu ? Anlam veremedim.
Başlık: Ynt: HMC5883 yardım
Gönderen: Dtmf - 18 Mayıs 2020, 16:57:10
kodu paylasıyorum.suan calısıyor
Device = 16F877A
Xtal = 20 ; Kristal frekansı: 20 MHz
All_Digital True ; 16f877A nın tüm uçları Dijital
TRISA = %00000000:PORTA=0
TRISB = %00000000:PORTB=0
TRISC = %11000000:PORTC=0
TRISD = %00000000:PORTD=0
TRISE = %00000000:PORTE=0
Declare LCD_Type alpha
Declare LCD_Lines 4
Declare LCD_Interface 4
Declare LCD_DTPin PORTB.4
Declare LCD_RSPin PORTB.0
Declare LCD_ENPin PORTB.1
Dim XL As Byte
Dim XH As BYTE
Dim YL As Byte
Dim YH As BYTE
Dim ZL As Byte
Dim ZH As BYTE
Dim DRDY As Byte
Symbol SDA = PORTC.7
Symbol SCL = PORTC.6
Dim YAZ As Byte
Dim OKU As Byte
YAZ=$1A ;YAZMA ADRESI DOGRU SILME
OKU=$1B ;OKUMA ADRESI DOGRU SILME
DelayMS 500
I2COut SDA,SCL,YAZ,$0B,[$01] ;OLCUM MODU SUREKLI
DelayMS 10
I2COut SDA,SCL,YAZ,$09,[%10011001] ;MOD AYAR
DelayMS 10
I2COut SDA,SCL,YAZ,$A0,[%10000001] ;MOD AYAR
DelayMS 500
Cls ;EKRANI TEMIZLE
;=======================START=======================
BASLA:
;I2COut SDA,SCL,YAZ,$0B,[$01] ;OLCUM MODU SUREKLI
Print At 1,1," HMC 5883. "
PORTD.0=1
;I2COut SDA,SCL,YAZ,$A0,[%10000001] ;MOD AYAR
I2CIn SDA,SCL,OKU,$00,[XH]:DelayUS 20
I2CIn SDA,SCL,OKU,$01,[XL] :DelayUS 20
I2CIn SDA,SCL,OKU,$03,[YH]:DelayUS 20
I2CIn SDA,SCL,OKU,$04,[YL] :DelayUS 20
I2CIn SDA,SCL,OKU,$05,[ZH]:DelayUS 20
I2CIn SDA,SCL,OKU,$06,[ZL] :DelayUS 20
I2CIn SDA,SCL,OKU,$06,[DRDY] :DelayMS 2
Print At 2,1,"XL:",Dec XL," ","XH:",Dec XH
Print At 3,1,"YL:",Dec YL," ","YH:",Dec YH
Print At 4,1,"DRDY:",Bin DRDY
PORTD.0=0
DelayMS 100
GoTo BASLA
Başlık: Ynt: HMC5883 yardım
Gönderen: Dtmf - 19 Mayıs 2020, 23:10:14
Ete hocam iyi aksamlar paylastiginiz dataheet inceledim.ben DA.5883 ve BD.olani calistirdim fakat bu L883 olan Calismadi. anlayamadigim iki yer var. 1.Status reg.bolumndeki lock kilit bir turlu acamadim yani program da okuttugimda RDY ve LOCK bitleri 1 gosteriyor lock kilitli oldugunda 6 bayt verinin kilitlendigini yeni gelen verinin kayda alinmayacagini soyluyor.status.reg.sadece okunabiliyor yazma yok malesef 2.dediginiz gibi ornekler var fakat
I2cout...$3c.$00[$70] I2cout...$3c.$01[$A0] I2cout...$3c.$02[$00] Ayarlarindan sonrasini anlayamadim Ozelliklen bu send $3c $3c(point to first data register 03)
Bu iki konuda vaktiniz varsa yardimci olurmusunuz
Başlık: Ynt: HMC5883 yardım
Gönderen: ete - 20 Mayıs 2020, 21:41:32
Anladığım şu; - I2COut.....$3c,$00,[$70] - I2COut.....$3c,$01,[$A0] - I2COut.....$3C,$02,[$00] - 6 ms bekle, veya status registeri oku veya DRDY pinine bak. - SOnra bir döngü kur - I2Cin.....$3D,$06,[6 adet byte oku] - 3 adet 16 bitlik ikinin tamamlayıcısı olan hex değerleri desimale çevir ve bunları XYZ ye ata. - I2COut.....$3C,$03,[] - 67 ms bekle - döngü sonu
Burada 6 byte okumadan sonrasına bende bir anlam veremedim doğrusu. Ne amaçla yazılmış ne yapıyor pek belli değil. Özellikle 6 byte okunurken benim bildiğim (okunacak byte lar 3 nolu adresten başladığına göre) - I2Cin.....$3D,$03,[bir , iki, uc, dort,bes,altı} şeklinde okunmalıdır. Sen yinede bu şekilde dene istersen.
Ete
Başlık: Ynt: HMC5883 yardım
Gönderen: Dtmf - 22 Mayıs 2020, 22:12:53
ETE hocam ıyı aksamlar dedıgınız gıbı programı basıtce yazdım sadece verı alabılmek adına.sonuc olumlu :) chıp uzerınde L883 yazıyor sadece. DA5883 ve BD5883 olan chıp olan modullerı calıstırmıyor bu program.bence ılerıde arastırma yapan arkadaslara bır ornek olur bu programlar.yalnız Z degerını alamadım x ve y degerlerı gayet guzel calısıyor.
Device=16F877A
Xtal=20 ' Kristal frekansı: 20 MHz
All_Digital True ' 16f877A nın tüm uçları Dijital
TRISA = %00000000:PORTA=0
TRISB = %00000000:PORTB=0
TRISC = %00000000:PORTC=0
TRISD = %00000000:PORTD=0
TRISE = %00000000:PORTE=0
Declare I2C_Slow_Bus 0 ;- Off or 1 – 0
;Declare I2C_Bus_SCL 1;On - Off, 1 - 0 or True - False
Declare LCD_Type alpha
Declare LCD_Lines 4
Declare LCD_Interface 4
Declare LCD_DTPin PORTB.4
Declare LCD_RSPin PORTB.0
Declare LCD_ENPin PORTB.1
Dim X As Word
Dim Y As Word
Dim Z As Word
Dim DRDY As Byte
Dim X1 As Byte
Dim X2 As Byte
Dim Z1 As Byte
Dim Z2 As Byte
Dim Y1 As Byte
Dim Y2 As Byte
Dim S1 As Byte
Dim S2 As Byte
Symbol SD = PORTD.0
Symbol SC = PORTD.1
Dim YAZ As Byte
Dim OKU As Byte
YAZ=$3C ;3C YAZMA
OKU=$3D ;3D OKUMA
DelayMS 500
Cls;EKRANI TEMIZLE
I2COut SD,SC,YAZ,$00,[$70] ;YAPILANDIRMA A VARSAYILAN 7.BIT HERZAMAN 1 TEMIZLE
DelayMS 70
I2COut SD,SC,YAZ,$01,[$A0] ;YAPILANDIRMA B CIHAZ KAZANCI
DelayMS 2
I2COut SD,SC,$3C,$02,[%00000000] ;MOD AYAR
DelayMS 100
;===================================================START=======================
BASLA:
I2CIn SD,SC,OKU,$3,[X1,X2,Z1,Z2,Y1,Y2] ;MOD AYAR
DelayMS 10
PORTC.0=1 ;PROGRAMIN CALISTIGININ BELLI OLMASI ICIN FLASOR AKTIF
DelayMS 2
I2CIn SD,SC,OKU,$08,[DRDY] ;MOD AYAR
Print At 1,1,"X1:",Dec X1," ","X2:",Dec X2
Print At 2,1,"Z1:",Dec Z1," ","Z2:",Dec Z2
Print At 3,1,"Y1:",Dec Y1," ","Y2:",Dec Y2
Print At 4,1,"DURUM:",Bin DRDY ;status regıster bıtlerını oku
PORTC.0=0 ;;PROGRAMIN CALISTIGININ BELLI OLMASI ICIN FLASOR PASIF
;I2COut SD,SC,$3C,$3,[$3] ;bu komutun programda bır yararınıgoremedım
DelayMS 100
GoTo BASLA
Başlık: Ynt: HMC5883 yardım
Gönderen: Dtmf - 18 Şubat 2023, 21:28:50
ıyı aksamlar degerlı arkadasla bır kac ay once HMC5883 pusula modulu ıle bır calısmam olmustu hesaplamaları bır muhendıs arkadasla yaptık gayet guzel calısıyor.donuslerı derece olarak verıyor. belkı dıgıtal pusula yapmak ısteyen veya herhangıbır hava aracında kullanmak ısteyen olursa dıye paylasıyorum.onelı bır yer var hmc5883 modulu uzerındekı chıp mutlaka l883 kodu yazmalı.kalıbrasyon ayarı yazan yere bulundugunuz ılın manyetık yogunlugunu ınternet uzrerınden bulup yazmanız lazım manyetık kuzey ıcın. ıyı calısmlar
;====================HMC5883 PUSULA ENSORU============
Device =18F45K22
Xtal =64 ;pll aktıf edıp dahılı 16mhz x 4
All_Digital TRUE
TRISA=0:PORTA=0
TRISB=0:PORTB=0
TRISC=0:PORTC=0
TRISD=0:PORTD=0
TRISE=0:PORTE=0
;-------------------------------------
Declare LCD_Type alpha
Declare LCD_Lines 2
Declare LCD_Interface 4
Declare LCD_DTPin PORTB.0
Declare LCD_RSPin PORTB.5
Declare LCD_ENPin PORTB.6
Declare SDA_Pin PORTC.7
Declare SCL_Pin PORTC.6
Declare Slow_Bus 1
Declare BUS_SCL 0
Symbol SDA =PORTC.7
Symbol SCL =PORTC.6
;============================================
Symbol ADRESS=$1E
Symbol OKU=$3D ;3D
Symbol YAZ=$3C ;3C
Symbol ACONFIG=$00
Symbol BCONFIG=$01
Symbol MODE=$02
Symbol STATUS_REGISTER=$09
Symbol Magnetometer_mXMSB=$03
Symbol Magnetometer_mXLSB=$04
Symbol Magnetometer_mZMSB=$05
Symbol Magnetometer_mZLSB=$06
Symbol Magnetometer_mYMSB=$07
Symbol Magnetometer_mYLSB=$08
Dim MX0 As Byte
Dim MX1 As Byte
Dim MY0 As Byte
Dim MY1 As Byte
Dim MZ0 As Byte
Dim MZ1 As Byte
Dim MX As SWord
Dim MZ As SWord
Dim MY As SWord
Dim DURUM As Byte
Dim XM As Float
Dim YM As Float
Dim HESAP As Float
Dim X As Float
Dim Y As Float
Dim ATA As Float
Dim PI As Float
PI=3.1453
;==========================================
DelayMS 250
Cls
I2COut SDA,SCL,YAZ,ACONFIG,[%01110000];[$10];[%01110001] STANDAT %0,NUMUNE SAYISI 8 ALINDI %11 ,3 EKSENDE VERI YAZMA HIZI VARSAYILAN YAPILCDI %100,CIHAZ NORMAL OLCUM MODU %00 NEGATIF VE POZITIF ALANDA
DelayMS 100
I2COut SDA,SCL,YAZ,BCONFIG,[%00100000];[$20] ;%00000 ILK 5 BIT 0 OLARK YRLANIR STANDART,7.6.VE 5. BITLER SENSOR LANI MENZILI GAUS VARSAYILAN 1.3 GAUS AYARLNDI
DelayMS 100
I2COut SDA,SCL,YAZ,MODE,[%00000000] ;%0 YUKSEK HILI I2C AKTIF/PASIF ETME 3400KHZ,%00000 SORAKI 5 BIT ,%00 SUREKLI OLCUM MODU %01 TEK OLCUM %11 VE %10 BEKLEME DODU
DelayMS 100
;=======================================================================================================================
BASLA:
;====================X EKSENI======================
I2CIn SDA,SCL,OKU,Magnetometer_mXMSB,[MX1]
I2CIn SDA,SCL,OKU,Magnetometer_mXLSB,[MX0]
MX=(MX1<<8)+MX0; BURAYA KADAR ARDUNIO ILE AYNI DEGERLER DOGRU
XM=MX*0.00092
;====================Z EKSENI========================
I2CIn SDA,SCL,OKU,Magnetometer_mZMSB,[MZ.HighByte]
I2CIn SDA,SCL,OKU,Magnetometer_mZLSB,[MZ.LowByte]
;===================Y EKSENI=========================
I2CIn SDA,SCL,OKU,Magnetometer_mYMSB,[MY1]
I2CIn SDA,SCL,OKU,Magnetometer_mYLSB,[MY0]
MY=(MY1<<8)+MY0
YM=MY*0.00092
HESAP=XM/YM
ATA=ATan HESAP;0.419 ;Y NIN ALIDGI DEGER RADYAN CINSINDEN BULUYORUZ
Y=Y+0.073 ;KALIBRASYON AYARI
Y=ATA*180/PI
;If XM>0 And YM>0 Then Y=90-Y ;+,+
;If XM>0 And YM<0 Then Y=270-Y ;+,-
;If XM<0 And YM<0 Then Y=270-Y ;-,-
;If XM<0 And YM>0 Then Y=90-Y ;-,+
If XM>0 And YM>0 Then Y=90-Y ;+,+
If XM>0 And YM<0 Then Y=270-Y ;+,-
If XM<0 And YM>0 Then Y=90-Y ;-,+
If XM<0 And YM<0 Then Y=270-Y ;-,-
If MY=0 Then Y=180
If Y=0.000 Then Y=90
If Y=90 And MY<65000 Then Y=270
If Y=180 And MX>200 Then Y=360
Print At 1,1," HMC5883 PUSULA "
Print At 2,1,"DERECE:",Dec Y
If Y>112 And Y<165 Then Print At 3,1,"YON: KUZEY >"
If Y>165 And Y<200 Then Print At 3,1,"YON: KUZEY DOGU >"
If Y>200 And Y<234 Then Print At 3,1,"YON: DOGU >"
If Y>234 And Y<264 Then Print At 3,1,"YON: GUNEY DOGU >"
If Y>264 And Y<295 Then Print At 3,1,"YON: GUNEY >"
If Y>295 And Y<330 Then Print At 3,1,"YON: GUNEY BATI >"
If Y>330 And Y<360 Then Print At 3,1,"YON: BATI >"
If Y>1 And Y<114 Then Print At 3,1,"YON: KUZEY BATI>"
DelayMS 50
I2CIn SDA,SCL,OKU,STATUS_REGISTER,[DURUM]
;I2COut SDA,SCL,YAZ,BCONFIG,[%11100000]
Print At 1,1," "
Print At 2,1," "
Print At 3,1," "
Print At 4,1," "
GoTo BASLA
Başlık: Ynt: HMC5883 yardım
Gönderen: ete - 19 Şubat 2023, 12:29:10
Güzel çalışma. Tebrik ederim. Bir iki konu açıklığa kavuşması lazım. Birinisi bulunduğunuz yerin manyetik yoğunluğu hangi siteden alınıyor. Bunun birimi nedir. Bu parametreyi programda nerede kullanıyorsunuz. Yada sizin ywrinizin manyetik yoğunluğu kaç?
Aslında hesaplama kısmında bir detay görülmüyor. Hesapları burada ayrıca verirseniz üyelerimiz kendi programlarında kullanabilirler. Ete
Başlık: Ynt: HMC5883 yardım
Gönderen: onurinci - 19 Şubat 2023, 13:21:36
Hocam selam ,popüler bir uygulama sitesi...
https://www.magnetic-declination.com
Başlık: Ynt: HMC5883 yardım
Gönderen: Dtmf - 19 Şubat 2023, 14:54:24
Ete hocam sagolun sizin ve diger degerli hocalarimizin her konuda yardimlariyla buraya geldim :) ben iki program yazmistim ilkini yolladim ikisi arsindaki tek fark bulundugumuz ilin manyetik sapma degerini internetten bulup yazabiliriz yada bir menu olusturup illerin manyetik sapma degerleri kaydedilip lcd tuslarla illerden biri secilebilir yada benim aklima cok sey geliyor gps modulunden alinan bilgi ile manyetik sapma degerleri otomatik yuklenebilir diye dusunuyorum.
Manyetik sapma sabit bir değer değildir ve 2 yılda bir bu değeri güncellemenizi öneririm. Aksi takdirde kuzey sandığınız yön batı olabilir.
17 Ekim 2019 tarihinde yazdığım kodda bulunduğum şehir Eskişehir manyetik sapma değeri; DeclinationAngle = 5.38; ;eskişehir manyetik sapma değeri
Şimdi siteye bu siteye baktım 5.56 olmuş değer🙂
Başlık: Ynt: HMC5883 yardım
Gönderen: Dtmf - 19 Şubat 2023, 22:18:35
Iyi aksamlar.cok fazla oynayacagini sanmiyorum belki 1,2 derece.yanlis hatirlamiyorsam gps modulden bu bilgiyi cekebiliyorduk.musait bi zaman bakarim varsa paylasirim.birde piyasada hmc5883 ün 3 versiyon modul var 1.kodu DA883 ile basliyor 2.DB883 ile baslayan asil orjinal olan uzerinde l883 yazan. ben digerlerini denemedim.dikkat edin chip uzerinde l883 yazacak diger chiplerin kodlari farkli.kodlarda goz korkacak bisey yok tum iş trigonometride 2 hafta ugrastirdi beni sagolsun bi muhendis arkadasla hallettik.protonda kodlayacak arkadaslar proton.3.6.0.0 versiyonu kullansinlar (-)degerli matematiksel islemlerin yapilmasini (ornegin SDWORD) bu versiyon destekliyor.
Başlık: Ynt: HMC5883 yardım
Gönderen: dnaci - 19 Şubat 2023, 23:06:03
Benim çalışmamda da I serisi kullanmıştık. DB ve DA Serisi kalibre istiyor. Bir arkadaşım db ve da serilerine kalibre yaptı ama ben onları kullanmak istemedim güven vermediler.
Başlık: Ynt: HMC5883 yardım
Gönderen: Dtmf - 20 Şubat 2023, 09:25:44
Hatirlattiginiz iyi oldu evet kalibre istiyor DA ve DB ile baslayan moduller.hani dronlari ve model ucaklari kendi etrafinda donduruyolar ucus oncesi filan o yuzden.bu modulde kalibre isi yok