Bonjour à tous, j'aimerai savoir si mon programme arduino est en mesure de fonctionner.
Le but de ce programme est de contrôler une machine à glace.
les actions qu'ils doit exécuter dans l’ordre sont:
-translation jusqu'aux dessous de la vanne (contrôler avec le temps) (moteur1)
-monter de la glace jusqu'au capteur haut (moteur2)
-descente de la glace et ouverture de la vanne en même temps jusqu'au capteur bas. (moteur2 + servoF)
-quand il est en bas, translation vers le présentoir (contrôler avec le temps). (moteur1)
J'utilise une carte méga car ce programme ce répétera pour 2 autres parfum de glace.
Voici le programme:
Je voudrais savoir si le programme est bien pour faire ce que je veux , je prends aussi toutes améliorations possibles. Merci d'avance !Code:const int vitesseMoteur1=2; // Constante pour la broche 2 moteur de translation const int sensMoteur1=22; // Constante pour la broche 22 const int vitesseMoteur2=3; // Constante pour la broche 3 moteur de fabrication de glace (monter et rotation simultané) const int sensMoteur2=24; // Constante pour la broche 24 const int AVANT = 1; const int ARRIERE = 0; #include <Servo.h> Servo servoF; const int boutonF=26; const int capteurhaut=34; const int capteurbas=36; void setup(){ servoF.attach(4); pinMode (vitesseMoteur1,OUTPUT); // Broche vitesseMotA configurée en sortie pinMode (vitesseMoteur2,OUTPUT); // Broche vitesseMotB configurée en sortie pinMode (sensMoteur1,OUTPUT); // Broche sensMotA configurée en sortie pinMode (sensMoteur2,OUTPUT); // Broche senMotB configurée en sortie pinMode(boutonF, INPUT); pinMode(capteurhaut, INPUT); pinMode(capteurbas, INPUT); } void loop(){ int testF = digitalRead(boutonF); if(testF==HIGH); { digitalWrite(sensMoteur1,AVANT); // Marche avant analogWrite(vitesseMoteur1, x ); // moteur va a la vitesse "x" delay(3000); //temps de fonctionnement du moteur analogWrite(vitesseMoteur1, 0); // arret du moteur sous la vanne de fraise while(capteurhaut == LOW) //boucle de montée de la glace { digitalWrite(sensMoteur2,AVANT); // Monter du moteur analogWrite(vitesseMoteur2, x ); //vitesse "x" de monter du conne } delay(500); //attente après l'arrivé de la glace en haut while(capteurbas == LOW) //boucle fabrication de la glace (descente plus rotation) { digitalWrite(sensMoteur2,ARRIERE); // dessente du moteur analogWrite(vitesseMoteur2, x ); //vitesse "x" de dessente servoF.write (90); //ouverture de la vanne fraise } delay(500); // arret apres création de la glace en bas digitalWrite(sensMoteur1,ARRIERE); // Marche arrière (vers le présentoir) analogWrite(vitesseMoteur1, x); // moteur va a la vitesse "x" delay(3000); // temps pour aller au présentoir analogWrite(vitesseMoteur1, 0); //arret au présentoir } }
-----