Hardrobot : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(1 ere Étape moteur)
(2 ème étape capteur de proximité)
Ligne 78 : Ligne 78 :
 
3.Mise en place des capteur, puis test petit problème du à l'alignement des capteurs optiques et à la position qui créaient des frottement sur le moteur. Réparation du et remise en place des composants. Mise en place de la batterie.
 
3.Mise en place des capteur, puis test petit problème du à l'alignement des capteurs optiques et à la position qui créaient des frottement sur le moteur. Réparation du et remise en place des composants. Mise en place de la batterie.
  
= 2 ème étape capteur de proximité =
+
= 2 ème étape l'esquive =
 +
==  capteur de proximité ==
 
On a choisi de mettre 3 capteurs fait a base de photodiode et photo-transistor. L'émetteur d'entrée est alimenté sous un courant provocant une émission radiative puis récupérée par la base du photo-transistor pour donner à la sortie un courant collecteur.
 
On a choisi de mettre 3 capteurs fait a base de photodiode et photo-transistor. L'émetteur d'entrée est alimenté sous un courant provocant une émission radiative puis récupérée par la base du photo-transistor pour donner à la sortie un courant collecteur.
 
Listes des composants: - 1 photodiode LD271
 
Listes des composants: - 1 photodiode LD271
Ligne 86 : Ligne 87 :
  
 
Schéma de principe:
 
Schéma de principe:
 +
 +
 +
 +
 +
 +
== Détection de blocage ==
 +
Grace a une commande interrupt on peut constater quand le robot est à l’arrêt.
 +
 
 +
cli();//stop interrupts //  TCCR1A = 0;                  // Reset control registers //  TCCR1B = 0;                  // Reset control registers //  TCCR1B |= (1 << WGM12);      // Clear Timer on Compare Match (CTC) Mode //  TCCR1B |= (1 << CS10);      // Prescaler x1 //  OCR1A = 255;                // Set compared value //  TIMSK1 = 0;                  // Reset Timer/Counter2 Interrupt Mask Register TIMSK1 |= (1 << OCIE1A);    // Enable Output Compare Match A Interrupt */  sei();//allow interrupts  }  ISR(TIMER1_COMPA_vect)  {//timer1 interrupt 1Hz toggles pin 13 (LED) testtimer++; if (testtimer==2000) {  testtimer=0; afaire=1;  } }

Version du 22 février 2013 à 09:58

1 ere Étape moteur

programme arduino

Présentation en ligne


int pwm_a = 10; 
//PWM control for motor outputs 1 and 2 is on digital pin 10 
int pwm_b = 11; 
//PWM control for motor outputs 3 and 4 is on digital pin 11 
int Pindir_a = 12;
int dir_a=0;
//PWM control for motor outputs 1 and 2 is on digital pin 12 
int Pindir_b = 13;
int dir_b=0;
//PWM control for motor outputs 3 and 4 is on digital pin 13 
int val;
int compteur;
int entreePin=4;
int entreePin2=2;
char c;

void setup() {
Serial.begin(115200);	// ouvre le port série, fixe le débit à 9600 bauds
pinMode(pwm_a, OUTPUT);  //Set control pins to be outputs
pinMode(pwm_b, OUTPUT);
pinMode(Pindir_a, OUTPUT);
pinMode(dir_b, OUTPUT);
pinMode(Pindir_b, OUTPUT);
//capteur optique
attachInterrupt (0,test , CHANGE);//patte 2, moteur a
attachInterrupt (1,test2 , CHANGE);//patte 3, moteur b 
//sens du moteur
dir_a=1;//si 0 recule,si 1 avance
digitalWrite(Pindir_a, dir_a);
dir_b=1;//si 0 recule,si 1 avance
digitalWrite(Pindir_b, dir_b);
} 

void test()
{ 
  if (dir_a==1){
 compteur=compteur+1;
 }
 else{
 compteur=compteur-1;
 }
 Serial.println(compteur);
}

void test2(){
 Serial.println("change2");
}

void loop(){
c = Serial.read();
     if(compteur<=5000){
              analogWrite(pwm_a, 100);
              analogWrite(pwm_b, 100);
     }
        if(compteur>=5000){
          analogWrite(pwm_a, 0);
              analogWrite(pwm_b, 0);
              
          
  }      
              
}

roue codeuse et capteur optique

1.remplacement des nouvel roue codeuse 30 noir 30 blache 4 degret chacune

2.voici le shéma du cablage que nous avons réalisé Schema fourche optique.jpg

3.Mise en place des capteur, puis test petit problème du à l'alignement des capteurs optiques et à la position qui créaient des frottement sur le moteur. Réparation du et remise en place des composants. Mise en place de la batterie.

2 ème étape l'esquive

capteur de proximité

On a choisi de mettre 3 capteurs fait a base de photodiode et photo-transistor. L'émetteur d'entrée est alimenté sous un courant provocant une émission radiative puis récupérée par la base du photo-transistor pour donner à la sortie un courant collecteur. Listes des composants: - 1 photodiode LD271

                      - 1 photo-transistor BPW50
                      - 1 résistance de 19 Ohm
                      - 1 résistance de 220 KOhm 

Schéma de principe:



Détection de blocage

Grace a une commande interrupt on peut constater quand le robot est à l’arrêt.

cli();//stop interrupts //  TCCR1A = 0;                  // Reset control registers //  TCCR1B = 0;                  // Reset control registers //  TCCR1B |= (1 << WGM12);      // Clear Timer on Compare Match (CTC) Mode //  TCCR1B |= (1 << CS10);       // Prescaler x1 //  OCR1A = 255;                 // Set compared value //  TIMSK1 = 0;                  // Reset Timer/Counter2 Interrupt Mask Register TIMSK1 |= (1 << OCIE1A);     // Enable Output Compare Match A Interrupt */   sei();//allow interrupts   }  ISR(TIMER1_COMPA_vect)  {//timer1 interrupt 1Hz toggles pin 13 (LED) testtimer++; if (testtimer==2000) {  testtimer=0; afaire=1;  } }