Problema con el código para anemómetro sensor Hall y lector LCD 16x2

Bueno, a ver si con este nuevo mensaje hago las cosas mejor.
Me presento, soy nuevo en el foro y con muy poca experencia en Arduino a pesar de haber leído mucho y alguna que otra práctica.

He construido con una 3D las partes de un anemómetro con la idea de hacerlo funcionar con un sensor hall, pero no paso de las primeras líneas de programación, en cuanto me tengo que meter en el “void loop” para el cálculo de la velocidad y de la velocidad máxima, los dos parámetros que me gustaría medir, y me pierdo completamente. Reconozco que no sé como hacerlo.

Aquí va el pequeño trozo de código que he conseguido hacer:

/anemómetro con LCD
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12) //pines a usar con el LCD

int contador=0;                //definir contador y ponerlo a 0
float radioenCm=8.35;     //Radio de las aspas
float pi=3.1416;
float Vel_Max=0;
int tiempo1=0;
int tiempo2=0;
int tiempo3=0;
float velocidad=0


void setup() {
    pinMode(4,OUTPUT);//defino salida de datos
    pinMode(3,INPUT);  //defino toma de datos del sensor Hall
    lcd.begin(16,2;   //Defino pantalla LCD
   
}

void loop() {
  // put your main code here, to run repeatedly:

}

Buehhh ..

Damos por hecho que el sensor genera los pulsos que son necesarios.

Podríamos hacer una chapuza con un loop que verificase si la entrada del sensor está en HIGH or LOW e ir contando, pero lo suyo es hacerlo con una interrupción ...

Si te vas a meter a fondo en el asunto yo te recomiendo:

1.- Guarda el anemómetro en sitio seguro.
2.- Mírate los tutoriales básicos de programación en C (por cierto, ¿tienes ya el arduino?. ¿Qué modelo es?)
3.- Prueba a hacer un programa que detecte que un interruptor conectado a el arduino está en alto o en bajo. Después nos metemos en harina.
4.- Paciencia.

Saludos.

Hola Vffgaston, sí, el arduino lo tengo y en dos versiones, arduino uno y arduino nano.
Por cuestiones de tamaño había pensando hacerlo con el nano.

En cuanto a hacerlo con una interrupción, ¿te refieres a una de tipo reed o infrarroja?

Dependiendo del tipo de interrupción a usar debo remodelar las partes del anemómetro y como tengo duda de cual usar, teniendo los dos tipos de sensores ¿cual me recomendarías?, yo particularmente me decantaría por la interrupción por infrarrojos, pero espero consejos.

Muchas gracias, Juanma

Hola,

La interrupción es un concepto de software (un código específico se ejecuta cuando una señal externa -sensor- cambia). en principio da lo mismo que el sensor del que provenga sea de uno u otro tipo. Otra cosa es que la señal haya que tratarla mínimamente desde el punto de vista eléctrico.

Hazme caso, si te vas a encargar del código olvídate del hardware y centraté en aprender lo mínimo de software.

Saludos

Intentará darte una empujón porque te veo muy perdido con todo esto y tal vez te resulte mas difícil de lo esperado.

Siempre insisto que para quien no sabe un tema lo mejor es aprender y estudiar. Seguramente estarás de acuerdo con ello.
Lo mismo es que nunca menosprecies algo porque simplemente lo veas en Internet y luzca como simple.
Son dos cosas sabidas pero que repito a cada momento.
Lo tercero es que porque pedir ayuda si uno puede ayudarse a si mismo buscando lo que desea:
Mira.. si en Google pones : Arduino anemometro (sin acento) surgirán muchos tutoriales y códigos pero si buscas con un traductor la palabra anemometer en inglés encontrarás muchos mas.
Asi que Arduino anemometer da resultados como éste: DIY Arduino Wind Speed Meter Anemometer Project

Se que está en inglés pero suponiendo no lo entiendas Chrome te da la opción de traducirlo asi que podrás entender digamos la idea general.

Miralo, y luego vuelve con las dudas.
es muy similar a lo que intentas hacer.