Pages: [1]   Go Down
Author Topic: Sensore vento: interrupt e conteggio  (Read 410 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 0
Posts: 161
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao a tutti,
sto utilizzando il sensore http://www.futurashop.it/carrello_sql/prodotti.asp?cosa=wind&liv3=&title=STAZIONI%20METEO%20E%20OROLOGI&cate=SENSORI%20METEO&cod=6710-WIND01#6710-WIND01 , ho fatto i collegamenti sulla breadboard e sembra funzionare (riconosce il cambiamento di stato) ma non riesco a fare misurazioni sensate. Per capire dove stava il problema ho scritto questo sketch di prova...
Code:
float counter=0;
void setup(){
  Serial.begin(9600);
    attachInterrupt(0, addcount, FALLING);}
void loop(){
  Serial.println(counter);
}
void addcount(){
  counter++;}
ottengo sequenze come "0-6-7-11-12-17-18-22-23-28-29-32-33-38-39-43" senza alcun ragionevole significato..
se invece

Code:
float counter=0;
void setup(){
  Serial.begin(9600);
    
  Serial.println("LOW");}
void loop(){
  attachInterrupt(0, addcount, LOW);
  Serial.println(counter);
}
void addcount(){
  counter++;}

mi dà dei valori assurdi, 579323.00 al terzo giro  smiley-zipper smiley-roll-blue
Che diavolo succede? Ho testato i due codici girando molto lentamente le pale con la mano smiley-sad
Grazie a tutti  smiley-fat
Logged

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 7
Posts: 2961
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

lo sketch sembra un containterrupt smiley e non vedo nulla che colleghi il numero degli impulsi alla velocità di rotazione.
Comunque potrebbe errere il collegamento "rumoroso", io non conosco quel sensore ma con quello sketch, mi sà che non vai da nessuna parte.
Quel sensore devi trattarlo come un tasto, credo che si a base di relè reed...
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 161
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

No, aspetta. Non ho capito.
Ogni volta che lo stato dell'input 0 è falling incrementa counter e nel frattempo il loop stampa il valore del counter. Cosa c'è che non quadra concettualmente?
Logged

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 7
Posts: 2961
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

che vedo troppi interrupt innescati per un giro lento a mano smiley
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 161
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Appunto! Che diavolo devo fare? ho provato qualche codice per anemometri, ma c'è sempre il problema di un numero di interrupt incredibilmente alto!
Logged

Bergamo
Offline Offline
God Member
*****
Karma: 1
Posts: 663
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao

domanda: hai usato una resistenza di pull-up?
Forse basta anche quella interna ad Arduino (http://arduino.cc/en/Tutorial/DigitalPins)
bye
Logged

lucadentella.it

Offline Offline
Full Member
***
Karma: 0
Posts: 161
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho provato come dici tu, collegando il sensore ai 5 volt e al dig. in, ma resta sempre in high, anche quando fa contatto...
Logged

Bergamo
Offline Offline
God Member
*****
Karma: 1
Posts: 663
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

collegando il sensore a 5V con una resistenza di mezzo giusto?
Il tuo sensore vento ad ogni passaggio chiude il circuito o lo apre?
Nel primo caso avrai

5V
|
Rpullup
|--- pin arduino
Sensore
|
Gnd

E' così che lo avevi collegato?
Logged

lucadentella.it

Pages: [1]   Go Up
Jump to: