Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Index du Forum



Problème!


 
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Questions
Sujet précédent :: Sujet suivant  
Auteur Message
Math1610
Débutant

Hors ligne

Inscrit le: 10 Avr 2013
Messages: 2
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Mer 10 Avr - 20:22 (2013)    Sujet du message: Problème! Répondre en citant

PublicitéSupprimer les publicités ?
Bonjour  :), alors je vous explique jai un projet qui est d'automatiser un volet en fonction de la température et de la luminosité. J'avance dans mon programme mais je suis bloquer.. Mon moteur ne s'arrete pas de tourner! 
Si quelqu'un a une solutions ou remarque quelque petit défauts dans mon programme n'hésitez pas  :)






Programme : 

 
Code:
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]#include <SPI.h>                 // Inclusion des différentes librairies nécéssaires[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]#include <Ethernet.h>            //[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]#include <EthernetClient.h>      //[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]#include <EthernetServer.h>     //[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]#include <TinkerKit.h> [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]#include <OneWire.h>         // librairie pour capteur OneWire[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]                            // Initialisation du capteur de température TinkerKit sur Input 0 de la carte TinkerKit[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]float Temperature = 0;      // variable Float crée afin d'y stocker la valeur de la température envoyée par le capteur ( float = nombre a virgule )[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]TKLightSensor ldr(I1);      // Initialisation du capteur de luminosite TinkerKit sur Input 1 de la carte TinkerKit[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]unsigned int Luminosite = 0;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]const int modeLecture=0xBE;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]const int lancerMesure=0x44;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]const int sensMoteur=4; // Constante pour la broche 2[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]const int vitesseMoteur=5; // Constante pour la broche 3[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]const int Avant=1; // constante sens moteur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]const int Arriere=0; // constante sens moteur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]int vitesse=90; // variable de vitesse[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]int positionV=0;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]int tempsC=5000;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]int tempsM=2500;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]int tempsA=7000;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]const int broche_OneWire=2; //declaration constante de broche [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]byte data[12]; // Tableau de 12 octets pour lecture des 9 registres de RAM et des 3 registres d'EEPROM du capteur One Wire[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]byte adresse[8]; // Tableau de 8 octets pour stockage du code d'adresse 64 bits du composant One Wire[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]byte mac[] = {}; // Adresse Mac de la carte Arduino Ethernet[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]byte ip[] = { };  // Création d'une adresse IP propre a la carte, permettant d'acceder aux données en tapant l'adresse IP dans firefox ou dans l'Iframe[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]EthernetServer server(80);  // Création de l'objet server de type EthernetServer disponible sur le port 80[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]float ma_tempetf=0.0; [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]OneWire  capteur(broche_OneWire);  // crée un objet One Wire sur la broche voulue[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif] [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]void setup()[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]{[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  pinMode (sensMoteur,OUTPUT); // Broche sensMoteur configurée en sortie[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  pinMode (vitesseMoteur,OUTPUT); // Broche vitesseMoteur configurée en sortie[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  Ethernet.begin(mac, ip);  // Démarrage de la connexion Ethernet et du serveur WEB[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  server.begin();           // Connexion au serveur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  Serial.begin(9600);      // Nombre de Bauds choisi pour le programme[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  capteurInit(); // appel de la fonction d'initialisation du capteur - au début seulement [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]                // prise en compte du premier capteur trouvé[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif] }[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]void loop ()    // Programme principal[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]{[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]        ma_tempetf=capteurMesureTemp(); // appel de la fonction de mesure - renvoie une valeur float[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]        Serial.print ("Temperature = "); [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]        Serial.print (ma_tempetf,2); [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]        Serial.println (" Degres Celsius. "); [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif] [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]        Luminosite = ldr.get();        // Lumière captée sur un nombre entre 0 et 1023[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]        Serial.print("La Luminosite =");[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]        Serial.println(Luminosite);    // Nombre stocké dans la variable en lumen[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]        delay(100);[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]        [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]         [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]        if (positionV=0 && Temperature>=26 && Luminosite<300)[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          {[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            positionV=1;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            vitesse=90;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            analogWrite(vitesseMoteur, vitesse); // génère une impulsion PWM sur la broche de vitesse du moteur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            digitalWrite(sensMoteur,Avant); // Marche avant[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            delay (tempsM);[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          }[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]         else if (positionV=2 && Temperature>=26 && Luminosite<300)[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          {[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            positionV=1;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            vitesse=90;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            analogWrite(vitesseMoteur, vitesse); // génère une impulsion PWM sur la broche de vitesse du moteur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            digitalWrite(sensMoteur,Arriere); // Marche avant[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            delay(tempsM);[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          } [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]         else if (positionV=1 && Temperature>=26 && Luminosite<300)[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          {[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            positionV=1;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            vitesse=0;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            analogWrite(vitesseMoteur, vitesse); // génère une impulsion PWM sur la broche de vitesse du moteur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            digitalWrite(sensMoteur,Avant); // Marche avant[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            delay(tempsA);[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]           [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          }    [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]         else if (positionV=1 && Temperature<26 && Luminosite>=300)[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          {[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            positionV=0;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            vitesse=90;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            analogWrite(vitesseMoteur, vitesse); // génère une impulsion PWM sur la broche de vitesse du moteur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            digitalWrite(sensMoteur,Arriere); // Marche avant[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            delay(tempsM);[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          }    [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]         else if (positionV=2 && Temperature<26 && Luminosite>=300)[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          {[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            positionV=0;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            vitesse=90;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            analogWrite(vitesseMoteur, vitesse); // génère une impulsion PWM sur la broche de vitesse du moteur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            digitalWrite(sensMoteur,Arriere); // Marche avant[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            delay(tempsC);[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]             [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          } [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]        else if (positionV=0 && Temperature<26 && Luminosite>=300)[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          {[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            positionV=0;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            vitesse=0;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            analogWrite(vitesseMoteur, vitesse); // génère une impulsion PWM sur la broche de vitesse du moteur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            digitalWrite(sensMoteur,Arriere); // Marche avant[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            delay(tempsA);[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          }[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]         else if (positionV=0 && Temperature>=26 && Luminosite>=300)[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          {[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            positionV=2;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            vitesse=90;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            analogWrite(vitesseMoteur, vitesse); // génère une impulsion PWM sur la broche de vitesse du moteur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            digitalWrite(sensMoteur,Avant); // Marche avant[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            delay(tempsC);[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          } [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]         else if (positionV=1 && Temperature>=26 && Luminosite>=300)[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          {[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            positionV=2;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            vitesse=90;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            analogWrite(vitesseMoteur, vitesse); // génère une impulsion PWM sur la broche de vitesse du moteur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            digitalWrite(sensMoteur,Avant); // Marche avant[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            delay(tempsM);[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          }[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]         else if (positionV=2 && Temperature>=26 && Luminosite>=300)[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          {[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            positionV=2;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            vitesse=0;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            analogWrite(vitesseMoteur, vitesse); // génère une impulsion PWM sur la broche de vitesse du moteur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            digitalWrite(sensMoteur,Avant); // Marche avant[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            delay(tempsA);[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          } [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]         else if (positionV=0 && Temperature<26 && Luminosite<300)[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          {[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            positionV=2;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            vitesse=90;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            analogWrite(vitesseMoteur, vitesse); // génère une impulsion PWM sur la broche de vitesse du moteur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            digitalWrite(sensMoteur,Avant); // Marche avant[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            delay(tempsC);[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          }  [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]         else if (positionV=1 && Temperature<26 && Luminosite<300)[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          {[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            positionV=2;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            vitesse=90;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            analogWrite(vitesseMoteur, vitesse); // génère une impulsion PWM sur la broche de vitesse du moteur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            digitalWrite(sensMoteur,Avant); // Marche avant[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            delay(tempsM);[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          }[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]         else [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          {   [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            positionV=2;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            vitesse=0;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            analogWrite(vitesseMoteur, vitesse); // génère une impulsion PWM sur la broche de vitesse du moteur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            digitalWrite(sensMoteur,Arriere); // Marche avant[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            delay(tempsA);[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]            [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]          } [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]        [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]        [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]        [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]        [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    EthernetClient client = server.available();       // Connexion au serveur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    if (client) {[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    boolean currentLineIsBlank = true;  /* valeur booléene, vrai a 1 et fausse a 0 */[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif] [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    while (client.connected()) {    // tant que le client est connecté afficher tout ces paragraphes[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]      if (client.available()) {   [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]              client.print("[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]La temperature ambiante de la maison CUBE-LOFT est de :");[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]              client.print("[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]"); [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]              client.print(ma_tempetf);  // temperature en °C[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]              client.print(" celsius ");  [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]              client.print("[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]La lumiere de la maison CUBE-LOFT est de :");[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]              client.print("[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]"); [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]              client.print(Luminosite);  // luminosité en lumen [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]              client.print(" lux "); [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]              client.print("[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]<button><span><em>Ouvrir Store</em></span></button>&nbsp&nbsp&nbsp<button><span><em>Fermer Store a 50%</em></span></button>&nbsp&nbsp&nbsp<button><span><em>Fermer Store</em></span></button>[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]");[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]         client.stop();}[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    }}}   // Fin du programme[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    void capteurInit(void) // fonction qui ne reçoit rien et ne renvoie rien[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]{[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]// XXXXXXXXXXXXXXXXXXXXXX Détection du capteur présent sur la broche XXXXXXXXXXXXXXXXXXXXXXX [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]Serial.println("**** Detection du capteur **** "); [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]while (capteur.search(adresse)== false) // tant qu'aucun nouveau capteur est détecté[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]{[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  // la fonction search renvoie la valeur FAUX si aucun élément 1-wire est trouvé. [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  Serial.println("Aucun capteur 1-wire present sur la broche ! "); // affiche message + saut de ligne[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  delay (1000); // pause 1 seconde[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]}[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]//la suite est exécutée seulement si un capteur est détecté[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  // la fonction search renvoie la valeur VRAI si un élément 1-wire est trouvé. [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  // Stocke son code d'adresse 16 bits dans le tableau adresse[8][/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  // adresse envoyé à la fonction correspond à l'adresse de début du tableau adresse[8] déclaré ...   [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  Serial.print ("1 capteur 1-wire present avec code adresse 64 bits : ");[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  //--- affichage des 64 bits d'adresse au format hexadécimal[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]   for(int i = 0; i < 8; i++) { // l'adresse renvoyée par la fonction search est stockée sur 8 octets[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    if (adresse[i][/i]<16) Serial.print('0'); // pour affichage des O poids fort au format hexadécimal[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    Serial.print(adresse[i][/i], HEX); // affiche 1 à 1 les 8 octets du tableau adresse au format hexadécimal[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    Serial.print(" ");[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  }[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  Serial.println(); [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  //---- test du type de capteur ---- [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  // le type du capteur est donné par le 1er octet du code adresse 64 bits[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  // Valeur 0x28 pour capteur type DS18B20, 0x10 pour type DS18S20, 0x22 pour type DS1820[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  if (adresse[0]==0x28) [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  { [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    Serial.println ("Type du capteur present : Capteur temperature DS18B20.");[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  }[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  else[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  {[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    Serial.println ("Le capteur present n'est pas un capteur de temperature DS18B20.");[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  }[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  //----- contrôle du code CRC ----[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  // le dernier octet de l'adresse 64bits est un code de contrôle CRC [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  // à l'aide de la fonction crc8 on peut vérifier si ce code est valide[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  if (capteur.crc8( adresse, 7) == adresse[7]) // vérification validité code CRC de l'adresse 64 bits[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  // le code CRC de l'adresse 64 bits est le 8ème octet de l'adresse (index 7 du tableau)[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  {[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    Serial.println ("Verification du code CRC de l'adresse 64 bits de ce capteur : VALIDE !"); [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  }[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  else[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  {[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    Serial.println ("Verification du code CRC de l'adresse 64 bits de ce capteur : NON VALIDE !");     [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  }[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  //------- message final détection ---- [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  Serial.println("----- fin de la recherche du capteur ----"); [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  Serial.println("");   [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]}[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]//----------- fin de la fonction d'initialisation du capteur ---------- [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]//-------------- fonction de mesure de la température --------------- [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]float capteurMesureTemp(void) { //fonction qui renvoie résultat float et ne reçoit rien[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]   //-------- variable locale de la fonction ---------- [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  int tempet=0; // variable pour resultat brute  de la mesure[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  float tempetf=0.0; // variable pour resultat à virgule de la mesure[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]// XXXXXXXXXXXXXXXXXXXXXX Lancement d'une mesure et lecture du résultat XXXXXXXXXXXXXXXXXXXXXXX [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif] // Serial.println("**** Acquisition d'une mesure de la temperature **** "); [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  // avant chaque nouvelle instruction, il faut : [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  //    * initialiser le bus 1-wire[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  //    * sélectionner le capteur détecté[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  //    * envoyer l'instruction [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]//--------- lancer une mesure --------[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  capteur.reset(); // initialise le bus 1-wire avant la communication avec un capteur donné[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  capteur.select(adresse); // sélectionne le capteur ayant l'adresse 64 bits contenue dans le tableau envoyé à la fonction[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  capteur.write(lancerMesure,1); // lance la mesure et alimente le capteur par la broche de donnée[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]//-------- pause d'une seconde ----- [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]delay(1000);     // au moins 750 ms[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]           // il faudrait mettre une instruction capteur.depower ici, mais le reset va le faire[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]//---------- passer en mode LECTURE ------------- [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  capteur.reset(); // initialise le bus 1-wire avant la communication avec un capteur donné[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  capteur.select(adresse); // sélectionne le capteur ayant l'adresse 64 bits contenue dans le tableau envoyé à la fonction[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  capteur.write(modeLecture,1); // passe en mode lecture de la RAM du capteur[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]// ----------- lire les 9 octets de la RAM (appelé Scratchpad) ----[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]for ( int i = 0; i < 9; i++) {           // 9 octets de RAM stockés dans 9 octets[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]    data[i][/i] = capteur.read();             // lecture de l'octet de rang i stocké dans tableau data[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]  }[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]//----- caclul de la température mesurée (enfin!) ---------[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]data[1]=data[1] & B10000111; // met à 0 les bits de signes inutiles[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]tempet=data[1]; // bits de poids fort[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]tempet=tempet<<8; [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]tempet=tempet+data[0]; // bits de poids faible[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]// --- en mode 12 bits, la résolution est de 0.0625°C - cf datasheet DS18B20[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]tempetf=float(tempet)*6.25;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]tempetf=tempetf/100.0;[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]return (tempetf);[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]}[/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]// --------------- fin de la fonction de mesure de la température ---------- [/font][/color]
[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif][/font][/color]

[color=#d0d0d0][font=Verdana, Arial, Helvetica, sansserif]// --- Fin programme ---[/font][/color]
 








Peace! 
Revenir en haut
arnaud39
Débutant

Hors ligne

Inscrit le: 01 Avr 2013
Messages: 378
Masculin
Niveau d'éléctronique: Dieu vivant

MessagePosté le: Mer 17 Avr - 13:08 (2013)    Sujet du message: Problème! Répondre en citant

Pense à mettre les balises code c plus facile à lire comme ça.
Je regarde ton programme.
Ton programme est illisible si tu ne le changes pas personne ne te répondra
____________________________
Ancien admin du forum, co-fondateur tutoarduino.com


Dernière édition par arnaud39 le Jeu 7 Nov - 20:20 (2013); édité 1 fois
Revenir en haut
arnaud39
Débutant

Hors ligne

Inscrit le: 01 Avr 2013
Messages: 378
Masculin
Niveau d'éléctronique: Dieu vivant

MessagePosté le: Dim 21 Avr - 08:54 (2013)    Sujet du message: Problème! Répondre en citant

Bizarre personne ne te répond. Attend un peu et ça devrait être bon.
____________________________
Ancien admin du forum, co-fondateur tutoarduino.com
Revenir en haut
arnaud39
Débutant

Hors ligne

Inscrit le: 01 Avr 2013
Messages: 378
Masculin
Niveau d'éléctronique: Dieu vivant

MessagePosté le: Ven 12 Juil - 12:00 (2013)    Sujet du message: Problème! Répondre en citant

Le topic set enterré désole. Le forum est plus actif maintenant si ton problème est toujours la on peut y répondre
____________________________
Ancien admin du forum, co-fondateur tutoarduino.com
Revenir en haut
arnaud39
Débutant

Hors ligne

Inscrit le: 01 Avr 2013
Messages: 378
Masculin
Niveau d'éléctronique: Dieu vivant

MessagePosté le: Ven 12 Juil - 16:25 (2013)    Sujet du message: Problème! Répondre en citant

Je te up
____________________________
Ancien admin du forum, co-fondateur tutoarduino.com
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 20:05 (2017)    Sujet du message: Problème!

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Questions Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino