RoboduLAB : Différence entre versions

De Wiki L.A.B
Aller à : navigation, rechercher
(Code arduino : démonstration du fonctionnement du robot en mode autonome)
(Page redirigée vers Catégorie:RobotDuLAB)
 
(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]]
+

Version actuelle en date du 29 août 2016 à 10:11

Rediriger vers :