سلام به همه مهندسین کسی روال راه اندازی بلده بزاره وسط.....
اطلاعیه
Collapse
No announcement yet.
ماژول قطب نما zcc210n-I2C
Collapse
X
-
پاسخ : ماژول قطب نما zcc210n-I2C
Declare Function Cmps() As Word
$regfile = "m16def.dat"
$framesize = 42
$swstack = 32
$hwstack = 32
$crystal = 8000000
$baud = 9600
Config I2cdelay = 10
Config Sda = Portc.1
Config Scl = Portc.0
Config Lcdpin = Pin , Db7 = Porta.0 , Db6 = Porta.1 , Db5 = Porta.2 , Db4 = Porta.3 , E = Porta.5 , Rs = Porta.4
Config Lcd = 20 * 4
Config Portd.5 = Output
Config Pind.6 = Output
Config Portb.0 = Input
'----------------------------------------------------------
Dim Compass As Word , F As Word , R As Word
Dim V As Byte , D As Word , S As Word
F = &H01FF
Ddrb.0 = 0 : Portb.0 = 1
Declare Sub Calib
Cls
Wait 3
Set Portd.5
I2cinit
Print "Compass Test Program"
I2cstart
I2cwbyte &H42 'adrese ghotbnama
I2cwbyte &H76 'adrese ersale pey dar peye etlaat
I2cstop
Waitms 20
V = 1
Do
If Pinb.0 = 0 Then Goto Calib
Compass = Cmps()
R = F And Compass ' eight to zero
D = &H0E00 And Compass 'eleventh/tenth/ninth
S = &HC000 And Compass
Cls
If D = &H0000 Then '0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Lcd "N"
Elseif D = &H0200 Then '0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Lcd "NE" ' ------- ------- ------- -------
Elseif D = &H0400 Then ' 1
Lcd "E"
Elseif D = &H0600 Then
Lcd "SE"
Elseif D = &H0800 Then
Lcd "S"
Elseif D = &H0A00 Then
Lcd "SW"
Elseif D = &H0C00 Then
Lcd "W"
Elseif D = &H0E00 Then
Lcd "NW"
End If
Print Hex(compass)
Locate 2 , 1
Lcd Compass
Print Hex(r)
Locate 3 , 1
Lcd R
V = V + 3
Waitms 500
Cls
Loop
End
Function Cmps() As Word
Local Lsb As Byte
Local Msb As Byte
Local Cmps_id As Byte
Local Cmps_rd As Byte
Cmps_id = &H42
Cmps_rd = &H43
Reset Portd.7
I2cstart
I2cwbyte Cmps_id
I2cwbyte &H77
I2cstop
Waitms 20
I2cstart
I2cwbyte Cmps_rd
I2crbyte Msb , Ack
I2crbyte Lsb , Nack
I2cstop
Waitms 20
Cmps = Makeint(lsb , Msb)
End Function
Calib:
Dim Cmps_id As Byte
Dim Cmps_rd As Byte
Cmps_id = &H42
Cmps_rd = &H43
Cls
Locate 1 , 1
Lcd "calibrate"
Wait 10
Set Portd.6
I2cstart
I2cwbyte Cmps_id
I2cwbyte &H70
I2cstop
Waitms 20
Print "Start"
Locate 2 , 1
Lcd "START"
Wait 80
I2cstart
I2cwbyte Cmps_id
I2cwbyte &H72
I2cstop
Portd.6 = 0
Cls
Waitms 20
Print "Quit"
Locate 1 , 5
Lcd "end calibrate"
Waitms 200
Locate 2 , 8
Waitms 200
Return
End
-
پاسخ : ماژول قطب نما zcc210n-I2C
سلام خوب این تاپیک قدیمیه ولی تنها تاپیکی هست که از ZCC210N-I2C
حرف زدن
کسی از برنامه موجود خبری داره که ایا ؟ این برنامه اطلا عاتشو چه طوری میگیره فقط فرمت عدد گرفته شدرو میخوام
من خریدم این ماژولو و میخوام راه اندازی کنم
بسم الاه
با i2c کار کردم
فقط نمیدونم این ینی چی ؟
If D = &H0000 Then '0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Lcd "N"
Elseif D = &H0200 Then '0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Lcd "NE" ' ------- ------- ------- -------
Elseif D = &H0400 Then ' 1
Lcd "E"
Elseif D = &H0600 Then
Lcd "SE"
Elseif D = &H0800 Then
Lcd "S"
Elseif D = &H0A00 Then
Lcd "SW"
Elseif D = &H0C00 Then
Lcd "W"
Elseif D = &H0E00 Then
Lcd "NW"
End If
ینی این ماژول فقط دقت 45 درجه داره ؟
oo:
oo:
:surprised: تو دیتاشیت 1 درجه نوشته[move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]
دیدگاه






دستتتون درد نکنه :angry: :angry:
35 تومن پرید اه زدم رو vcc 12 ولت ترکید :cry2: :angry: :angry: :eek:


دیدگاه