Aiuto anemometro

Salve ragazzi, mi sto appassionando al mondo arduino ma ancora le mie conoscenze sono molto basse (accensione e spegnimento di led o piccoli carichi e nulla di più). Purtroppo per mancanza di tempo le mie conoscenze avanzano molto lentamente. Vi scrivo perché avrei bisogno di una mano con un progettino. Un amico deve realizzare due sensori da inserire dentro due canali di areazione che gli indichino attraverso un cicalino quando il flusso di aria che passa attraverso il canale è più basso. Avevo pensato a due semplicissimi anemometri ad impulsi, un arduino uno, due led ed un cicalino. Potenzialmente è tutto chiaro! Il principio sarà che se da un impulso a quello successivo passa un secondo vuoldire che il flusso è quello giusto se da un impulso al successivo passano 5 secondi il flusso è debole e deve partire il cicalino e il led corrispondente a quel singolo sensore (sono valori presi a caso). Potreste darmi una mano? Se è possibile qualcuno ha qualche sketch già pronto di qualche progetto simile da cui si può prendere spunto o che magari si può adattare con qualche piccola modifica? Grazie :slight_smile:

Ti suggerisco una soluzione analogica che usa delle normali ventole a 5V.

Visto il costo esiguo, puoi provare ad inserirle nel canale di aerazione per vedere se il flusso d'aria è sufficiente a muoverle: di solito quelle da 4x4cm sono abbastanza sensibili.

Se girano, puoi misurare la tensione erogata con un ingresso analogico di Arduino su cui collegherai un resistore da 10k: attenzione alla polarità che dipende dal verso del flusso d'aria!

@leosci8: essendo il tuo primo post, ti consiglio di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione) e di leggere con attenzione il REGOLAMENTO ... Grazie :slight_smile:

Guglielmo

Grazie per la risposta ma ho già un anemometro di questo tipo da inserire nel canale http://4.bp.blogspot.com/-bc_NrUwCgqE/UvQNX2La5vI/AAAAAAAAAgQ/l01Mt8fCuvo/s1600/DSCN0186.JPG.
So soltanto da produttore a 10 kmh fa 4 impulsi al secondo. poi per il resto non saprei neanche come collegarlo alla scheda.

Provvederò a momenti con la lettura del regolamento e la presentazione. Grazie ancora

cyberhs:
Ti suggerisco una soluzione analogica che usa delle normali ventole a 5V.

Visto il costo esiguo, puoi provare ad inserirle nel canale di aerazione per vedere se il flusso d'aria è sufficiente a muoverle: di solito quelle da 4x4cm sono abbastanza sensibili.

Se girano, puoi misurare la tensione erogata con un ingresso analogico di Arduino su cui collegherai un resistore da 10k: attenzione alla polarità che dipende dal verso del flusso d'aria!

Sei sicuro che con una ventola DC brushless funziona?
Ciao Uwe

Non ho mai provato con una ventola brushless. Però ho visto in passato un progettino con un motorino derivazione modellismo due pulegge e una cinghia utilizzato come lettore di giri su albero motore monofase. Non era molto preciso ma dava un buon valore indicativo. Il principio mi sembra analogo

Uwe, ovviamente mi riferivo alle ventole con motore a spazzole, quindi senza elettronica a bordo.

Leosci8 quel sensore viene usato con le tende estensibili per ritrarle quando c'è troppo vento.

Non è certo di precisione, ma per la tua applicazione potrebbe andare bene.

In pratica è un interruttore che chiude 4 volte per ogni rotazione completa del rotore.

www.mauroalfieri.it/elettronica/anemometro-coppe-portatile-prima-parte.html

Ciberhs questo in allegato è lo sketch che vorrei usare. Non sono ancora arrivati i due sensori ma credo che funzioni. Come ti avevo preannunciato la cosa che mi riesce difficile è modificare lo sketch in modo che funzioni con due anemometri contemporaneamente. Come vedrai tu stesso nello sketch ci sono tre pin digitali in output. Mi serviranno per inserire una variabile che se scende il flusso d'aria sotto i 10 kmh( valore preso a caso) mi darà il pin 13 in HIGH e suonerà il cicalino. Stessa cosa per il pin 10 a cui sarà collegato un cicalino che segnerà l'anomalia al secondo sensore. Il Pin 9 mi serve solo per un led di corretto funzionamento. Invece per il reed del secondo sensore resta il pin 8 libero. L'anemometro è come quello che c'è in foto nel link che hai mandato. Grazie sempre

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const float Pi = 3.141593; 
const float raggio = 0.06; 
const int reedPin = 6;


int Statoreed = 0;  
int Statoreed_old = 0; 

int Conteggio = 0;
unsigned long int TempoStart = 0; 
                               
                              
unsigned long int Tempo = 0; 

unsigned long int TempoMax = 2000;
                

void setup() {
lcd.begin(16, 2);
  pinMode(reedPin, INPUT);
 pinMode(13, OUTPUT);
 pinMode(10, OUTPUT);
 pinMode(9, OUTPUT);
 ;
}


void loop() 
{
Statoreed = digitalRead(reedPin); 

if (Statoreed != Statoreed_old) 
{
  Statoreed_old = Statoreed;  

 if (Statoreed == HIGH)  
  {
    if (Conteggio == 0){ TempoStart =  millis();} 
                                               
 
    Conteggio = Conteggio + 1;      
 
    Tempo = ( millis() - TempoStart); 
 
       
         if (Tempo >=  TempoMax)   
                                   
        {
    
         float deltaTempo = ( Tempo/1000.0); 
      
         float Metris= (Conteggio*Pi*raggio)/deltaTempo; 
    
        lcd.setCursor(0, 0);
         lcd.print("Velocita' m/s = ");
         lcd.print(Metris);
         Conteggio = 0; // azzeriamo il conteggio per nuova lettura
         delay(5000);// attesa per altra lettura         
        }
  }
}
}

@leosci8: in conformità al REGOLAMENTO, punto 7, il codice DEVE essere racchiuso tra i tag CODE (... sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra). Per favore edita il tuo post qui sopra e sistemalo. Grazie.

Guglielmo

Guglielmo perdonami! Sono alle prime armi con i forum. Sto ancora cercando di capire bene come funziona. La prossima volta starò più attento. Grazie per la correzione. Così ho avuto modo di imparare come si mette il codice

... nessun problema, ci mancherebbe :slight_smile:

E' che il codice non racchiuso negli appositi tag, non solo crea post lunghissimi, ma spesso diventa illeggibile e, alcune sequenze di caratteri, possono essere interpretate dal "motore" del forum e trasformate in emoticons.

Prendi ad esempio il codice :

a = (b + 8);

... senza i tag code guarda cosa diventa :

a = (b + 8);

Guglielmo

Si è molto più comodo. L'avevo visto scritto così in altri commenti ma non riuscivo a capirlo perché dal mio pc l'icona si vede in modo diverso rispetto alla guida. Sarà un problema di browser. Cyberhs sono arrivati i sensori. Funziona bene. Tranne un piccolo errore. Avevo dimenticato di scrivere in quale punto del display doveva scrivermi i valori di lettura!! Ora lo correggo pure nel post precedente. C'è solo un piccolo bug ma sto cercando di risolverlo. Non azzera la lettura. Se il sensore si ferma resta con i dati della precedente lettura