CONST DEVICE = R5 '********************************* 'Programme pour PICBASIC 2000 et LCD 4x20 'Inclinométre double axe à base de ADXL202AE 'brochage du ADXL 202: '1 - NC '2 - Rset réssistance de 1M ohms à la masse '3 - Masse '4 - Yout (sortie axe Y impulsion positive de 3ms à 0° et +/- 1ms à +/- 90°) '5 - Xout (sortie axe X impulsion positive de 3ms à 0° et +/- 1ms à +/- 90°) '6 - condensateur de 470nF à la masse '7 - condensateur de 470nF à la masse '8 - VDD +5v avec une résistance de 100 ohms en serie et un condensateur de 470nF à la masse ' 'Plus d'infos sur http://arn.gui.free.fr/picbasic.htm '********************************* SET PICBUS HIGH LCDINIT DIM I as INTEGER DIM J as INTEGER DIM A AS INTEGER DIM B as INTEGER CSROFF CLS BUSOUT &HA5,1,31,16,16,16,16,16,16,31 BUSOUT &HA5,2,31,0,0,0,0,0,0,31 BUSOUT &HA5,3,31,1,1,1,1,1,1,31 10 LOCATE 0,0 PRINT "INCLINOMETRE ADXL202" LOCATE 0,1 PRINT "Axe X=",B," " LOCATE 11,1 PRINT "Axe Y=",A ' AXE des X J= CAPTURE(1,1) 'Port P01 du PICBASIC connecté à la sortie XouT de l'ADXL 202 LOCATE 0,2 PRINT "X -90" BUSOUT &HA2,&HDF,&H00 LOCATE 17,2 PRINT "90" BUSOUT &HA2,&HDF,&H00 LOCATE 6,2 B=J-20 IF B=<309 THEN GOSUB 500 ELSE GOSUB 1000 'bargraph indicant la position axe X IF B>309 AND B<330 THEN GOSUB 500 ELSE GOSUB 1001 IF B>329 AND B<350 THEN GOSUB 500 ELSE GOSUB 1001 IF B>349 AND B<370 THEN GOSUB 500 ELSE GOSUB 1001 IF B>369 AND B<390 THEN GOSUB 500 ELSE GOSUB 1001 IF B>389 AND B<410 THEN GOSUB 500 ELSE GOSUB 1001 IF B>409 AND B<430 THEN GOSUB 500 ELSE GOSUB 1001 IF B>429 AND B<450 THEN GOSUB 500 ELSE GOSUB 1001 IF B>449 AND B<470 THEN GOSUB 500 ELSE GOSUB 1001 IF B>469 AND B<490 THEN GOSUB 500 ELSE GOSUB 1001 IF B=>490 THEN GOSUB 500 ELSE GOSUB 1002 'AXE des Y I= CAPTURE(2,1) 'Port P02 du PICBASIC connecté à la sortie YouT de l'ADXL 202 LOCATE 0,3 PRINT "Y -90" BUSOUT &HA2,&HDF,&H00 LOCATE 17,3 PRINT "90" BUSOUT &HA2,&HDF,&H00 LOCATE 6,3 A=I IF A=<309 THEN GOSUB 500 ELSE GOSUB 1000 'bargraph indicant la position axe Y IF A>309 AND A<330 THEN GOSUB 500 ELSE GOSUB 1001 IF A>329 AND A<350 THEN GOSUB 500 ELSE GOSUB 1001 IF A>349 AND A<370 THEN GOSUB 500 ELSE GOSUB 1001 IF A>369 AND A<390 THEN GOSUB 500 ELSE GOSUB 1001 IF A>389 AND A<410 THEN GOSUB 500 ELSE GOSUB 1001 IF A>409 AND A<430 THEN GOSUB 500 ELSE GOSUB 1001 IF A>429 AND A<450 THEN GOSUB 500 ELSE GOSUB 1001 IF A>449 AND A<470 THEN GOSUB 500 ELSE GOSUB 1001 IF A>469 AND A<490 THEN GOSUB 500 ELSE GOSUB 1001 IF A=>490 THEN GOSUB 500 ELSE GOSUB 1002 GOTO 10 500 BUSOUT &HA2,&HFF,&H00 RETURN 1000 BUSOUT &HA2,&H01,&H00 RETURN 1001 BUSOUT &HA2,&H02,&H00 RETURN 1002 BUSOUT &HA2,&H03,&H00 RETURN