Parte1
Físico Teórico - Experimental
Viento
Es la corriente de aire en movimiento que se produce en la atmósfera por causas naturales, es un fenómeno meteorológico originado por los movimientos de rotación (circulación general de los vientos) y traslación de la Tierra (incidencia de los rayos solares).
La radiación solar genera diferencias de temperatura en la atmósfera, lo que da origen al movimiento del aire (convección natural), también y debido a las variaciones de presión, se generan cambios en la densidad del aire.

Movimiento producido por la rotación de la Tierra que desvía la trayectoria de los objetos que se desplazan sobre la superficie terrestre; a la derecha en el hemisferio norte y a la izquierda, en el sur. La aceleración de Coriolis produce un efecto sobre un cuerpo que se está analizando dentro de otro sistema más grande que se encuentra en rotación (cualquier cuerpo u objeto dentro del planeta Tierra por ejemplo), cuando actúa genera movimientos que alteran el desplazamiento del objeto en este caso las masas de aire.
Circulación general del aire
El desigual calentamiento que el Sol ejerce sobre distintas zonas de la Tierra (zonas térmicas de la Tierra) hace que masas de aire con distintas temperaturas se muevan tratando de encontrar equilibrio. Esta desigualdad en la distribución térmica crea una circulación a gran escala, la circulación general del aire.
Vientos Alisios
Si la Tierra no tuviera movimiento de rotación, los vientos soplarían en línea recta, desde el Ecuador a los polos, pero la Tierra gira y esto desvía los vientos, cambiando su desplazamiento hacia la derecha en el hemisferio norte y a la izquierda en el sur, esto es causa del Efecto Coriolis lo que explica la dirección de los vientos alisios, vientos del oeste y de los vientos polares del este.
Los vientos alisios son vientos constantes que soplan del noreste en el hemisferio norte y del sureste en el hemisferio sur, soplan en los niveles bajos de la atmósfera en latitudes próximas al Ecuador, tienen una rapidez de 20 km por hora.
Los vientos del oeste o contra alisios se producen de oeste a este en latitudes medias entre 30 y 60 grados (en ambos hemisferios) y van a una mayor rapidez.
Vientos polares del este, son vientos fríos y secos, que soplan en altas latitudes cerca de los polos.
Rapidez es una cantidad que refleja un trayecto recorrido en un tiempo determinado (distancia entre tiempo).
La velocidad es una magnitud física de carácter vectorial (magnitud, dirección y sentido) que expresa la distancia recorrida por un cuerpo en una unidad de tiempo y además indicando la dirección del movimiento. Sus unidades en el Sistema Internacional de Unidades es el metro por segundo m/s. Por lo tanto la velocidad del viento se puede caracterizar midiendo cuánta rapidez posee una masa de aire y la dirección que lleva.
Dirección del viento
El sentido o dirección del viento se determina con el uso de una veleta, éste es un instrumento que señala la dirección de donde proviene el viento y hacia dónde se dirige, por lo general es una rosa de los vientos, que señalan el norte, sur, este y oeste del lugar donde se encuentre instalada.
El anemómetro es un aparato meteorológico que se usa para la predicción del tiempo atmosférico y específicamente, para medir la rapidez del viento. Así mismo es uno de los instrumentos de vuelo básico.
En meteorología, se usan principalmente los anemómetros de “cazoletas”, especie de diminuto molino de tres aspas con cazoletas sobre las cuales actúa la fuerza del viento, se cuenta el número de vueltas con un sensor (anteriormente se registraba en papel por medio de una aguja con el “anemograma”).
Para medir los cambios repentinos de la velocidad del viento (turbulencia), se recurre al anemómetro de “filamento caliente”, que consiste en un hilo de metal (platino o níquel) calentado eléctricamente, el viento al incidir sobre el cable lo enfría variando así su resistencia eléctrica, por consiguiente, la corriente que atraviesa el hilo es proporcional a la velocidad del viento.
Historia del anemómetro [+]
Leon Battista Alberti
Se atribuye el desarrollo del primer anemómetro mecánico, arquitecto y matemático italiano en 1450, dónde el viento empuja un disco y junto una escala registra la fuerza relativa del viento por medio del ángulo de inclinación del disco. En los años siguientes, muchos otros "reinventaron" este dispositivo, incluyendo el Inglés Wolfius Robert Hooke (en 1709).
Leonardo da Vinci
Tomó el diseño de León Batista mejorándolo alrededor de 1485. Motivado a estudiar la velocidad del viento, debido a su fascinación por el vuelo, en lugar de utilizar un disco Leonardo utilizó una pieza rectangular de madera sobre una estructura de arco, que cuenta con una escala. Cuanto más fuerte sopla el viento, más se inclina el rectángulo de madera asociándose a una marca de la escala.
Anemómetro de presión
Un dispositivo en forma de "U" está lleno de un líquido, un extremo del tubo está doblado de manera horizontal y de cara al flujo de viento, el otro extremo es vertical, el viento entra en el extremo horizontal del tubo, provocando un aumento de presión y por lo tanto varían las columnas de líquido dentro del conducto “U”. La velocidad del viento está indicada por el cambio resultante en el nivel de líquido.
Anemómetros de tres Copas
En 1926, John Patterson, canadiense, desarrolló un anemómetro que usa 3 copas, que giran dependiendo de la rapidez del viento, al contar las vueltas por minuto (RPM) y el radio de giro, se obtiene la rapidez.
Anemómetro moderno
Hoy en día, los nuevos diseños utilizan diversas técnicas, tales como un sensor de "hilo caliente", y especialmente en las unidades portátiles electrónicas.
Formación de un tornado [+]
Mientras que los huracanes se forman en el océano, los tornados se forman en tierra firme y tienen una duración menor, que puede ir desde un minuto hasta poco más de una hora. En todos los continentes se producen tornados, pero son más frecuentes y violentos en EUA, se producen cuando el viento se encuentra con pocos obstáculos como cadenas montañosas. La velocidad de desplazamiento va de 50 a más de 100 km por hora.
Se forman cuando entran en contacto un aire húmedo (frío) con un aire seco (caliente), el choque de estas dos corrientes de aire crea un torbellino, cuando éste entra en contacto con el suelo, el viento puede girar a una velocidad promedio de 16 a 32 km por hora y hasta 400 km por hora. Cuando la velocidad es mayor y no encuentra barreras montañosas el movimiento giratorio se amplifica.
Olas y corrientes marinas [+]
Las olas son movimientos giratorios en el océano (ríos, lagos o cuerpos de agua) se forman por acción del viento (aunque también se forman por sismos en el piso oceánico: tsunamis), hay de dos tipos:
- Oscilatorias: se forman lejos de la costa, su movimiento es circular y continuo. Al navegar se siente un movimiento de sube y baja.
- De transición: se forman cerca de la línea de costa, se desplazan y chocan contra el litoral. Modelan el relieve de las costas, desgastan las rocas y forman playas.
Las olas se aprovechan para generar electricidad, la energía de las olas es llamada energía undimotriz, puede ser capturada y aprovechada para generar electricidad.
Las olas permiten la práctica de deportes acuáticos como el surf, las mejores olas para la práctica de este deporte son California, Hawaii y Australia.
Las corrientes marinas son grandes masas de agua que circulan al interior de los océanos como “ríos” submarinos, pueden ser cálidas o frías. Su formación se debe al movimiento de rotación de la Tierra, la salinidad del mar y a la acción del viento. Son importantes por el traslado de aire cálido o aire frío a diferentes latitudes terrestres.
La energía eólica es la obtenida a partir del viento por efecto del movimiento de corrientes de aire y se transforma en energía eléctrica por medio de un generador. El viento al mover las aspas de los aerogeneradores se convierte en un recurso abundante, renovable, limpio y ayuda a disminuir las emisiones de gases de efecto invernadero al reemplazar termoeléctricas a base de combustibles fósiles.
Es el arco recorrido (θ), expresado en [radianes] por una unidad de tiempo [s]. Expresado de otra manera es la cantidad de vueltas que da un cuerpo por unidad de tiempo.
ω = (θ) / (t) [rad/s]
Es igual a la rapidez angular por el radio del objeto. Se llama tangencial porque es tangente a la trayectoria del cuerpo.
Vt = (ω) (r) [m/s]
Parte2
Digital
Anemómetro
Es un instrumento para medir la rapidez de los gases ya sea en un flujo contenido, como el flujo de aire en un conducto o en flujos no confinados, como el viento atmosférico.
Veleta
Es un instrumento que puede girar en función de la procedencia del viento lo que permite indicar la dirección del viento. Es habitual que la veleta tenga la forma de un animal, como un gallo o un caballo, aunque también puede ser una flecha o cualquier otra cosa. Para que puedan cumplir con su función, las veletas deben instalarse lo más alto posible. De esta manera, se evita que los árboles y las edificaciones alteren la dirección real del viento. Por eso las veletas suelen aparecen en los techos de las casas o en las terrazas de los edificios.
Sensor de efecto Hall
El sensor de efecto Hall (denominado según Edwin Herbert Hall) se sirve del efecto Hall para la medición de campos magnéticos o corrientes eléctricas o para la determinación de la posición en la que está.
Interrupciones en Arduino [+]
A nivel básico, una interrupción es una señal que interrumpe la actividad normal de nuestro Arduino y salta a atenderla. Hay dos eventos que pueden disparar una interrupción:
Un evento hardware previamente definido.
Un evento programado o “Timer”
Cuando un evento dispara una interrupción, la ejecución normal del Arduino se suspende y salta para ejecutar una función especial que llamamos Interrupt Service Handler o ISH (Servicio de gestión de interrupción).
Cuando el ISH finaliza, el procesador vuelve al punto donde lo dejó y sigue con lo que estaba como si no hubiese pasado nada. Para definir una interrupción necesitamos tres condiciones:
Un pin de Arduino que reciba la señal de disparo
Una condición de disparo
Una función que se ejecuta cuando se dispara la interrupción (Llamada call back function).
Dependiendo del modelo Arduino que utilicemos, tendremos varias posibilidades:
Modelo Arduino |
Int 0 |
Int 1 |
Int 2 |
Int 3 |
Int 4 |
Int 5 |
Uno |
Pin 2 |
Pin 3 |
|
|
|
|
Mega |
Pin 2 |
Pin 3 |
Pin 21 |
Pin 20 |
Pin 19 |
Pin 18 |
En cuanto a la condición de disparo de interrupción puede ser con los comandos siguientes:
LOW: la interrupción se dispara cuando el pin es LOW.
CHANGE: se dispara cuando pase de HIGH a LOW o viceversa.
RISING: dispara en el flanco de subida (Cuando pasa de LOW a HIGH).
FALLING: dispara en el flanco de bajada (Cuando pasa de HIGH a LOW).
DUE: se dispara cuando el pin está HIGH.
Si nuestra call back function se llama Funcion1 (), para activar la interrupción usaremos:
attachInterrupt(interrupt, ISR, mode);
Donde Interrupt es el número de la interrupción, ISR será Funcion1 y mode es una de las condiciones que hemos visto arriba. Así en un Arduino UNO podría ser:
attachInterrupt(0, Funcion1, RISING);
Diagrama de conexión del sensor magnético [+]
Código del anemómetro [+]
El programa se basa en calcular el tiempo que el anemómetro se tarda en dar una vuelta sobre su propio eje, lo que permite calcular la velocidad del viento. Cada vez que el sensor detecta el imán (el sensor reconoce el campo magnético del imán cuando pasa sobre él), se toma como una vuelta y al tener dos tiempos, el tiempo de la primer detección y el tiempo de la segunda detección, podemos calcular el tiempo total que tarda el anemómetro en dar una vuelta. Para tener una mejor certeza de los datos, el cálculo de la velocidad se entrega como el promedio de veinte interrupciones.
//palanca 5.5cm
const int pinAnemometro = 3; //variable del pin a conectar
unsigned long tiempoAntes; //variable de tiempo inicial
unsigned long tiempo=0; //variable del tiempo por vuelta
unsigned long sumaTiempo=0; //variable de sumatorio para promedio
byte contador=0; //contador de interrupciones
bool bandera=0;
void setup() {
pinMode(pinAnemometro, INPUT); //declaramos el pin de entrada
Serial.begin(9600); //iniciamos comunicación serial
//declaramos una interrupción para el pin del anemometro
attachInterrupt(digitalPinToInterrupt(pinAnemometro), interrupcionViento,RISING );
tiempoAntes=millis(); //fijamos el tiempo de referencia
}
void loop() {
}
void interrupcionViento() {
if( millis()>(50+tiempoAntes)){
bandera=!bandera;
if(bandera==0){
tiempo=(millis()-tiempoAntes);
tiempoAntes=millis();
sumaTiempo+=tiempo;
if(contador<=19){
contador++;
Serial.println(contador);
}else{
contador=0;
float velocidad=(2*3.1416*0.05*3.6)/((sumaTiempo/1000.0)/20);
Serial.print(velocidad);
Serial.println(" Km/h");
sumaTiempo=0;
}
}
}
}
Una leva es un dispositivo mecánico que se caracteriza por tener una distancia única desde un centro de rotación hacia cada punto de su perímetro, por ende según el ángulo en que medimos tendremos una distancia distinta.
Sensor de efecto hall analógico [+]
El sensor de efecto hall puede tener dos diferentes tipos de salida, una analógica y otra digital, la digital nos indicará la presencia de un imán y con la analógica podremos medir la intensidad del campo magnético. Aunque si mantenemos un campo magnético constante, como es el caso cuando usamos el mismo imán, lo que podemos medir es que tal lejos está el imán del sensor, es decir podremos medir la distancia. Y esa distancia la podemos relacionar a un ángulo gracias a que los imanes estaran montados en el perímetro de la leva.
El programa de la veleta se basa en medir la distancia que existe entre los imanes que están alrededor de la veleta y el sensor de efecto Hall, dado que cada distancia corresponde a una diferente dirección del viento se realiza un promedio de las mediciones para tener un dato más fiable.
int sumaVeleta=0; //variable para acumular los datos
const byte pinDireccion = A2; //pin Analógico
int direccion = 0; //variable de dirección
int tiempoEnvio=30; //tiempo entre envíos
//función para calcular la dirección del viento
int leerDireccion(int suma){
suma=suma/tiempoEnvio;
if(suma>=415 && suma< 440) return 0;
if(suma>=440 && suma< 490) return 45;
if(suma>=490 && suma< 510) return 90;
if(suma>=540 && suma< 550) return 135;
if(suma>=510 && suma< 525) return 18;
if(suma>=525 && suma< 540) return 225;
if(suma>=590 && suma< 615) return 270;
if(suma>=615 && suma< 620) return 315;
}
void setup () {
Serial.begin(9600); //iniciamos comunicación serial
}
void loop () {
for(int i=0;i<=tiempoEnvio;i++){ //ciclo para cumplir el tiempo de envío
sumaVeleta+=analogRead(pinDireccion); //sumando la dirección
delay(1000);
}
direccion=leerDireccion(sumaVeleta); //dirección promedio
sumaVeleta=0;
Serial.print("dirección: ");
Serial.println(dirección);
}
Parte1
Físico Teórico - Experimental
Viento
Es la corriente de aire en movimiento que se produce en la atmósfera por causas naturales, es un fenómeno meteorológico originado por los movimientos de rotación (circulación general de los vientos) y traslación de la Tierra (incidencia de los rayos solares).
La radiación solar genera diferencias de temperatura en la atmósfera, lo que da origen al movimiento del aire (convección natural), también y debido a las variaciones de presión, se generan cambios en la densidad del aire.

Movimiento producido por la rotación de la Tierra que desvía la trayectoria de los objetos que se desplazan sobre la superficie terrestre; a la derecha en el hemisferio norte y a la izquierda, en el sur. La aceleración de Coriolis produce un efecto sobre un cuerpo que se está analizando dentro de otro sistema más grande que se encuentra en rotación (cualquier cuerpo u objeto dentro del planeta Tierra por ejemplo), cuando actúa genera movimientos que alteran el desplazamiento del objeto en este caso las masas de aire.
Circulación general del aire
El desigual calentamiento que el Sol ejerce sobre distintas zonas de la Tierra (zonas térmicas de la Tierra) hace que masas de aire con distintas temperaturas se muevan tratando de encontrar equilibrio. Esta desigualdad en la distribución térmica crea una circulación a gran escala, la circulación general del aire.
Vientos Alisios
Si la Tierra no tuviera movimiento de rotación, los vientos soplarían en línea recta, desde el Ecuador a los polos, pero la Tierra gira y esto desvía los vientos, cambiando su desplazamiento hacia la derecha en el hemisferio norte y a la izquierda en el sur, esto es causa del Efecto Coriolis lo que explica la dirección de los vientos alisios, vientos del oeste y de los vientos polares del este.
Los vientos alisios son vientos constantes que soplan del noreste en el hemisferio norte y del sureste en el hemisferio sur, soplan en los niveles bajos de la atmósfera en latitudes próximas al Ecuador, tienen una rapidez de 20 km por hora.
Los vientos del oeste o contra alisios se producen de oeste a este en latitudes medias entre 30 y 60 grados (en ambos hemisferios) y van a una mayor rapidez.
Vientos polares del este, son vientos fríos y secos, que soplan en altas latitudes cerca de los polos.
Rapidez es una cantidad que refleja un trayecto recorrido en un tiempo determinado (distancia entre tiempo).
La velocidad es una magnitud física de carácter vectorial (magnitud, dirección y sentido) que expresa la distancia recorrida por un cuerpo en una unidad de tiempo y además indicando la dirección del movimiento. Sus unidades en el Sistema Internacional de Unidades es el metro por segundo m/s. Por lo tanto la velocidad del viento se puede caracterizar midiendo cuánta rapidez posee una masa de aire y la dirección que lleva.
Dirección del viento
El sentido o dirección del viento se determina con el uso de una veleta, éste es un instrumento que señala la dirección de donde proviene el viento y hacia dónde se dirige, por lo general es una rosa de los vientos, que señalan el norte, sur, este y oeste del lugar donde se encuentre instalada.
El anemómetro es un aparato meteorológico que se usa para la predicción del tiempo atmosférico y específicamente, para medir la rapidez del viento. Así mismo es uno de los instrumentos de vuelo básico.
En meteorología, se usan principalmente los anemómetros de “cazoletas”, especie de diminuto molino de tres aspas con cazoletas sobre las cuales actúa la fuerza del viento, se cuenta el número de vueltas con un sensor (anteriormente se registraba en papel por medio de una aguja con el “anemograma”).
Para medir los cambios repentinos de la velocidad del viento (turbulencia), se recurre al anemómetro de “filamento caliente”, que consiste en un hilo de metal (platino o níquel) calentado eléctricamente, el viento al incidir sobre el cable lo enfría variando así su resistencia eléctrica, por consiguiente, la corriente que atraviesa el hilo es proporcional a la velocidad del viento.
Historia del anemómetro [+]
Leon Battista Alberti
Se atribuye el desarrollo del primer anemómetro mecánico, arquitecto y matemático italiano en 1450, dónde el viento empuja un disco y junto una escala registra la fuerza relativa del viento por medio del ángulo de inclinación del disco. En los años siguientes, muchos otros "reinventaron" este dispositivo, incluyendo el Inglés Wolfius Robert Hooke (en 1709).
Leonardo da Vinci
Tomó el diseño de León Batista mejorándolo alrededor de 1485. Motivado a estudiar la velocidad del viento, debido a su fascinación por el vuelo, en lugar de utilizar un disco Leonardo utilizó una pieza rectangular de madera sobre una estructura de arco, que cuenta con una escala. Cuanto más fuerte sopla el viento, más se inclina el rectángulo de madera asociándose a una marca de la escala.
Anemómetro de presión
Un dispositivo en forma de "U" está lleno de un líquido, un extremo del tubo está doblado de manera horizontal y de cara al flujo de viento, el otro extremo es vertical, el viento entra en el extremo horizontal del tubo, provocando un aumento de presión y por lo tanto varían las columnas de líquido dentro del conducto “U”. La velocidad del viento está indicada por el cambio resultante en el nivel de líquido.
Anemómetros de tres Copas
En 1926, John Patterson, canadiense, desarrolló un anemómetro que usa 3 copas, que giran dependiendo de la rapidez del viento, al contar las vueltas por minuto (RPM) y el radio de giro, se obtiene la rapidez.
Anemómetro moderno
Hoy en día, los nuevos diseños utilizan diversas técnicas, tales como un sensor de "hilo caliente", y especialmente en las unidades portátiles electrónicas.
Formación de un tornado [+]
Mientras que los huracanes se forman en el océano, los tornados se forman en tierra firme y tienen una duración menor, que puede ir desde un minuto hasta poco más de una hora. En todos los continentes se producen tornados, pero son más frecuentes y violentos en EUA, se producen cuando el viento se encuentra con pocos obstáculos como cadenas montañosas. La velocidad de desplazamiento va de 50 a más de 100 km por hora.
Se forman cuando entran en contacto un aire húmedo (frío) con un aire seco (caliente), el choque de estas dos corrientes de aire crea un torbellino, cuando éste entra en contacto con el suelo, el viento puede girar a una velocidad promedio de 16 a 32 km por hora y hasta 400 km por hora. Cuando la velocidad es mayor y no encuentra barreras montañosas el movimiento giratorio se amplifica.
Olas y corrientes marinas [+]
Las olas son movimientos giratorios en el océano (ríos, lagos o cuerpos de agua) se forman por acción del viento (aunque también se forman por sismos en el piso oceánico: tsunamis), hay de dos tipos:
- Oscilatorias: se forman lejos de la costa, su movimiento es circular y continuo. Al navegar se siente un movimiento de sube y baja.
- De transición: Se forman cerca de la línea de costa, se desplazan y chocan contra el litoral. Modelan el relieve de las costas, desgastan las rocas y forman playas.
Las olas se aprovechan para generar electricidad, la energía de las olas es llamada energía undimotriz, puede ser capturada y aprovechada para generar electricidad.
Las olas permiten la práctica de deportes acuáticos como el surf, las mejores olas para la práctica de este deporte son California, Hawaii y Australia.
Las corrientes marinas son grandes masas de agua que circulan al interior de los océanos como “ríos” submarinos, pueden ser cálidas o frías. Su formación se debe al movimiento de rotación de la Tierra, la salinidad del mar y a la acción del viento. Son importantes por el traslado de aire cálido o aire frío a diferentes latitudes terrestres.
La energía eólica es la obtenida a partir del viento por efecto del movimiento de corrientes de aire y se transforma en energía eléctrica por medio de un generador. El viento al mover las aspas de los aerogeneradores se convierte en un recurso abundante, renovable, limpio y ayuda a disminuir las emisiones de gases de efecto invernadero al reemplazar termoeléctricas a base de combustibles fósiles.
Es el arco recorrido (θ), expresado en [radianes] por una unidad de tiempo [s]. Expresado de otra manera es la cantidad de vueltas que da un cuerpo por unidad de tiempo.
ω = (θ) / (t) [rad/s]
Es igual a la rapidez angular por el radio del objeto. Se llama tangencial porque es tangente a la trayectoria del cuerpo.
Vt = (ω) (r) [m/s]
Parte2
Digital
Anemómetro
Es un instrumento para medir la rapidez de los gases ya sea en un flujo contenido, como el flujo de aire en un conducto o en flujos no confinados, como el viento atmosférico.
Veleta
Es un instrumento que puede girar en función de la procedencia del viento lo que permite indicar la dirección del viento. Es habitual que la veleta tenga la forma de un animal, como un gallo o un caballo, aunque también puede ser una flecha o cualquier otra cosa. Para que puedan cumplir con su función, las veletas deben instalarse lo más alto posible. De esta manera, se evita que los árboles y las edificaciones alteren la dirección real del viento. Por eso las veletas suelen aparecen en los techos de las casas o en las terrazas de los edificios.
Sensor de efecto Hall
El sensor de efecto Hall (denominado según Edwin Herbert Hall) se sirve del efecto Hall para la medición de campos magnéticos o corrientes eléctricas o para la determinación de la posición en la que está.
Interrupciones en Arduino [+]
A nivel básico, una interrupción es una señal que interrumpe la actividad normal de nuestro Arduino y salta a atenderla. Hay dos eventos que pueden disparar una interrupción:
Un evento hardware previamente definido.
Un evento programado o “Timer”
Cuando un evento dispara una interrupción, la ejecución normal del Arduino se suspende y salta para ejecutar una función especial que llamamos Interrupt Service Handler o ISH (Servicio de gestión de interrupción).
Cuando el ISH finaliza, el procesador vuelve al punto donde lo dejó y sigue con lo que estaba como si no hubiese pasado nada. Para definir una interrupción necesitamos tres condiciones:
Un pin de Arduino que reciba la señal de disparo
Una condición de disparo
Una función que se ejecuta cuando se dispara la interrupción (Llamada call back function).
Dependiendo del modelo Arduino que utilicemos, tendremos varias posibilidades:
Modelo Arduino |
Int 0 |
Int 1 |
Int 2 |
Int 3 |
Int 4 |
Int 5 |
Uno |
Pin 2 |
Pin 3 |
|
|
|
|
Mega |
Pin 2 |
Pin 3 |
Pin 21 |
Pin 20 |
Pin 19 |
Pin 18 |
En cuanto a la condición de disparo de interrupción puede ser con los comandos siguientes:
LOW: la interrupción se dispara cuando el pin es LOW.
CHANGE: se dispara cuando pase de HIGH a LOW o viceversa.
RISING: dispara en el flanco de subida (Cuando pasa de LOW a HIGH).
FALLING: dispara en el flanco de bajada (Cuando pasa de HIGH a LOW).
DUE: se dispara cuando el pin está HIGH.
Si nuestra call back function se llama Funcion1 (), para activar la interrupción usaremos:
attachInterrupt(interrupt, ISR, mode);
Donde Interrupt es el número de la interrupción, ISR será Funcion1 y mode es una de las condiciones que hemos visto arriba. Así en un Arduino UNO podría ser:
attachInterrupt(0, Funcion1, RISING);
Diagrama de conexión del sensor magnético [+]
Código del anemómetro [+]
El programa se basa en calcular el tiempo que el anemómetro se tarda en dar una vuelta sobre su propio eje, lo que permite calcular la velocidad del viento. Cada vez que el sensor detecta el imán (el sensor reconoce el campo magnético del imán cuando pasa sobre él), se toma como una vuelta y al tener dos tiempos, el tiempo de la primer detección y el tiempo de la segunda detección, podemos calcular el tiempo total que tarda el anemómetro en dar una vuelta. Para tener una mejor certeza de los datos, el cálculo de la velocidad se entrega como el promedio de veinte interrupciones.
//palanca 5.5cm
const int pinAnemometro = 3; //variable del pin a conectar
unsigned long tiempoAntes; //variable de tiempo inicial
unsigned long tiempo=0; //variable del tiempo por vuelta
unsigned long sumaTiempo=0; //variable de sumatorio para promedio
byte contador=0; //contador de interrupciones
bool bandera=0;
void setup() {
pinMode(pinAnemometro, INPUT); //declaramos el pin de entrada
Serial.begin(9600); //iniciamos comunicación serial
//declaramos una interrupción para el pin del anemometro
attachInterrupt(digitalPinToInterrupt(pinAnemometro), interrupcionViento,RISING );
tiempoAntes=millis(); //fijamos el tiempo de referencia
}
void loop() {
}
void interrupcionViento() {
if( millis()>(50+tiempoAntes)){
bandera=!bandera;
if(bandera==0){
tiempo=(millis()-tiempoAntes);
tiempoAntes=millis();
sumaTiempo+=tiempo;
if(contador<=19){
contador++;
Serial.println(contador);
}else{
contador=0;
float velocidad=(2*3.1416*0.05*3.6)/((sumaTiempo/1000.0)/20);
Serial.print(velocidad);
Serial.println(" Km/h");
sumaTiempo=0;
}
}
}
}
Una leva es un dispositivo mecánico que se caracteriza por tener una distancia única desde un centro de rotación hacia cada punto de su perímetro, por ende según el ángulo en que medimos tendremos una distancia distinta.
Sensor de efecto hall analógico [+]
El sensor de efecto hall puede tener dos diferentes tipos de salida, una analógica y otra digital, la digital nos indicará la presencia de un imán y con la analógica podremos medir la intensidad del campo magnético. Aunque si mantenemos un campo magnético constante, como es el caso cuando usamos el mismo imán, lo que podemos medir es que tal lejos está el imán del sensor, es decir podremos medir la distancia. Y esa distancia la podemos relacionar a un ángulo gracias a que los imanes estaran montados en el perímetro de la leva.
El programa de la veleta se basa en medir la distancia que existe entre los imanes que están alrededor de la veleta y el sensor de efecto Hall, dado que cada distancia corresponde a una diferente dirección del viento se realiza un promedio de las mediciones para tener un dato más fiable.
int sumaVeleta=0; //variable para acumular los datos
const byte pinDireccion = A2; //pin Analógico
int direccion = 0; //variable de dirección
int tiempoEnvio=30; //tiempo entre envíos
//función para calcular la dirección del viento
int leerDireccion(int suma){
suma=suma/tiempoEnvio;
if(suma>=415 && suma< 440) return 0;
if(suma>=440 && suma< 490) return 45;
if(suma>=490 && suma< 510) return 90;
if(suma>=540 && suma< 550) return 135;
if(suma>=510 && suma< 525) return 18;
if(suma>=525 && suma< 540) return 225;
if(suma>=590 && suma< 615) return 270;
if(suma>=615 && suma< 620) return 315;
}
void setup () {
Serial.begin(9600); //iniciamos comunicación serial
}
void loop () {
for(int i=0;i<=tiempoEnvio;i++){ //ciclo para cumplir el tiempo de envío
sumaVeleta+=analogRead(pinDireccion); //sumando la dirección
delay(1000);
}
direccion=leerDireccion(sumaVeleta); //dirección promedio
sumaVeleta=0;
Serial.print("dirección: ");
Serial.println(dirección);
}