Hardrobot

De troyesGEII
Aller à : navigation, rechercher

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;  } }

3 Détection de l'arrivée

On utilise un capteur optique pour détecter le changement de couleur du sol ainsi on détectera la zone d'arrivée du robot. Voici le schéma du cablage du capteur optique: 500px