|
|
| (44 révisions intermédiaires par 2 utilisateurs non affichées) |
| Ligne 1 : |
Ligne 1 : |
| − | | + | #REDIRECT [[:Catégorie:RobotDuLAB]] |
| − | == [[Présentation du projet]] ==
| + | |
| − | <br>
| + | |
| − | '''Un robot pour apprendre à programmer en classe''' <br>
| + | |
| − | <br>
| + | |
| − | * Utilisable en écoles primaires, collèges et lycées <br>
| + | |
| − | * Toutes les pièces mécaniques sont imprimables (impression 3D – fichiers .stl fournis) <br>
| + | |
| − | * Partie électronique basée sur une carte de prototypage « arduino » <br>
| + | |
| − | * Libre (copiable, modifiable) et évolutif (de nombreuses options possibles) <br>
| + | |
| − | <br>
| + | |
| − | RoboduLAB, permet une approche ludique de l’apprentissage du code à l’école primaire, des plots au format lego permettent de personnaliser le robot.<br>
| + | |
| − | | + | |
| − | [[Fichier:RoboduLAB_avec_lego.jpg|sans_cadre|RoboduLAB avec paques lego et ring 16 LED|600px]]
| + | |
| − | <br>
| + | |
| − | En collège et en lycée RoboduLAB est un support de thème très riche pour le travail en équipes projets : conception, réalisation, expérimentation. <br>
| + | |
| − | <br>
| + | |
| − | La programmation se fait par assemblage de blocs (type scratch). Le programme se télécharge directement dans le robot depuis le PC ou la tablette en WIFI.<br>
| + | |
| − | <br>
| + | |
| − | [[Fichier:S4a.JPG|sans_cadre|Programmation par blocs|600px]]
| + | |
| − | <br>
| + | |
| − | | + | |
| − | == [[Constitution du robot]] ==
| + | |
| − | RoboduLAB est constiué d'un chassis, de deux roues montées sur des servomoteurs qui sont commandés par une carte de prototypage arduino.
| + | |
| − | Il sera possible de rajouter différentes options au modèle de base :
| + | |
| − | * suivi de ligne,
| + | |
| − | * module WIFI,
| + | |
| − | * détection des vides,
| + | |
| − | * sons (MP3),
| + | |
| − | * …
| + | |
| − | | + | |
| − | === [[Chassis]] ===
| + | |
| − | | + | |
| − | Le chassis est constitué d'un ensemble de pièces imprimables par une une imprimante 3D et une roulette à bille.
| + | |
| − | | + | |
| − | === [[Électronique]] ===
| + | |
| − | | + | |
| − | La partie électronique du robot comporte à minima :
| + | |
| − | * une carte arduino (UNO),
| + | |
| − | * deux servomoteurs à rotation continue,
| + | |
| − | * un capteur à ultrasons,
| + | |
| − | * une LED RGB (ou un NeoPixel Ring),
| + | |
| − | * un boîtier pour les piles (6 piles AA)
| + | |
| − | * un interrupteur à glissière.
| + | |
| − | | + | |
| − | === [[Programmes]] ===
| + | |
| − | | + | |
| − | Le programme nécessaire pour le fonctionnement du robot peut être :<br>
| + | |
| − | - soit écrit directement en C++ et téléchargé dans la carte arduino,<br>
| + | |
| − | - soit représenté par des blocs graphiques (type scratch). Il sera alors possible de produire automatiquement le code en C++ qui sera téléchargé dans le robot.
| + | |
| − | | + | |
| − | ==== [[Code arduino : démonstration du fonctionnement du robot en mode autonome]] ====
| + | |
| − | ===== Programme sans NeoPixel Ring =====
| + | |
| − | <br />
| + | |
| − | | + | |
| − | Voici le programme qu'il faut éditer dans l'IDE Arduino, puis compiler et charger dans la carte Arduino
| + | |
| − | <br />
| + | |
| − | | + | |
| − | <syntaxhighlight lang="cpp" enclose="div">
| + | |
| − | /*
| + | |
| − | Ce programme allume progressivement une LED RGB cathodes communes branchée sur les broches 3,5 et 6
| + | |
| − | */
| + | |
| − | | + | |
| − | int ledR = 3; // broche de la LED Rouge
| + | |
| − | int ledG = 5; // broche de la LED Verte
| + | |
| − | int ledB = 6; // broche de la LED Bleue
| + | |
| − | | + | |
| − | int i = 0; // variable de la boucle for
| + | |
| − | | + | |
| − | void setup() // setup est déroulé une seule fois après la remise à zéro
| + | |
| − | {
| + | |
| − | pinMode(ledR, OUTPUT); // la broche led (3) est initialisée en sortie
| + | |
| − | pinMode(ledG, OUTPUT); // la broche led (5) est initialisée en sortie
| + | |
| − | pinMode(ledB, OUTPUT); // la broche led (6) est initialisée en sortie
| + | |
| − | }
| + | |
| − | void loop() // loop est déroulé indéfiniment
| + | |
| − | {
| + | |
| − | for (i=0; i<=255;i++) // i varie de 1 à 255
| + | |
| − | {
| + | |
| − | analogWrite(ledR,i); // génère une impulsion sur la broche de largeur i => la luminosité R augmente
| + | |
| − | delay(20); // pause de 20 ms entre chaque pas
| + | |
| − | }
| + | |
| − | digitalWrite (ledR,LOW);
| + | |
| − | for (i=0; i<=255;i++) // i varie de 1 à 255
| + | |
| − | {
| + | |
| − | analogWrite(ledG,i); // génère une impulsion sur la broche de largeur i => la luminosité G augmente
| + | |
| − | delay(20); // pause de 20 ms entre chaque pas
| + | |
| − | }
| + | |
| − | digitalWrite (ledG,LOW);
| + | |
| − | for (i=0; i<=255;i++) // i varie de 1 à 255
| + | |
| − | {
| + | |
| − | analogWrite(ledB,i); // génère une impulsion sur la broche de largeur i => la luminosité B augmente
| + | |
| − | delay(20); // pause de 20 ms entre chaque pas
| + | |
| − | }
| + | |
| − | digitalWrite (ledB,LOW);
| + | |
| − | for (i=0; i<=255;i++) // i varie de 1 à 255
| + | |
| − | {
| + | |
| − | analogWrite(ledR,i); // génère une impulsion sur la broche de largeur i => la luminosité R augmente
| + | |
| − | analogWrite(ledG,i); // génère une impulsion sur la broche de largeur i => la luminosité G augmente
| + | |
| − | analogWrite(ledB,i); // génère une impulsion sur la broche de largeur i => la luminosité B augmente
| + | |
| − | delay(20); // pause de 20 ms entre chaque pas
| + | |
| − | }
| + | |
| − | digitalWrite (ledR,LOW);
| + | |
| − | digitalWrite (ledG,LOW);
| + | |
| − | digitalWrite (ledB,LOW);
| + | |
| − | }
| + | |
| − | </syntaxhighlight>
| + | |
| − | | + | |
| − | == [[Téléchargements]] ==
| + | |
| − | === [[Documents de présentation]] ===
| + | |
| − | === [[Pièces imprimables]] ===
| + | |
| − | <br>
| + | |
| − | Les pièces imprimables : base, roue, support capteur Ultra-sons et plaque pour support de piles sont téléchargeable sur Thingiverse:
| + | |
| − | <br>
| + | |
| − | http://www.thingiverse.com/thing:833005
| + | |
| − | | + | |
| − | === [[Programmes]] ===
| + | |
| − | | + | |
| − | [[Rajout du capteur de vide]]
| + | |