Conception d'un prototype de robot guide : Différence entre versions

De Wiki de Projets IMA
(Réalisations concrètes)
(Réalisations concrètes)
Ligne 62 : Ligne 62 :
  
 
* Demander responsable d’acheter les matériaux
 
* Demander responsable d’acheter les matériaux
 +
 +
====Le code du Arduino====
 +
void loop() // run over and over
 +
{
 +
  if(c ++ % 100000 == 0) { // quand c module 100000 égal 0 , on envoie la valeur de sonar une fois
 +
    s11.trigger();
 +
    s12.trigger();
 +
    s13.trigger();
 +
    i[0] = s11.getDist();
 +
    i[1] = s12.getDist();
 +
    i[2] = s13.getDist();
 +
    Serial.println(i[0]);
 +
    Serial.println(i[1]);
 +
    Serial.println(i[2]);   
 +
    mySerial.write(i, 6); // envoyer les valeurs de sonars
 +
    mySerial.flush();
 +
  }
 +
  if (mySerial.available()) {
 +
    int  res = mySerial.read();
 +
    if(res != -1 && res != 0) {
 +
      Serial.println(res);
 +
      switch(res) {
 +
      case 0:
 +
      break;
 +
      case 1:
 +
        avance();
 +
        delay(100);
 +
        break;
 +
      case 2:
 +
        back();
 +
        delay(100);   
 +
        break;
 +
      case 3:
 +
        left();
 +
        delay(100);         
 +
        break;
 +
      case 4:
 +
        right();     
 +
        delay(100);
 +
        break;
 +
      case 5:
 +
        rotatel();
 +
        delay(100);
 +
        break;
 +
      case 6:
 +
        rotater();
 +
        delay(100);
 +
        break;
 +
      case 7:
 +
        setMotorAllStop();
 +
        delay(100);
 +
        break;     
 +
      }         
 +
    }
 +
  }

Version du 26 février 2013 à 15:21

Préparation du projet

Matériel requis

Pour réaliser notre projet, nous avons besoin: -un tablette -un adk arduino -un robot


Matériel à acheter

Aucun matériel à acheter, Polytech'Lille a déjà fourni.


Avancement du projet

Réalisations concrètes

  • Faire la préparation de projet.(base de données, techniques utilisées)
  • Interface de tablette qui peux afficher la location, nom, description de marchandise
  • Les clients peuvent créer un marchandise soit par l'image dans le tablette ou soit par le caméra
  • Utiliser un FrameLayout de éparer l'affichage de marchandises et le plan.
  • Faire la recherche de adk.
  • Réaliser l'envoi de données par adk.
  • Réaliser la réception de données par adk.
  • Réaliser un renouvellement de interface en temps réel, les données lesquelles venus de adk qu'il va afficher sur l'interface.
  • Réaliser un controleurs sur l'interface de Android
  • Réaliser de donner les commandes de contrôleurs vers arduino adk mega
  • Réaliser le synchronisation entre arduino adk mega et arduino UNO par les pattes TX/RX(note:on ne utlise pas câble USB est parce que un connecteur esclave de arduino adk mega est réservé à android, c'est pas possible de faire la communication entre adrduino UNO par 2 connecteurs hôtes)
  • Réaliser la Sync entre les contrôleurs de android et arduino Uno , et arduino adk mega fonctionne comme un intermédiare.
  • Réaliser la rotation , avancement de robot
  • Faire la recherche sur le reconnaissance vocale
  • L’installation de reconnaissance vocale
  • Faire la recherche sur le capteur sonar
  • Obtenir les valeurs de sonar et synchroniser sur la tablette
  • Faire la recherche sur le NFC
  • Installer dans l’arduino et synchroniser avec la tablette
  • Faire la recherche sur le movement de robot sur un bande noire
  • Demander responsable d’acheter les matériaux

Le code du Arduino

void loop() // run over and over {

  if(c ++ % 100000 == 0) { // quand c module 100000 égal 0 , on envoie la valeur de sonar une fois
   s11.trigger();
   s12.trigger();
   s13.trigger();
   i[0] = s11.getDist();
   i[1] = s12.getDist(); 
   i[2] = s13.getDist();
   Serial.println(i[0]);
   Serial.println(i[1]);
   Serial.println(i[2]);    
   mySerial.write(i, 6); // envoyer les valeurs de sonars
   mySerial.flush(); 
 }
 if (mySerial.available()) {
   int  res = mySerial.read();
   if(res != -1 && res != 0) {
     Serial.println(res);
     switch(res) {
     case 0:
     break;
     case 1:
       avance();
       delay(100);
       break;
     case 2:
       back();
       delay(100);    
       break;
     case 3:
       left();
       delay(100);          
       break;
     case 4:
       right();      
       delay(100);
       break;
     case 5:
       rotatel();
       delay(100);
       break;
     case 6:
       rotater();
       delay(100);
       break;
     case 7:
       setMotorAllStop();
       delay(100);
       break;       
     }          
   }
 }