Trieur M&M's : Différence entre versions
m (Dalal eladbi a déplacé la page Trieur sweeties vers Trieur M&M's) |
|||
| (6 révisions intermédiaires par 2 utilisateurs non affichées) | |||
| Ligne 9 : | Ligne 9 : | ||
*Mohamed Amine EL AARAJE | *Mohamed Amine EL AARAJE | ||
| + | [[ Fichier:TrieurM&M.pdf ]] | ||
| + | [[catégorie:enib2018]] | ||
| + | |||
| + | <pre> | ||
| + | #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;} | ||
| + | } | ||
| + | |||
| + | |||
| + | </pre> | ||
| + | |||
| + | |||
| + | =====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. | ||
| − | [[ | + | ==catégorie== |
| + | [[Catégorie:Arduino]] | ||
| + | [[Catégorie:Robot]] | ||
Version actuelle datée du 26 août 2024 à 09:37
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
#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;}
}
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.
