Che Guevara
05.03.2009, 18:56
Hallo Leute,
heute ist endlich meine lieferung von robotikhardware gekommen (2x SFR02 und 2x GP2D12).
der sfr02 funktionierte auf anhieb :-D und der sharp eig auch, nur in kombination mit dem atmega32 nicht :-(
am oscar bekomme ich beim gp2d12 völlig korrekte werte, nur wenn ich das in die entfernung umrechnen will, kommt 0 raus :-(
hier mal mein code:
$regfile = "m32def.dat"
$crystal = 16000000
Config Lcd = 20 * 4
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.4 , Rs = Portc.5
Config Lcdbus = 4
Initlcd
Cls
Cursor Off Noblink
Config Adc = Single , Prescaler = Auto
Start Adc
Config Pina.0 = Input
Porta.0 = 0
Enable Interrupts
Dim D As Single
Dim X As Word
Dim Y As Single
Dim Z As Single
Const A = 24.93
Const B = 0.0695
'D = A /(x -b)
Do
X = Getadc(0)
Y = X - B
Z = A / Y
D = Z * 100
Locate 1 , 1
Lcd "X = " ; X
Locate 2 , 1
Lcd "Y = " ; Y
Locate 3 , 1
Lcd "Z = " ; Z
Locate 4 , 1
Lcd "D = " ; D
Wait 1
Cls
Loop
End
könnt ihr mir helfen??
vielleicht ist der fehler auch ganz einfach, nur ich sehe ihn nicht *grübel*
P.S.: Das mit y und z unso ist nur, damit ich die werte sehe! ich weiß, dass das viel einfacher zu machen ist, hatte ich auch vorher einfacher, nur wollte ich jetzt mal die werte sehen ;-)
danke schon mal
gruß
chris
heute ist endlich meine lieferung von robotikhardware gekommen (2x SFR02 und 2x GP2D12).
der sfr02 funktionierte auf anhieb :-D und der sharp eig auch, nur in kombination mit dem atmega32 nicht :-(
am oscar bekomme ich beim gp2d12 völlig korrekte werte, nur wenn ich das in die entfernung umrechnen will, kommt 0 raus :-(
hier mal mein code:
$regfile = "m32def.dat"
$crystal = 16000000
Config Lcd = 20 * 4
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.4 , Rs = Portc.5
Config Lcdbus = 4
Initlcd
Cls
Cursor Off Noblink
Config Adc = Single , Prescaler = Auto
Start Adc
Config Pina.0 = Input
Porta.0 = 0
Enable Interrupts
Dim D As Single
Dim X As Word
Dim Y As Single
Dim Z As Single
Const A = 24.93
Const B = 0.0695
'D = A /(x -b)
Do
X = Getadc(0)
Y = X - B
Z = A / Y
D = Z * 100
Locate 1 , 1
Lcd "X = " ; X
Locate 2 , 1
Lcd "Y = " ; Y
Locate 3 , 1
Lcd "Z = " ; Z
Locate 4 , 1
Lcd "D = " ; D
Wait 1
Cls
Loop
End
könnt ihr mir helfen??
vielleicht ist der fehler auch ganz einfach, nur ich sehe ihn nicht *grübel*
P.S.: Das mit y und z unso ist nur, damit ich die werte sehe! ich weiß, dass das viel einfacher zu machen ist, hatte ich auch vorher einfacher, nur wollte ich jetzt mal die werte sehen ;-)
danke schon mal
gruß
chris