Projet

Général

Profil

Concentrateur Solaire » PROGRAMME_MIROIR.ino

Code moteur + Interrupteur - Thomas Coment, 23/11/2020 17:58

 
int analogPinPhoto_1 = 0;/// PHOTORESISTANCE1
int analogValuePhoto_1 = 0;/// VARIABLE QUI PREND QUI LA VALEUR DE LA PHOTORESISTANCE1
int analogPinPhoto_2 = 1;/// PHOTORESISTANCE1
int analogValuePhoto_2 = 0;///VARIABLE QUI PREND QUI LA VALEUR DE LA PHOTORESISTANCE2
int differencePhoto = 0;/// DECLARATIONCDES VARIABLE
int moteur_rot_plus = 5;///
int moteur_rot_moins = 4;///
int enb = 11;/// BROCHE PUISSANCE MOTEUR1 12V
int moteur_rot_plus2 = 7;///
int moteur_rot_moins2 = 6;///
int enb2 = 10;/// BROCHE PUISSANCE MOTEUR1 12V

void setup() {
Serial.begin(9600);
pinMode(moteur_rot_plus,OUTPUT);
pinMode(moteur_rot_moins,OUTPUT);
pinMode(enb,OUTPUT);
pinMode(moteur_rot_plus2,OUTPUT);
pinMode(moteur_rot_moins2,OUTPUT);
pinMode(enb2,OUTPUT);
}

void loop() {
analogValuePhoto_1=analogRead(analogPinPhoto_1); //LA VARIABLE PREND LA VALEUR DE LA DONNE DE LA PHOTOERSISTANCE
analogValuePhoto_2=analogRead(analogPinPhoto_2); //LA VARIABLE PREND LA VALEUR DE LA DONNE DE LA PHOTOERSISTANCE
differencePhoto = (analogValuePhoto_2 + 5) - analogValuePhoto_1;//DIFFERENCE DES CAPTEUR (LE + 5 PERMERT DE RECALIBRER )
Serial.println(differencePhoto); // AFFICHER LA DIFFERENCE DANS LE MONITEUR
if (differencePhoto > 2 ){ //SI LA DIFFERENCE EST SUPERIEUR A 7 LES MOTEUR TOURNE DANS LE SENS HORAIRE
digitalWrite(moteur_rot_plus,HIGH);
digitalWrite(moteur_rot_moins,LOW);
analogWrite(enb,100);
digitalWrite(moteur_rot_plus2,HIGH);
digitalWrite(moteur_rot_moins2,LOW);
analogWrite(enb2,100);
}

else if (differencePhoto < -2 ) { //SI LA DIFFERENCE EST INFERIEUR A -7 LES MOTEUR TOURNE DANS LE SENS TRIGO
digitalWrite(moteur_rot_plus,LOW );
digitalWrite(moteur_rot_moins,HIGH);
analogWrite(enb,100);
digitalWrite(moteur_rot_plus2,LOW);
digitalWrite(moteur_rot_moins2,HIGH);
analogWrite(enb2,100);
}
else { //SINON LES MOTEUR NE TOURNE PAS
digitalWrite(moteur_rot_plus,LOW );
digitalWrite(moteur_rot_moins,LOW);
analogWrite(enb,0);
digitalWrite(moteur_rot_plus2,LOW );
digitalWrite(moteur_rot_moins2,LOW);
analogWrite(enb2,0);
}
}
(22-22/40)