probléme de code arduino
Répondre à la discussion
Affichage des résultats 1 à 1 sur 1

probléme de code arduino



  1. #1
    invitee9ac00b8

    probléme de code arduino


    ------

    bonjour tout le monde
    étant donnée debutant en arduino ! j'ai subit quelques problémes et j'ai besoin de votre aide
    j'utilise une carte arduino Mega 2560 connecté avec 4 capteurs (temperature , tension , son , à proximité pour calculer la vitesse) et un afficheur LCD. chaque programme de chaque capteur marche trés bien ! mais le probléme lorsque j'ai fait le programme complet et j'ai mis chaque programme de chaque capteur dans une fonction . quand je fais l'appel de son() et tension() et pourcentagebatterie() il marche trés bien ! mais quand j'ajoute l'appel de vittesse() ou temperature() seulement tension() et pourcentagebatterie() marchent , les autres non !!! la combinaison de son() avec vitesse() et temperature() ne marche pas !! quelle est le probléme s'il vous plait merci !
    voici le fichier ino du programme ! j'attend votre aide
    Code:
    #include <Wire.h>
    #include <OneWire.h> 
    #include <DallasTemperature.h> 
    #include <LiquidCrystal.h>
    const int RS=6; //declaration constante de broche 
    const int E=7; //declaration constante de broche 
    const int D4=8; //declaration constante de broche 
    const int D5=9; //declaration constante de broche 
    const int D6=10; //declaration constante de broche 
    const int D7=11; //declaration constante de broche 
    LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
    
    float x1;
    float v;
    float pourc ;
      int etat_actuel=0;
    int ancien_etat=0;
    long chrono_depart=0;
    long duree_test=1000;
    float nbr_rotation=0;
    float rpm ;
    boolean flag;
    int x=0 ;
    float t ;
    float km ;
    float t1=0 ;
    float t2=0 ;
    float t3=0 ;
    float t4=0 ;
     OneWire oneWire(2);
      
    DallasTemperature sensors(&oneWire);
    void setup()
    {
     
     Serial.begin(9600); 
     sensors.begin();
    lcd.begin(16,4);
    
    pinMode(A1,INPUT);
    chrono_depart=0;
    pinMode(12, INPUT);
    pinMode(4, OUTPUT);
    flag=false ;
    }
    void loop()
    {
    
    
    if(son())
    {
    t1=temperature();
    t2=tension();
    t3=pourcentagebatterie();
    t4=vitesse();
    affiche();
    }
    
    
      
     
    
     
    }
    boolean son()
    {
      
     if((digitalRead(12)))
    {
      
      if(flag==true)
      {
        flag=false ;
       digitalWrite(4,LOW);
      }
      else
      {  
    flag=true;
    digitalWrite(4,HIGH);
    
    
    }
    delay(50);
    }
     
    return(flag);
    }
    float temperature(){
      sensors.requestTemperatures(); 
     t=sensors.getTempCByIndex(0);
     return(t); 
    }
    float tension()
    {
    x1=analogRead(A0);
    v=(x1*24)/1024 ;
      
    
    return(v);
    }
    float pourcentagebatterie()
    {
      v=tension();
      pourc=(v*100)/24 ;
     
    
      return(pourc);
        
    }
    float vitesse()
    {
    
    etat_actuel=digitalRead(A1);
    if (millis()-chrono_depart<duree_test){
    if (etat_actuel!=ancien_etat){
    nbr_rotation=nbr_rotation+1;
    ancien_etat=etat_actuel;
    }
    }
    else
    { 
     rpm=(60*nbr_rotation);
     km=rpm*0.00756;
    
    chrono_depart=millis();
    nbr_rotation=0;
    
    }
    
    
     return(km);
    
    }
    void affiche()
    {
      lcd.setCursor(0,0);
    lcd.print("tension=");
    lcd.setCursor(8,0);
    lcd.print(t2);
    lcd.setCursor(13,0);
    lcd.print("V  ");
    lcd.setCursor(0,1);
    lcd.print("batterie=");
    lcd.setCursor(9,1);
    lcd.print(t3);
    lcd.setCursor(0,2);
    lcd.print("t=");
    lcd.setCursor(2,2);
    lcd.print(t1);
    lcd.setCursor(7,2);
    lcd.print("C");
    lcd.setCursor(0,3);
    lcd.print("vitesse=");
    lcd.setCursor(8,3);
    lcd.print(t4);
    lcd.setCursor(12,3);
    lcd.print("KM/H");
      delay(1000);

    -----
    Dernière modification par Jack ; 25/02/2017 à 17h34. Motif: Ajout balises code

Discussions similaires

  1. [Arduino] Comprendre code
    Par invitee9a83698 dans le forum Programmation et langages, Algorithmique
    Réponses: 6
    Dernier message: 27/01/2017, 00h32
  2. Probleme de code i2c wire d'arduino à matlab
    Par invite1d14c8e2 dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 08/05/2016, 15h14
  3. ARDUINO, pont en H, code
    Par invitefed6c128 dans le forum Électronique
    Réponses: 74
    Dernier message: 10/04/2015, 13h08
  4. Code arduino
    Par invite5b777b38 dans le forum Électronique
    Réponses: 16
    Dernier message: 28/03/2015, 21h30
  5. Problème code arduino compteur de personnes
    Par invite7bb156f3 dans le forum Électronique
    Réponses: 13
    Dernier message: 17/03/2015, 08h14