Bonjour,
Il m'est venu à l'esprit de réaliser un montage permettant de mesurer des distances à partir d'arduino.
Le problème est que malgré cela, mon programme ne fonctionne absolument pas !
int x = 0;
int y = 0;
const int moteur = 2;
const int opto = 3;
const int alpha = 4;
const int led = 5;
const int test = 6;
long temps = millis();
boolean running = false;
void setup() {
pinMode(moteur, OUTPUT);
pinMode(opto, OUTPUT);
pinMode(alpha, INPUT);
pinMode(led, OUTPUT);
pinMode(test, OUTPUT);
}
void loop() {
digitalWrite(test, HIGH);
digitalWrite(led, LOW);
digitalWrite(moteur, HIGH);
digitalWrite(opto, HIGH);
while(x < 10 )
{
if (digitalRead(alpha) == HIGH)
{
x = x + 1;
while(digitalRead(alpha) == HIGH)
{
delay(1);
}
}
else {}
}
x == 0;
y = temps;
y = y / 1000;
y = 3,1415926 * 1;
y = y * 3600;
digitalWrite(led, HIGH);
delay(2000);
digitalWrite(led, LOW);
}
Laissez moi expliquer :
x et y sont pour moi des variables, les autres sont des pins configurés.
J'appelle temps pour un chrono millis ( je ne sais même pas si cela fonctionne)
"test" est un pin me permettant d'envoyer du jus dans "alpha" qui serait normalement les données reçues par mon capteur.
"opto" et "moteur" sont les composants électroniques auxquels je met du jus (alpha serait donc la sortie data de l'optocoupleur, mais ici représenté par une led).
Je mets donc touts mes pins en sortie, sauf alpha, qui normalement doit en recevoir.
Je mets seulement le pin "led" en LOW, car c'est mon indicateur qui me dira si mon programme fonctionne bien.
Ensuite, tant que x < 10, j’attends que alpha reçois du jus, et quand c'est le cas, j'augmente x de 1.
J'attends par la suite que alpha ne reçois plus de jus :
while(digitalRead(alpha) == HIGH)
{
delay(1);
}
Et quand c'est le cas, la boucle se reproduit jusqu’à que x = 10.
Quand x = 10, je prend ma variable y et je lui met la valeur millis.
J'effectue des calculs, et j'allume le pin "led" 2secondes pour confirmer que mon programme fonctionne.
Voilà comment j'aimerai que mon programme fonctionne
Dans la réalité ce n'est pas si simple
Mon moteur et mon optocoupleur sont représentés par des leds,
le pin "led" aussi . . . ..
Et alpha est juste un fil dont le pin "test" doit normalement y envoyer du jus.
Le problème est que mon pin "led" ne s'allume pas...
Aucun problème de branchement, je pense donc que cela vient du programme, et ça ne m'étonne pas, je suis débutant ^^'
J'ai beau chercher je ne trouve pas la panne
Pouvez-vous m'aider ?