[COLOR=Green]'###########################################
'# Capteur HMC5883L
'###########################################[/COLOR]
[COLOR=Navy]#picaxe [/COLOR][COLOR=Black]18M2[/COLOR]
[COLOR=Green]'variables =============================[/COLOR]
[COLOR=Blue]symbol [/COLOR][COLOR=Black]Val_x [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Purple]w2 [/COLOR][COLOR=Green]'composante x (b4 et b5)[/COLOR]
[COLOR=Blue]symbol [/COLOR][COLOR=Black]Val_y [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Purple]w3 [/COLOR][COLOR=Green]'composante y (b6 et b7)[/COLOR]
[COLOR=Blue]symbol [/COLOR][COLOR=Black]Val_z [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Purple]w4 [/COLOR][COLOR=Green]'composante z (b8 et b9)
'initialisation ===========================[/COLOR]
[COLOR=Blue]hi2csetup i2cmaster[/COLOR][COLOR=Black], [/COLOR][COLOR=Navy]$3C[/COLOR][COLOR=Black], [/COLOR][COLOR=Blue]i2cslow[/COLOR][COLOR=Black], [/COLOR][COLOR=Blue]i2cbyte [/COLOR][COLOR=Green]' init I2C[/COLOR]
[COLOR=Blue]hi2cout [/COLOR][COLOR=Navy]$00[/COLOR][COLOR=Black], [/COLOR][COLOR=Blue]([/COLOR][COLOR=Navy]%01110000[/COLOR][COLOR=Blue]) [/COLOR][COLOR=Green]'moyenne sur 8 mesures , 15 résultats par secondes[/COLOR]
[COLOR=Blue]hi2cout [/COLOR][COLOR=Navy]$01[/COLOR][COLOR=Black], [/COLOR][COLOR=Blue]([/COLOR][COLOR=Navy]11100000[/COLOR][COLOR=Blue]) [/COLOR][COLOR=Green]'etendue de mesure +/- 8.1 Gauss
'hi2cout $01, (10000000) 'etendue de mesure +/- 4 Gauss
'hi2cout $01, (00000000) 'etendue de mesure +/- 0.88 Gauss[/COLOR]
[COLOR=Black]main: [/COLOR][COLOR=Green]'======================================[/COLOR]
[COLOR=Blue]do
hi2cin [/COLOR][COLOR=Navy]$03[/COLOR][COLOR=Black], [/COLOR][COLOR=Blue]([/COLOR][COLOR=Purple]b5[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]b4[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]b9[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]b8[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]b7[/COLOR][COLOR=Black],[/COLOR][COLOR=Purple]b6[/COLOR][COLOR=Blue]) [/COLOR][COLOR=Green]'lecture des valeurs x,z, et y[/COLOR]
[COLOR=Blue]pause [/COLOR][COLOR=Navy]100[/COLOR]
[COLOR=Green]'mise à l'échelle 0 à 4095 des valeurs -2048 + 2047 fournies en complément à 2[/COLOR]
[COLOR=Black]val_x [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Black]val_x [/COLOR][COLOR=DarkCyan]+ [/COLOR][COLOR=Navy]2047[/COLOR]
[COLOR=Blue]If [/COLOR][COLOR=Black]Val_x [/COLOR][COLOR=DarkCyan]>= [/COLOR][COLOR=Navy]$8000 [/COLOR][COLOR=Blue]then[/COLOR]
[COLOR=Black]Val_x [/COLOR][COLOR=DarkCyan]= - [/COLOR][COLOR=Black]Val_x [/COLOR][COLOR=DarkCyan]- [/COLOR][COLOR=Navy]30720 [/COLOR]
[COLOR=Blue]endif[/COLOR]
[COLOR=Black]val_y [/COLOR][COLOR=DarkCyan]= [/COLOR][COLOR=Black]val_y [/COLOR][COLOR=DarkCyan]+ [/COLOR][COLOR=Navy]2047[/COLOR]
[COLOR=Blue]If [/COLOR][COLOR=Black]Val_y [/COLOR][COLOR=DarkCyan]>= [/COLOR][COLOR=Navy]$8000 [/COLOR][COLOR=Blue]then[/COLOR]
[COLOR=Black]Val_y [/COLOR][COLOR=DarkCyan]= - [/COLOR][COLOR=Black]Val_y [/COLOR][COLOR=DarkCyan]- [/COLOR][COLOR=Navy]30720 [/COLOR]
[COLOR=Blue]endif
loop[/COLOR]