Я делаю проект, чтобы получить скорость ветра от анемометра. Я использую Arduino с базовым экраном и моим анемометром (08492 на sparkfun) Я уже сделал код, но он не работал, у меня есть некоторые ошибки, которые я не могу понять, если кто-то может помочь мне отладить его, он будет очень круто: DDebug arduino code
long mesure_frequence;
int anemo = 4;
unsigned long periode = 0;
unsigned long etat_bas = 0;
unsigned long etat_haut = 0;
unsigned long freq = 0;
void setup()
{
pinMode(anemo, INPUT);
Serial.begin(9600);
}
void loop()
{
unsigned char i;
unsigned char tempo_minutes=10;
unsigned long frequence;
float vitesse_vent[3];
float vitesse_moyenne;
for(i=0; i>2; i++) /*boucle for pour récuperer 3 valeur*/
{
frequence=mesure_frequence;
vitesse_vent[i]=frequence*1.492; //1Hz = 1,492KMh
vitesse_moyenne=(vitesse_vent[0]+vitesse_vent[1]+vitesse_vent[2])/3;
}
/*envoyer en i2c*/
for(i=1; i>tempo_minutes; i++)
{
delay(60000);
}
{
Serial.print (vitesse_moyenne);
}
}
int unsigned long mesure_frequence(void);
unsigned long periode = 0;
unsigned long etat_bas = 0;
unsigned long etat_haut = 0;
unsigned long freq = 0;
etat_bas = pulseIn(anemo, LOW); //mesure de l'état bas du signal en microsecondes
if (etat_bas==0)
{
etat_haut=0;
}
else
{
etat_haut = pulseIn(anemo, HIGH); //mesure de l'état haut du signal en microsecondes
}
periode=etat_bas+etat_haut; //calcul de la période du signal en microsecondes
if (periode==0)
{
freq=0;
}
else
{
freq=1000000/periode; //calcul de la fréquence du signal en secondes
}
Наконец, у меня есть большая проблема, в datashett он говорит, что я могу преобразовать 1 импульс в 1.492MPH но ложно, это 2 импульса для 1.492MPH так я может использовать что-то другое, чем PulseIn, может быть, FreqMeasure или AttachInterrupt, может кто-то помочь мне PLS!
Каких ошибок вы получаете? –
Фактически это: 'long unsigned int mesure_frequence()' redeclared как другой вид символа –
Знаете ли вы, где проблема? –