bonjour à vous...je me présente à vous en tant qu'étudiant débutant dans le domaine de la programmation car un problème sur lequel j'ai déjà passé 6h de mon PPE se pose à moi.étant en terminale scientifique je ne peux pas me permettre de gaspiller plus du temps qui nous est accordé pour le projet(environ 30 heures dont la moitié est déjà passée)
mon objectif est ici de programmer 2 servomoteurs avec 2 boutons(un bouton par servo)sur un picbasic pb3b...rien de sorcier me direz vous sauf que les servos ne réagissent pas du tout comme prévu et même si j'ai compris d'ou vient le problème je n'arrive pas à le résoudre.j'ai donc besoin de vos lumières.je vous présente donc le programme en question :
Const Device = 3B
1 CONST SERVO1=10
CONST SERVO2=11
CONST P0=1
CONST P1=2
2 DIM i as byte
3 DIM J AS BYTE
4 DIM k as byte
5 DIM L AS BYTE
10 FOR J=0 TO 50
11 i=IN(P0)
IF i=0 THEN GOTO 11
SERVO SERVO1,800
DELAY 10
NEXT J
20 FOR J=0 TO 50
21 i=IN(P0)
IF i=1 THEN GOTO 21
SERVO SERVO1,3200
DELAY 10
NEXT J
30 FOR L=0 TO 50
31 k=IN(P1)
IF k=0 THEN GOTO 31
SERVO SERVO2,800
DELAY 10
NEXT L
40 FOR L=0 TO 50
41 k=IN(P1)
IF k=1 THEN GOTO 41
SERVO SERVO2,3200
DELAY 10
NEXT L
GOTO 10
le problème de ce programme étant que dès que je vais appuyer sur un bouton,il ira aussi lire l'autre bouton et ainsi le deuxième servo tourne
j'avais pensé à une solution cependant un autre problème se pose:
Const Device = 3B
1 CONST SERVO1=10
CONST SERVO2=11
CONST P0=1
CONST P1=2
2 DIM i as byte
3 DIM J AS BYTE
4 DIM k as byte
5 DIM L AS BYTE
10 FOR J=0 TO 50
11 i=IN(P0)
IF i=0 THEN GOTO 11
SERVO SERVO1,800
DELAY 10
NEXT J
20 FOR J=0 TO 50
21 i=IN(P0)
IF i=1 THEN GOTO 21
SERVO SERVO1,3200
DELAY 10
NEXT J
GOTO 10
30 FOR L=0 TO 50
31 k=IN(P1)
IF k=0 THEN GOTO 31
SERVO SERVO2,800
DELAY 10
NEXT L
40 FOR L=0 TO 50
41 k=IN(P1)
IF k=1 THEN GOTO 41
SERVO SERVO2,3200
DELAY 10
NEXT L
GOTO 30
ici le problème est que , avec le GOTO 10 , le programme n'ira jamais lire la valeur du 2ème bouton...et idem si j'enlève le GOTO 10 et laisse le GOTO 30,le premier bouton ne sera lu qu'une fois puis le programme ne retournera plus à la ligne 10 empêchant ainsi la lecture du permier bouton
aidez moi svp!!!
