projets:2019:stageavrilubo
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| projets:2019:stageavrilubo [2019/04/11 18:59] – [Impressions A faire] yannv | projets:2019:stageavrilubo [2024/04/16 22:26] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 116: | Ligne 116: | ||
| | Têtes | | Têtes | ||
| | Base | 3 Bleues + 4 bases rouges + 2 bases grises | | Base | 3 Bleues + 4 bases rouges + 2 bases grises | ||
| - | | Roues (unitaires) | + | | Roues (unitaires) |
| + | | Pinces | | | ||
| ===== Présent pour animer ===== | ===== Présent pour animer ===== | ||
| Ligne 124: | Ligne 125: | ||
| * Benjamin | * Benjamin | ||
| * Arnaud (mercredi après midi et jeudi) | * Arnaud (mercredi après midi et jeudi) | ||
| - | * Simon | + | * Simon (mercredi après midi peut-être et jeudi et vendredi à priori) |
| + | * Tanguy (jeudi) | ||
| + | * | ||
| ===== Déroulé du projet ===== | ===== Déroulé du projet ===== | ||
| Ligne 196: | Ligne 199: | ||
| Fichier de présentation | Fichier de présentation | ||
| + | |||
| + | === 3D === | ||
| + | |||
| + | Exemple d' | ||
| + | {{: | ||
| + | |||
| + | Code OpenSCAD pour ajouter l' | ||
| + | < | ||
| + | # | ||
| + | |||
| + | rotate_extrude() { polygon(points=[[0, | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Exemple de texte pour le dozer: | ||
| + | {{: | ||
| + | |||
| + | |||
| + | Code OpenSCAD pour ajouter le texte sur le dozer: | ||
| + | < | ||
| + | # | ||
| + | |||
| + | translate ([-12, | ||
| + | text(" | ||
| + | } | ||
| + | </ | ||
| === Code === | === Code === | ||
| - | Code | + | |
| + | Pour récupérer le code du robot adapté: | ||
| + | |||
| + | < | ||
| + | $ git clone https:// | ||
| + | |||
| + | </ | ||
| + | |||
| + | Android APK pour le robot Arduino: | ||
| + | https:// | ||
| + | |||
| + | |||
| + | |||
| + | Test Servo | ||
| + | < | ||
| + | |||
| + | # include < | ||
| + | |||
| + | Servo servoLeft; | ||
| + | Servo servoRight; | ||
| + | |||
| + | void setup() { | ||
| + | servoLeft.attach(11); | ||
| + | servoRight.attach(10); | ||
| + | Serial.begin(9600); | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | servoLeft.write(90); | ||
| + | servoRight.write(90); | ||
| + | } | ||
| + | |||
| + | void stop() { | ||
| + | servoLeft.write(90); | ||
| + | servoRight.write(90); | ||
| + | } | ||
| + | |||
| + | void avancer() { | ||
| + | servoLeft.write( xx ); // 0 => sens, 180 => autre sens | ||
| + | servoRight.write( xx ); // | ||
| + | } | ||
| + | |||
| + | void reculer() { | ||
| + | servoLeft.write( xx ); // 0 => sens, 180 => autre sens | ||
| + | servoRight.write( xx ); // | ||
| + | } | ||
| + | |||
| + | void tourner() { | ||
| + | servoLeft.write( xx ); // 0 => sens, 180 => autre sens | ||
| + | servoRight.write( xx ); // | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | Avec le sonar | ||
| + | < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | Servo servoLeft; | ||
| + | Servo servoRight; | ||
| + | |||
| + | NewPing sonar(7, 6, 200); | ||
| + | |||
| + | void setup() { | ||
| + | servoLeft.attach(11); | ||
| + | servoRight.attach(10); | ||
| + | Serial.begin(9600); | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | gestionSonar(); | ||
| + | } | ||
| + | |||
| + | void gestionSonar() { | ||
| + | int distance = sonar.ping_cm(); | ||
| + | avancer(); | ||
| + | if (distance < 10) { | ||
| + | reculer(); | ||
| + | tournerGauche(); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | void stop() { | ||
| + | servoLeft.write(90); | ||
| + | servoRight.write(90); | ||
| + | } | ||
| + | |||
| + | void avancer() { | ||
| + | servoLeft.write( 0 ); // 0 => sens, 180 => autre sens | ||
| + | servoRight.write( 180 ); // | ||
| + | } | ||
| + | |||
| + | void reculer() { | ||
| + | servoLeft.write( 180 ); // 0 => sens, 180 => autre sens | ||
| + | servoRight.write( 0 ); // | ||
| + | } | ||
| + | |||
| + | void tournerGauche() { | ||
| + | servoLeft.write(45); | ||
| + | servoRight.write(45); | ||
| + | } | ||
| + | |||
| + | void tournerDroite() { | ||
| + | servoLeft.write(135); | ||
| + | servoRight.write(135); | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | Avec le bluetooth (message provenant du robot): | ||
| + | < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | Servo servoLeft; | ||
| + | Servo servoRight; | ||
| + | |||
| + | NewPing sonar(7, 6, 200); | ||
| + | |||
| + | SoftwareSerial BTSerial(4, 8); // TX, RX | ||
| + | |||
| + | void setup() { | ||
| + | servoLeft.attach(11); | ||
| + | servoRight.attach(10); | ||
| + | // | ||
| + | BTSerial.begin(9600); | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | gestionSonar(); | ||
| + | } | ||
| + | |||
| + | void gestionSonar() { | ||
| + | int distance = sonar.ping_cm(); | ||
| + | avancer(); | ||
| + | if (distance > 0 && distance < 10) { | ||
| + | BTSerial.println(" | ||
| + | reculer(); | ||
| + | tournerGauche(); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | void stop() { | ||
| + | servoLeft.write(90); | ||
| + | servoRight.write(90); | ||
| + | BTSerial.println(" | ||
| + | } | ||
| + | |||
| + | void avancer() { | ||
| + | servoLeft.write( 0 ); // 0 => sens, 180 => autre sens | ||
| + | servoRight.write( 180 ); // | ||
| + | BTSerial.println(" | ||
| + | } | ||
| + | |||
| + | void reculer() { | ||
| + | servoLeft.write( 180 ); // 0 => sens, 180 => autre sens | ||
| + | servoRight.write( 0 ); // | ||
| + | BTSerial.println(" | ||
| + | } | ||
| + | |||
| + | void tournerGauche() { | ||
| + | servoLeft.write(45); | ||
| + | servoRight.write(45); | ||
| + | BTSerial.println(" | ||
| + | } | ||
| + | |||
| + | void tournerDroite() { | ||
| + | servoLeft.write(135); | ||
| + | servoRight.write(135); | ||
| + | BTSerial.println(" | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | Avec le bluetooth (piloter le robot): | ||
| + | < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | Servo servoLeft; | ||
| + | Servo servoRight; | ||
| + | |||
| + | NewPing sonar(7, 6, 200); | ||
| + | |||
| + | SoftwareSerial BTSerial(4, 8); // TX, RX | ||
| + | |||
| + | String message; | ||
| + | |||
| + | void setup() { | ||
| + | servoLeft.attach(11); | ||
| + | servoRight.attach(10); | ||
| + | // | ||
| + | BTSerial.begin(9600); | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | gestionSonar(); | ||
| + | readBTSerial(); | ||
| + | } | ||
| + | |||
| + | String readBTSerial() { | ||
| + | while (BTSerial.available()) { | ||
| + | message = BTSerial.readString(); | ||
| + | } | ||
| + | if (message == " | ||
| + | avancer(); | ||
| + | } else if (message == " | ||
| + | reculer(); | ||
| + | } else if (message == " | ||
| + | tournerGauche(); | ||
| + | } else if (message == " | ||
| + | tournerDroite(); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | void gestionSonar() { | ||
| + | int distance = sonar.ping_cm(); | ||
| + | avancer(); | ||
| + | if (distance > 0 && distance < 10) { | ||
| + | BTSerial.println(" | ||
| + | reculer(); | ||
| + | tournerGauche(); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | void stop() { | ||
| + | servoLeft.write(90); | ||
| + | servoRight.write(90); | ||
| + | BTSerial.println(" | ||
| + | } | ||
| + | |||
| + | void avancer() { | ||
| + | servoLeft.write( 0 ); // 0 => sens, 180 => autre sens | ||
| + | servoRight.write( 180 ); // | ||
| + | BTSerial.println(" | ||
| + | } | ||
| + | |||
| + | void reculer() { | ||
| + | servoLeft.write( 180 ); // 0 => sens, 180 => autre sens | ||
| + | servoRight.write( 0 ); // | ||
| + | BTSerial.println(" | ||
| + | } | ||
| + | |||
| + | void tournerGauche() { | ||
| + | servoLeft.write(45); | ||
| + | servoRight.write(45); | ||
| + | BTSerial.println(" | ||
| + | } | ||
| + | |||
| + | void tournerDroite() { | ||
| + | servoLeft.write(135); | ||
| + | servoRight.write(135); | ||
| + | BTSerial.println(" | ||
| + | } | ||
| + | |||
| + | </ | ||
projets/2019/stageavrilubo.1555001984.txt.gz · Dernière modification : 2024/04/16 22:27 (modification externe)
