ENIB 2022 - groupe C : la course de chevaux : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Code)
Ligne 13 : Ligne 13 :
 
<pre>
 
<pre>
 
//////////////////////////
 
//////////////////////////
//     Comprendre      //
+
//         La          //
// Les résistances de //
+
//      Course        //
// PULL-UP et PULL-DOWN //
+
//         de           //
 +
//     Cheveaux        //
 
//////////////////////////
 
//////////////////////////
 
/*
 
/*
Une résistance de pullup c'est lorsque la broche est branchée  
+
  Une résistance de pullup c'est lorsque la broche est branchée
à une résistance reliée au niveau haut de la carte (HIGH)
+
  à une résistance reliée au niveau haut de la carte (HIGH)
Ce programme allume la led de la carte lorsqu'on appuie sur un bouton poussoir.
+
  Ce programme allume la led de la carte lorsqu'on appuie sur un bouton poussoir.
  
*                                      BROCHAGE                          
+
                                        BROCHAGE
                                 _________________                      
+
                                 _________________
                               /    D1 mini    \                      
+
                               /    D1 mini    \
                           -  |[ ]RST        TX[ ]| -                  
+
                           -  |[ ]RST        TX[ ]| -
                           -  |[ ]A0  -GPIO  RX[ ]| -                  
+
                           -  |[ ]A0  -GPIO  RX[ ]| -
                               |[ ]D0-16    5-D1[ ]| -                  
+
                               |[ ]D0-16    5-D1[ ]| -
                               |[ ]D5-14    4-D2[ ]| -                  
+
                               |[ ]D5-14    4-D2[ ]| -
                     Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds            
+
                     Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN         
+
                           -  |[ ]D7-13    2-D4[ ]| - Bouton 2
                           -  |[ ]D8-15    GND[X]| - GND (Boutons, ruban de leds)            
+
                           -  |[ ]D8-15    GND[X]| - GND (Boutons, servo)
                           -  |[ ]3V3 .      5V[X]| - ruban de Led       
+
                           -  |[ ]3V3 .      5V[X]| - servo
                               |      +---+      |                    
+
                               |      +---+      |
                               |_______|USB|_______|                    
+
                               |_______|USB|_______|
  
  
Matériel :
+
  Matériel :
- un arduino uno
+
  - un arduino uno
- un bouton poussoir
+
  - un bouton poussoir
- une résistance de 10kohm
+
  - une résistance de 10kohm
- des cables dupont
+
  - des cables dupont
- une breadboard
+
  - une breadboard
 +
 
 +
  Dans ce programme on regarde ce que cela fait sans resistance de PULL-UP :
 +
  le bouton est branché à la broche 11 de l'Arduino UNO
 +
  L'autre bout du bouton est relié au +5V
  
Dans ce programme on regarde ce que cela fait sans resistance de PULL-UP :
 
le bouton est branché à la broche 11 de l'Arduino UNO
 
L'autre bout du bouton est relié au +5V
 
  
  
 
 
   ___
 
   ___
/ ___ \
+
  / ___ \
|_|  | |
+
  |_|  | |
     /_/  
+
     /_/
     _  ___  _  
+
     _  ___  _
 
     |_| |___|_| |_
 
     |_| |___|_| |_
 
         ___|_  _|
 
         ___|_  _|
 
         |___| |_|
 
         |___| |_|
Les petits Débrouillards - décembre 2020 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
+
  Les petits Débrouillards - décembre 2020 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
 
*/
 
*/
 +
#include <Servo.h>  // on ajoute la bibliothèque servo
  
 
// Déclaration des "variables" constantes
 
// Déclaration des "variables" constantes
const int brocheBouton = 12;// Broche où est connectée le bouton  
+
const int brocheBouton1 = 5;// Broche où est connectée le bouton
const int brocheLed = 2; // Broche 13, où la led interne de l'Arduino UNO est connectée
+
const int brocheBouton2 = 2;
 +
 
 +
Servo servoMoteur1;  //On crée un objet servo appelé servoMoteur
 +
Servo servoMoteur2;
  
 
// Variable d'etat
 
// Variable d'etat
bool etatBouton = LOW;      // Variable permettant de récupérer l'etat du bouton
+
bool etatBouton1 = LOW;      // Variable permettant de récupérer l'etat du bouton
 
+
int i = 0;
 +
bool etatBouton2 = LOW;      // Variable permettant de récupérer l'etat du bouton
 +
int j = 0;
 
void setup() {
 
void setup() {
   pinMode(brocheLed, OUTPUT); // Initialisation de la broche de la led en sortie
+
   pinMode(brocheBouton1, INPUT_PULLUP);// Initialisation de la broche du bouton
   pinMode(brocheBouton, INPUT);// Initialisation de la broche du bouton
+
   pinMode(brocheBouton2, INPUT_PULLUP);
 
   Serial.begin(9600);
 
   Serial.begin(9600);
 +
  servoMoteur1.attach(4);
 +
  servoMoteur1.write(0);// on initialise le servo sur l'angle 0
 +
  servoMoteur2.attach(13);
 +
  servoMoteur2.write(0);
 
}
 
}
  
 
void loop() {
 
void loop() {
 
   // Lecture de l'état du bouton et stockage dans la variable buttonState
 
   // Lecture de l'état du bouton et stockage dans la variable buttonState
   etatBouton = digitalRead(brocheBouton);
+
   etatBouton1 = digitalRead(brocheBouton1);
   Serial.print("état du bouton : "); Serial.println(etatBouton);  
+
   Serial.print("état du bouton 1: "); Serial.println(etatBouton1);
 +
  Serial.print("servo 1 : "); Serial.println(i);
 +
  if (etatBouton1 == LOW) {
 +
    i = i + 30;
 +
    servoMoteur1.write(i);
 +
    delay(100);
 +
  }
 +
  etatBouton2 = digitalRead(brocheBouton2);
 +
  Serial.print("état du bouton 2: "); Serial.println(etatBouton2);
 +
  Serial.print("servo 2 : "); Serial.println(j);
 +
  if (etatBouton2 == LOW) {
 +
    j = j + 30;
 +
    servoMoteur2.write(j);
 +
    delay(100);
 +
  }
  
   // Si le bouton est appuyé, on allume la led
+
   if (i > 180) {
  if (etatBouton == HIGH) {
+
    i = 0;
     // extinction de la led
+
    j = 0;
     digitalWrite(brocheLed, HIGH);
+
    for (int k=1; k<90; k+=5) {
     Serial.print("état du bouton : "); Serial.println(etatBouton);
+
      servoMoteur1.write(k);
   } else {
+
      servoMoteur2.write(k);
     // sinon on éteint de la led
+
      delay(50);
     digitalWrite(brocheLed, LOW);
+
     }
 +
     servoMoteur1.write(1);
 +
     servoMoteur2.write(1);
 +
    delay(1000);
 +
   }
 +
  if (j > 180) {
 +
     i = 0;
 +
    j = 0;
 +
    for (int g=1; g<90; g+=5) {
 +
      servoMoteur1.write(g);
 +
      servoMoteur2.write(g);
 +
      delay(50);
 +
    }
 +
    servoMoteur1.write(1);
 +
    servoMoteur2.write(1);
 +
     delay(1000);
 
   }
 
   }
 
}
 
}

Version du 19 janvier 2022 à 00:28

photo de l'équipe

Photoenib2018.jpg

Antoine Lefèvre / Félix Lefevre / Romain Ménez / Mans

Liste des composants

  • composant 1
  • composant 2
  • ...

Code

//////////////////////////
//         La           //
//       Course         //
//         de           //
//      Cheveaux        //
//////////////////////////
/*
  Une résistance de pullup c'est lorsque la broche est branchée
  à une résistance reliée au niveau haut de la carte (HIGH)
  Ce programme allume la led de la carte lorsqu'on appuie sur un bouton poussoir.

                                        BROCHAGE
                                _________________
                               /     D1 mini     \
                           -  |[ ]RST        TX[ ]| -
                           -  |[ ]A0  -GPIO  RX[ ]| -
                              |[ ]D0-16    5-D1[ ]| -
                              |[ ]D5-14    4-D2[ ]| -
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds
                           -  |[ ]D7-13    2-D4[ ]| - Bouton 2
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, servo)
                           -  |[ ]3V3 .      5V[X]| - servo
                              |       +---+       |
                              |_______|USB|_______|


  Matériel :
  - un arduino uno
  - un bouton poussoir
  - une résistance de 10kohm
  - des cables dupont
  - une breadboard

  Dans ce programme on regarde ce que cela fait sans resistance de PULL-UP :
  le bouton est branché à la broche 11 de l'Arduino UNO
  L'autre bout du bouton est relié au +5V



   ___
  / ___ \
  |_|   | |
     /_/
     _   ___   _
    |_| |___|_| |_
         ___|_   _|
        |___| |_|
  Les petits Débrouillards - décembre 2020 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
*/
#include <Servo.h>  // on ajoute la bibliothèque servo

// Déclaration des "variables" constantes
const int brocheBouton1 = 5;// Broche où est connectée le bouton
const int brocheBouton2 = 2;

Servo servoMoteur1;   //On crée un objet servo appelé servoMoteur
Servo servoMoteur2;

// Variable d'etat
bool etatBouton1 = LOW;      // Variable permettant de récupérer l'etat du bouton
int i = 0;
bool etatBouton2 = LOW;      // Variable permettant de récupérer l'etat du bouton
int j = 0;
void setup() {
  pinMode(brocheBouton1, INPUT_PULLUP);// Initialisation de la broche du bouton
  pinMode(brocheBouton2, INPUT_PULLUP);
  Serial.begin(9600);
  servoMoteur1.attach(4);
  servoMoteur1.write(0);// on initialise le servo sur l'angle 0
  servoMoteur2.attach(13);
  servoMoteur2.write(0);
}

void loop() {
  // Lecture de l'état du bouton et stockage dans la variable buttonState
  etatBouton1 = digitalRead(brocheBouton1);
  Serial.print("état du bouton 1: "); Serial.println(etatBouton1);
  Serial.print("servo 1 : "); Serial.println(i);
  if (etatBouton1 == LOW) {
    i = i + 30;
    servoMoteur1.write(i);
    delay(100);
  }
  etatBouton2 = digitalRead(brocheBouton2);
  Serial.print("état du bouton 2: "); Serial.println(etatBouton2);
  Serial.print("servo 2 : "); Serial.println(j);
  if (etatBouton2 == LOW) {
    j = j + 30;
    servoMoteur2.write(j);
    delay(100);
  }

  if (i > 180) {
    i = 0;
    j = 0;
    for (int k=1; k<90; k+=5) {
      servoMoteur1.write(k);
      servoMoteur2.write(k);
      delay(50);
    }
    servoMoteur1.write(1);
    servoMoteur2.write(1);
    delay(1000);
  }
  if (j > 180) {
    i = 0;
    j = 0;
    for (int g=1; g<90; g+=5) {
      servoMoteur1.write(g);
      servoMoteur2.write(g);
      delay(50);
    }
    servoMoteur1.write(1);
    servoMoteur2.write(1);
    delay(1000);
  }
}

Catégories