ENIB 2022 - groupe C : la course de chevaux : Différence entre versions
(→Code) |
|||
Ligne 13 : | Ligne 13 : | ||
<pre> | <pre> | ||
////////////////////////// | ////////////////////////// | ||
− | // | + | // La // |
− | // | + | // Course // |
− | // | + | // 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 | |
− | _________________ | + | _________________ |
− | / 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[ ]| | + | - |[ ]D7-13 2-D4[ ]| - Bouton 2 |
− | - |[ ]D8-15 GND[X]| - GND (Boutons, | + | - |[ ]D8-15 GND[X]| - GND (Boutons, servo) |
− | - |[ ]3V3 . 5V[X]| - | + | - |[ ]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 | ||
− | |||
− | |||
− | |||
− | |||
___ | ___ | ||
− | + | / ___ \ | |
− | |_| | | | + | |_| | | |
− | /_/ | + | /_/ |
− | _ ___ _ | + | _ ___ _ |
|_| |___|_| |_ | |_| |___|_| |_ | ||
___|_ _| | ___|_ _| | ||
|___| |_| | |___| |_| | ||
− | 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 | + | const int brocheBouton1 = 5;// Broche où est connectée le bouton |
− | const int | + | const int brocheBouton2 = 2; |
+ | |||
+ | Servo servoMoteur1; //On crée un objet servo appelé servoMoteur | ||
+ | Servo servoMoteur2; | ||
// Variable d'etat | // Variable d'etat | ||
− | bool | + | 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( | + | pinMode(brocheBouton1, INPUT_PULLUP);// Initialisation de la broche du bouton |
− | pinMode( | + | 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 | ||
− | + | etatBouton1 = digitalRead(brocheBouton1); | |
− | Serial.print("état du bouton : "); Serial.println( | + | 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); | ||
} | } | ||
} | } |
Version du 19 janvier 2022 à 00:28
Sommaire
photo de l'équipe
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); } }