Tutoriel robotbot arduino : Différence entre versions
(→Objectif) |
(→Mettre du code Arduino) |
||
Ligne 36 : | Ligne 36 : | ||
===Mettre du code Arduino=== | ===Mettre du code Arduino=== | ||
<syntaxhighlight lang="Arduino" line> | <syntaxhighlight lang="Arduino" line> | ||
− | + | #include <Servo.h> | |
− | #include < | + | |
+ | // Define les broches pour les servo-moteurs | ||
+ | const int servoPin1 = 8; | ||
+ | const int servoPin2roue = 13; | ||
+ | const int servoPin3 = 2; | ||
+ | |||
+ | // Define les broches pour les potentiomètres | ||
+ | const int potPin1 = A0; | ||
+ | const int potPin2 = A1; | ||
+ | const int potPin3 = A2; | ||
+ | |||
+ | // Crée des objets Servo pour les servo-moteurs | ||
+ | Servo servo1; | ||
+ | Servo servo2; | ||
+ | Servo servo3; | ||
void setup() { | void setup() { | ||
− | // | + | // Initialise les servo-moteurs |
− | + | servo1.attach(servoPin1); | |
+ | servo2.attach(servoPin2roue); | ||
+ | servo3.attach(servoPin3); | ||
} | } | ||
void loop() { | void loop() { | ||
− | // | + | // Lit les valeurs des potentiomètres |
+ | int angle1 = map(analogRead(potPin1), 0, 1023, 0, 180); | ||
+ | int angle2 = map(analogRead(potPin2), 0, 1023, 0, 180); | ||
+ | int angle3 = map(analogRead(potPin3), 0, 1023, 0, 180); | ||
+ | // Déplace les servo-moteurs aux positions spécifiées par les potentiomètres | ||
+ | servo1.write(angle1); | ||
+ | delay(15); // Ajout d'un délai de 15 millisecondes | ||
+ | servo2.write(angle2); | ||
+ | delay(50); // Ajout d'un délai de 15 millisecondes | ||
+ | servo3.write(angle3); | ||
+ | delay(15); // Ajout d'un délai de 15 millisecondes | ||
} | } | ||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Version du 14 mars 2024 à 14:16
Titre de la fiche expérience :
Sommaire
description
Le robotbot est un robot fabriqué lors du hackhathon du TN 5 du 11 mars au 20 mars. Il fonctionne avec un arduino, 3 servo moteur et 3 potentiomètres.
Objectifs
- - créer le prototype d’un dispositif programmable roulant et pilotable
- - imaginer une esthétique répondant aux contraintes imposées
- - documenter son travail
- - présenter son produit
outil et matériel
- Arduino Uno. Arduino_Uno
- servo moteur SG90 Servomoteur
- potentiomètre potentiometre
- Câbles dupont cable dupont
- bois
- carton
- colle a bois
- element décoratif
schema pour découpe laser
Erreur lors de la création de la miniature :
code arduino Fichier:Robobotcodeokfev24.ino
fichiers à joindre
code, ficher d'impression 3D, de découpe laser ou vinyle, ...
Mettre du code Arduino
1
2 #include <Servo.h>
3
4 // Define les broches pour les servo-moteurs
5 const int servoPin1 = 8;
6 const int servoPin2roue = 13;
7 const int servoPin3 = 2;
8
9 // Define les broches pour les potentiomètres
10 const int potPin1 = A0;
11 const int potPin2 = A1;
12 const int potPin3 = A2;
13
14 // Crée des objets Servo pour les servo-moteurs
15 Servo servo1;
16 Servo servo2;
17 Servo servo3;
18
19 void setup() {
20 // Initialise les servo-moteurs
21 servo1.attach(servoPin1);
22 servo2.attach(servoPin2roue);
23 servo3.attach(servoPin3);
24 }
25
26 void loop() {
27 // Lit les valeurs des potentiomètres
28 int angle1 = map(analogRead(potPin1), 0, 1023, 0, 180);
29 int angle2 = map(analogRead(potPin2), 0, 1023, 0, 180);
30 int angle3 = map(analogRead(potPin3), 0, 1023, 0, 180);
31
32 // Déplace les servo-moteurs aux positions spécifiées par les potentiomètres
33 servo1.write(angle1);
34 delay(15); // Ajout d'un délai de 15 millisecondes
35 servo2.write(angle2);
36 delay(50); // Ajout d'un délai de 15 millisecondes
37 servo3.write(angle3);
38 delay(15); // Ajout d'un délai de 15 millisecondes
39 }
étapes de fabrication
indiquer autant d'étape que nécessaire, chacune illustrée par des images (phot, dessins, ...)
étape 1
étape 2
étape ...
troubleshouting
quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?