Bonjour,
je monte pas à pas mon petit projet mais lors d'un test de compilation j'ai une erreur qui s'affiche et je n'arrive pas à résoudre .
Quelqu'un pourrait-il m'aiguiller dessus?
voici le programme et l'erreur reçu:
/*
/*
cree *******
*/
// initialisation des capteurs analogiques:
#include <OneWire.h> // Inclusion de la librairie OneWire
#include <DallasTemperature.h> // inclure la librairie DallasTemp
/*-----( Importer la librairie necessaire pour le moteur pas à pas )-----*/
#include <Stepper.h>
/*-----( Déclarer les constantes, Numéro de Pin )-----*/
//---( Nombre d'étapes pour un tour du moteur en mode 4-step )---
#define STEPS_PER_MOTOR_REVOLUTION 32
//---( Nb d'étapes pour l'abre démultiplicateur)---
#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64 //2048
// initialisation des sorties relais:
const int broche_OneWire = A0; //Température des cuves
const int Chauf = 0; // chauffe de l'eau Cuve 1, éteind LOW allumé HIGH
const int Vanne1 = 1; // vanne arrive eau cuve1, sans LOW avec HIGH
const int Vanne2 = 2; // Vanne transit entre cuve1 cuve2, vanne ouverte HIGH
const int Vanne3 = 3; // Vanne transit entre cuve2 cuve3,vanne ouverte HIGH
const int Vanne4 = 4; // Vanne de circuit de refroidissement cuve3, vanne ouverte HIGH
/*-----( Declaration d'objets )-----*/
// Créer le modèle de pas à pas, spécifiquement
// Le nombre d'étape du moteur et les pin rattachés sont
// Le moteur necessite 4 Pin
// Les Pins sont In1, In2, In3, In4 sur la carte
// ici dans la séquence 1-3-2-4 créer le séquençage approprié à la bonne
// marche
Stepper Moteur(STEPS_PER_MOTOR_REVOLUTION, 5, 7, 6, 8);
// Moteur brasseur Cuve2 Pin 5, Pin 6, Pin 7, Pin8
// Ces constantes ne changent pas, init capteurs entrees logiques:
const int Nivbc1 = 9; // Capteur niv bas cuve 1, Poire haute = 1
const int Nivhc1 = 10; // Capteur niv haut cuve 1, Poire haute = 1
const int Nivbc2 = 11; // Capteur niv bas cuve 2, Poire haute = 1
const int Nivhc2 = 12; // Capteur niv haut cuve 3, Poire haute = 1
const int btstart = 13; // Bouton de démarage du programme
// initialisation des variables
unsigned long delai = 60000;
unsigned long tempmoteur= 1800000;
// --- Déclaration des objets utiles pour les fonctionnalités utilisées ---
OneWire capteur(broche_OneWire); // crée un objet One Wire sur la broche voulue
DallasTemperature sensors(&capteur)// Pass address of our oneWire instance to Dallas Temperature.
/*-----( Declaration des Variables )-----*/
// Assignation des adresses des trois capteurs.
DeviceAddress Probe01 = { 0x28, 0xFF, 0x31, 0x1F, 0x44, 0x04, 0x00, 0x37 }; // "sonde cuve 1"
DeviceAddress Probe02 = { 0x28, 0xFF, 0x2D, 0x03, 0x20, 0x04, 0x00, 0x7B }; // "sonde cuve 2"
DeviceAddress Probe03 = { 0x28, 0xFF, 0x31, 0x1F, 0x44, 0x04, 0x00, 0x37 }; // "sonde cuve 1" de nouveau pour tester
DeviceAddress Probe04 = { 0x28, 0xFF, 0x3C, 0x1D, 0x41, 0x04, 0x00, 0xE9 }; // "sonde cuve 3"
// initialisation des entrees-sorties
void setup() {// debut de la fonction setup()
// --- ici instructions à exécuter au démarrage ---
Serial.begin(9600); // initialise connexion série à 9600 bauds
// IMPORTANT : régler le terminal côté PC avec la même valeur de transmission
// set the resolution to 10 bit (Can be 9 to 12 bits .. lower is faster)
sensors.setResolution(Probe01, 10);
sensors.setResolution(Probe02, 10);
sensors.setResolution(Probe03, 10);
sensors.setResolution(Probe04, 10);
//---- détection des capteurs présents sur le bus One Wire
Serial.println("*** Liste des elements presents sur le bus 1-wire *** ");
while (capteur.search(adresse)== true) // tant qu'un nouveau capteur est détecté
{
// la fonction search renvoie la valeur VRAI si un élément 1-wire est trouvé. Stocke son adresse dans le tableau adresse
// adresse correspond à l'adresse de début du tableau adresse[8] déclaré ...
// ce code est exécuté pour chaque capteur détecté
compt=compt+1; // incrémente la variable de comptage du nombre de compteurs
Serial.print ("Numero ");
Serial.print (compt);
Serial.print (": 1 capteur 1-wire present avec code adresse 64 bits : ");
//--- affichage des 64 bits d'adresse au format hexadécimal
for(int i = 0; i < 8; i++) { // l'adresse renvoyée par la fonction search est stockée sur 8 octets
if (adresse[i]<16) Serial.print('0'); // pour affichage des O poids fort au format hexadécimal
Serial.print(adresse[i], HEX); // affiche 1 à 1 les 8 octets du tableau adresse au format hexadécimal
Serial.print(" ");
Serial.println();
//---- test du type de capteur ----
// le type du capteur est donné par le 1er octet du code adresse 64 bits
// Valeur 0x28 pour capteur type DS18B20, 0x10 pour type DS18S20, 0x22 pour type DS1820
if (adresse[0]==0x28) Serial.println ("Type : Capteur temperature DS18B20.");
//----- contrôle du code CRC ----
// le dernier octet de l'adresse 64bits est un code de contrôle CRC
// à l'aide de la fonction crc8 on peut vérifier si ce code est valide
if (capteur.crc8( adresse, 7) == adresse[7]) // vérification validité code CRC de l'adresse 64 bits
// le code CRC de l'adresse 64 bits est le 8ème octet de l'adresse (index 7 du tableau)
{
Serial.println ("Verification du code CRC de l'adresse 64 bits de ce capteur : VALIDE !");
}
else
{
Serial.println ("Verification du code CRC de l'adresse 64 bits de ce capteur : NON VALIDE !");
}
Serial.println("------------");
} // fin boucle while test présence capteur
if (compt==0) // si aucun capteur n'a été détecté
{
Serial.println("Aucun capteur present sur le bus 1-wire"); // affiche message + saut de ligne
}
else // si au moins 1 capteur a été détecté
{
Serial.print(compt); // affiche nombre de capteurs détectés
Serial.println (" capteur(s) detecte(s) sur ce bus 1-wire"); // affiche message + saut de ligne
Serial.println ("**** Recherche terminee - fin de liste **** "); // affiche message + saut de ligne
// declaration entrees sorties:
// exemple: pinMode(avsachaud, INPUT);
pinMode(Chauf, OUTPUT);
pinMode(Vanne1, OUTPUT);
pinMode(Vanne2, OUTPUT);
pinMode(Vanne3, OUTPUT);
pinMode(Vanne4, OUTPUT);
pinMode(Nivbc1, INPUT);
pinMode(Nivhc1, INPUT);
pinMode(Nivbc2, INPUT);
pinMode(Nivhc2, INPUT);
pinMode(btstart, INPUT);
digitalWrite(btstart, LOW);
} // fin de la fonction setup()
// boucle principale faisant appel aux differents sous-programmes :
void loop() {
// demarage du programme & utilisation de la cuve1
E0();
// sequence de brassage cuve 1/2 pleine
E1() && E0();
// sequence de brassage cuve pleine et vidange cuve2
E2();
// refroidissement cuve3
E3();
}
// sous programme de demarage du brassage & utilisation de la cuve1 (E0)
void E0() {
if(btstart == HIGH && Nivbc1==LOW && Nivhc1 == HIGH)
{
// ouvrir vanne1
digitalwrite (Vanne1, HIGH)
};
if( Nivbc1==HIGH && Nivhc1 == LOW)
{
//fermer vanne et démarer chauffe
Vanne1 == HIGH && Chauf == HIGH;
}
Voici le message d'erreur
sketch_sep23a:60: error: expected ',' or ';' before 'DeviceAddress'
sketch_sep23a.ino: In function 'void setup()':
sketch_sep23a:75: error: 'Probe01' was not declared in this scope
sketch_sep23a:84: error: 'adresse' was not declared in this scope
sketch_sep23a:90: error: 'compt' was not declared in this scope
sketch_sep23a:152: error: a function-definition is not allowed here before '{' token
sketch_sep23a:165: error: a function-definition is not allowed here before '{' token
sketch_sep23a:175: error: expected `}' at end of input
sketch_sep23a:175: error: expected `}' at end of input
là je bloque totalement...