Trieur M&M's : Différence entre versions
Ligne 72 : | Ligne 72 : | ||
} | } | ||
//definir une fonction qui récupère les valeurs de tension des couleurs | //definir une fonction qui récupère les valeurs de tension des couleurs | ||
+ | |||
+ | |||
int getcolor(){ | int getcolor(){ | ||
digitalWrite(2,HIGH); | digitalWrite(2,HIGH); | ||
Ligne 94 : | Ligne 96 : | ||
digitalWrite(4,LOW); | digitalWrite(4,LOW); | ||
delay(50); | delay(50); | ||
+ | |||
//faire un test sur les valeur de tension des couleurs | //faire un test sur les valeur de tension des couleurs | ||
+ | |||
if(R>B && R>G) | if(R>B && R>G) | ||
{color=1;return color;} | {color=1;return color;} | ||
Ligne 105 : | Ligne 109 : | ||
</pref> | </pref> | ||
+ | |||
+ | |||
+ | =====Documentation===== | ||
+ | |||
+ | Difficultés rencontrées : | ||
+ | |||
+ | - Au niveau du capteur de couleur, on n'avait pas un, donc nous avons été obligé de le dépanner à base d'une LED RGB et une photorésistance, et cela nous a pris beaucoup de temps pour installer le matériel et programmer. | ||
+ | |||
+ | - Nous avons pu capter que trois couleur: bleu, rouge et vert. | ||
+ | |||
+ | - Au niveau du câblage, il était compliqué parce que la squelette du projet est composée de trois étages ce qui a rendu la mission assez difficile. |
Version du 19 janvier 2018 à 16:24
robot trieur smarties
pédagogie
manipuler les outils éléctronique
membres de l'équipe
- Najib CHAOUI
- Naoufal LAABID
- Dalal EL ADBI
- Amine EL MAMSAOUI
- Mohamed Amine EL AARAJE
<pref>
- include<Servo.h>
Servo Tservo; Servo Bservo; //La déclaration de 4 variable entier int color,R,G,B; void setup(){
pinMode(2,OUTPUT);//cette fonction definie la pile numero 2 comme sortie pinMode(3,OUTPUT);//cette fonction definie la pile numero 3 comme sortie pinMode(4,OUTPUT);//cette fonction definie la pile numero 4 comme sortie Tservo.attach(8); Bservo.attach(9); Serial.begin(9600);
}
void loop(){
Bservo.write(0); Tservo.write(95); delay(2500); for(int i = 95; i > 20; i--) { Tservo.write(i); delay(2); } delay(300); color=getcolor(); switch (color) { case 1: { Bservo.write(45); break; } case 2: { Bservo.write(90); break; } case 3: { Bservo.write(0); break; } default: break; } delay(300); for(int i = 20; i > 0; i--) { Tservo.write(i); delay(2); } delay(1000); for(int i = 20; i < 95; i++) { Tservo.write(i); delay(2); } color=0;
} //definir une fonction qui récupère les valeurs de tension des couleurs
int getcolor(){
digitalWrite(2,HIGH);
delay(2000);
Serial.println("R = ");
Serial.println(analogRead(0));
//La fonction analogRead permet de lire la tension de couleur ,par defaut la plus grande tension c'est celle de rouge puis de vert ,puis de bleau
R=analogRead(0);
digitalWrite(2,LOW);
digitalWrite(3,HIGH);//cette fonction ca sort le courant de 5 v sur la pile 4
delay(2000);
Serial.println("G = ");
Serial.println(analogRead(0));
G=analogRead(0);//
//la fonction digitalwrite c'est pour ecrire sur une sortie numérique
digitalWrite(3,LOW);//envoyer un courant de 0 v
digitalWrite(4,HIGH);//alors ca sort le courant de 5 v sur la pile 4
delay(2000);//cette fonction delay permet d'attendre pendant 2000ms
Serial.println("B = ");
Serial.println(analogRead(0));
B=analogRead(0);
digitalWrite(4,LOW);
delay(50);
//faire un test sur les valeur de tension des couleurs
if(R>B && R>G) {color=1;return color;} if(G>R && G>B) {color=2;return color;} if(B>R && B>G) {color=3;return color;} }
</pref>
Documentation
Difficultés rencontrées :
- Au niveau du capteur de couleur, on n'avait pas un, donc nous avons été obligé de le dépanner à base d'une LED RGB et une photorésistance, et cela nous a pris beaucoup de temps pour installer le matériel et programmer.
- Nous avons pu capter que trois couleur: bleu, rouge et vert.
- Au niveau du câblage, il était compliqué parce que la squelette du projet est composée de trois étages ce qui a rendu la mission assez difficile.