[Programmation] Robot pour piscine
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Robot pour piscine



  1. #1
    invite88f06f62

    Talking Robot pour piscine


    ------

    Bonjour tout le monde, je me suis récemment inscrit sur ce forum car je recherche actuellement de l'aide pour venir a fin de mon TPE.
    Ce dernier consiste à créer un appareil qui flotte dans l'eau et qui a pour rôle de mesurer le ph de l'eau dans laquelle il flotte afin de pouvoir y déposer automatiquement un ou plusieurs galet(s) de chlore.
    Une partie me pose problème.. je m'explique.. dans ce TPE j'ai pour rôle de créer un programme pour le capteur de ph qui servirai donc a détecter à quel moment je le galet de chlore devrait être délivré.
    Par chance j'ai trouvé sur site un détecteur de Ph avec le programme arduino qui va avec, mais bon étant quelqu'un de plutôt "sérieux" en cour je préfère comprendre ce programme que de l'utilisé aveuglement.
    Après des jours de lecture sur des explications de programmes sous arduino je n'arrive toujours pas à comprendre ce programme arduino.
    Donc j'aurais aimer savoir si quelqu'un aurai pu m'expliquer ce programme et me dire si il est juste, s'il faut compléter certaine choses etc...
    Merci d'avance

    Code:
    #define SensorPin 0          //pH meter Analog output to Arduino Analog Input 0
    unsigned long int avgValue;  //Store the average value of the sensor feedback
    float b;
    int buf[10],temp;
    
    void setup()
    {
      pinMode(13,OUTPUT);  
      Serial.begin(9600);  
      Serial.println("Ready");    //Test the serial monitor
    }
    void loop()
    {
      for(int i=0;i<10;i++)       //Get 10 sample value from the sensor for smooth the value
      { 
        buf[i]=analogRead(SensorPin);
        delay(10);
      }
      for(int i=0;i<9;i++)        //sort the analog from small to large
      {
        for(int j=i+1;j<10;j++)
        {
          if(buf[i]>buf[j])
          {
            temp=buf[i];
            buf[i]=buf[j];
            buf[j]=temp;
          }
        }
      }
      avgValue=0;
      for(int i=2;i<8;i++)                      //take the average value of 6 center sample
        avgValue+=buf[i];
      float phValue=(float)avgValue*5.0/1024/6; //convert the analog into millivolt
      phValue=3.5*phValue;                      //convert the millivolt into pH value
      Serial.print("    pH:");  
      Serial.print(phValue,2);
      Serial.println(" ");
      digitalWrite(13, HIGH);       
      delay(800);
      digitalWrite(13, LOW); 
    
    }

    -----
    Dernière modification par gienas ; 06/01/2017 à 12h36. Motif: Ajouté les balises code obligatoires pour les programmes

  2. #2
    albanxiii
    Modérateur

    Re : Besoin d'aide pour TPE terminale SSI

    Bonjour et bienvenu sur le forum,

    Comme indiqué http://forums.futura-sciences.com/tp...-tpe-tipe.html les questions techniques doivent être posées dans les forums techniques correspondant.

    Pour la modération.
    Not only is it not right, it's not even wrong!

  3. #3
    jiherve

    Re : Besoin d'aide pour TPE terminale SSI

    bonjour et bienvenue,
    qu'est ce que tu ne comprends pas?
    Le programme semble correct
    JR
    l'électronique c'est pas du vaudou!

  4. #4
    invite88f06f62

    Re : Robot pour piscine

    Eh bien je ne comprend pas trop ce programme, sachant qu'il devra déclancher une trape qui doit s'ouvrir pour laisser un galet de chlore tomber, je ne sais pas si le programme est correct :/

  5. A voir en vidéo sur Futura
  6. #5
    inviteb565bafd

    Re : Robot pour piscine

    Salut,

    D'après ce que j'ai compris, le programme que tu fournis ne traite que l'acquisition du signal (mesure pH). Déjà première remarque, le programme est écrit pour un capteur qui délivre une tension en fonction du pH. Si tu n'utilises pas le même capteur il faudra certainement le modifier pour l'adapter à ton capteur, avec un étalonnage pour vérifier que ce que tu mesures est correct.

    Ensuite le programme ne gère pas la fonction de la trappe, donc c'est à toi de la créer. Une condition "if" devrait te permettre de faire la comparaison avec la valeur de pH à laquelle tu veux ouvrir la trappe. En suite pour la commande elle-même, ça dépend de ce que tu utilises (ce ne sera pas la même chose pour un servomoteur que pour un moteur DC ou moteur pas-à-pas).
    Je ne sais pas si le but est de faire quelque chose "d'utilisable", mais je te conseille d'implémenter une détection, pour assurer que le galet est bien sorti, mais aussi qu'il n'y a qu'un seul galet qui sort à la fois.

    A toi de jouer!

    A+!

Discussions similaires

  1. [Divers] panne robot piscine
    Par invite7430d358 dans le forum Dépannage
    Réponses: 2
    Dernier message: 02/09/2012, 20h04
  2. [Divers] robot de piscine AquaFlo
    Par lebelje21 dans le forum Dépannage
    Réponses: 1
    Dernier message: 28/05/2011, 09h20
  3. [Divers] Robot de piscine
    Par inviteb8a0cab3 dans le forum Dépannage
    Réponses: 0
    Dernier message: 29/08/2010, 11h26
  4. [Divers] Dysfonctionnement robot piscine
    Par invitef18533bb dans le forum Dépannage
    Réponses: 0
    Dernier message: 24/05/2010, 10h46
  5. [Divers] robot de piscine usa
    Par invite15a37e73 dans le forum Dépannage
    Réponses: 1
    Dernier message: 19/07/2008, 21h28
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...