Bonjour tous le monde,
je suis actuellement bloqué sur trois codes erreur que je ne comprends pas du tout. Le premier se répète deux fois: error:statement cannot resolve address of overloaded function. J'ai essayé de chercher mais je ne trouve que des pages concernant le C++. Le deuxième à l'air de concerner une déclaration: error:'O' was not declared in this scope mais je n'ai aucune variable à déclarer. Enfin le troisième on me dit que j'ai oublié un point virgule alors que c'est à la fin d'une condition.
Voici le code:
#include "LiquidCrystal.h"
double coupParMinute=0.0;
double uSv=0.0;
int etatBouton=0;
int temps=0;
int impulsion=0;
int etat_geiger=0;
const int speaker=13;
int n=0;
double coupParMinuteTableau[9]={0};
const int bouton=11;
const int led=9;
const int entree_geiger=10;
const int contacteur=12;
LiquidCrystal lcd(3, 4, 5, 6, 7, 8);
int i=0;
void setup()
{
pinMode(entree_geiger, INPUT);
pinMode(led,OUTPUT);
digitalWrite(led, LOW);
pinMode(bouton, INPUT);
digitalWrite(bouton, HIGH);
pinMode(contacteur, OUTPUT);
digitalWrite (contacteur, LOW);
pinMode(speaker, OUTPUT);
digitalWrite(speaker, LOW);
lcd.begin(16,2);
lcd.clear;
lcd.setCursor(O, O);
lcd.print("TPE 2012-2013");
lcd.setCursor(0, 1);
lcd.print("Le compteur Geiger");
delay(1000);
lcd.clear;
lcd.setCursor(0,0);
lcd.print("CPM=");
lcd.setCursor(4,0);
lcd.print(coupParMinute);
lcd.setCursor(0,1);
lcd.print("uSv/h=");
lcd.setCursor(6,1);
lcd.print(uSv);
}
void loop()
{
etatBouton= digitalRead(bouton);
if (etatBouton==HIGH)
digitalWrite(contacteur, LOW);
else (etatBouton==LOW)
digitalWrite(contacteur, HIGH);
temps=millis();
while (1000<=(millis()-temps))
{
n++;
while(impulsion<=10 || (millis()-temps)<=5000)
{
temps=millis();
etat_geiger=digitalRead(entree_geiger);
if(etat_geiger==HIGH)
impulsion++;
digitalWrite(led, HIGH);
digitalWrite(speaker, HIGH);
while(entree_geiger==HIGH)
{
etat_geiger=digitalRead(entree_geiger);
if(etat_geiger==LOW)
{
digitalWrite(speaker, LOW);
}
}
}
if((millis()-temps)>=2000)
coupParMinute= impulsion/(millis()-temps);
else
coupParMinuteTableau[n]=10/(millis()-temps) ;
}
if(coupParMinute==10)
if(n==1)
coupParMinute=10/(millis()-temps);
else
{
coupParMinute= moyenneTableau(coupParMinuteTableau, 10);
}
coupParMinute*=60;
uSv=coupParMinute*0,057;
}
double moyenneTableau (double tableau[], int tailleTableau)
{
double resultat= 0.0;
for(i=0; i<tailleTableau; i++)
{
resultat=resultat+tableau[i];
}
resultat= resultat/i;
return 0;
}
Merci d'avance à ceux qui auront pris le temps de me lire et de me répondre.