domingo, 15 de mayo de 2016

ESTACIÓN METEOROLÓGICA ALIMENTADA CON ENERGÍA SOLAR , ARDUINO Y BLYNK (Parte 5)



CÓDIGO  DE PROGRAMACIÓN PARA LA VELETA Y EL ANEMÓMETRO .


Continuo creando la estación meteorológica, hoy toca programar , la dirección del viento , y velocidad del viento, con anemómetro y una veleta ,





Lo primero es buscar la información técnica del anemómetro y la veleta, el sensor de la dirección del viento trabaja en un rango de alimentación de 7 a 24v DC , y el rango de salida es de 0.4 a 2v, siendo 0.4v  como ,0 grados dirección NORTE, opté por este rango por que es el  mas próximo a las entradas analógicas del ARDUINO , que van desde 0 - 5v.
   La formula para el escalado de la variable y  determinar las dirección del viento con 16 posiciones ,en la roza de los vientos, es la siguiente 

Variable dirección del viento=(Imput de voltaje-0.4)/16*360

He creado una función para tener el código mas limpio y legible , ya que se esta complicado , y poder solucionar cualquier error fácil mente, al final de esta entrada pondré el código.

Para el sensor de la velocidad del viento, lo mismo la tensión de alimentación esta entre 7 y 24 vDC, y el rango de salida del sensor 0 a 5v, que me viene muy bien para el rango de la señal analógica del ARDUINO como antes aclare, donde 0 v es 0m/s, el ramgo de medida del anemómetro es de 0 a 34.4m/s. la formula para el calculo  de la variable la siguiente :

Variable de la velocidad del viento =((IMPUT voltaje -0.4)*1.6)*34.4

También cree una función el código esta mas abajo.



 */CODIGO VELETA , POR CELSO DEVORA.

 String direccionViento(){
    
   String direccion;
   float m= analogRead(A8);
   float volt =m*5/1024;
  
 if (volt>=0.40 && volt<0.52){
  direccion ="NORTE";
  return direccion ;
  }
 else if (volt>=0.52 && volt<0.62){
 direccion ="NNE";
 return direccion ;
  }
 else if (volt>=0.62 && volt<0.72){
 direccion ="NE";
 return direccion ; 
 }
 else if (volt>=0.72 && volt<0.82){
  direccion ="ENE";
 return direccion ;
 }
 else if (volt>=0.82 && volt<0.92){
  direccion ="ESTE";
 return direccion ;
 }
 else if (volt>=0.92 && volt<1.02){
  direccion ="ESE";
 return direccion ;
 }
 else if (volt>=1.02 && volt<1.12){
  direccion ="SE";
 return direccion ;
 }
 else if (volt>=1.12 && volt<1.22){
  direccion ="SSE";
 return direccion ;
 }
 else if (volt>=1.22 && volt<1.32){
  direccion ="SUR";
 return direccion ;
 }
 else if (volt>=1.32 && volt<1.42){
  direccion ="SSO";
 return direccion ;
 }
 else if (volt>=1.42 && volt<1.52){
  direccion ="SO";
 return direccion ;
 }
 else if (volt>=1.52 && volt<1.62){
  direccion ="OSO";
 return direccion ;
 }
 else if (volt>=1.62 && volt<1.72){
  direccion ="OESTE";
 return direccion ;
 }
 else if (volt>=1.72 && volt<1.82){
  direccion ="ONO";
 return direccion ;
 }
 else if (volt>=1.82 && volt<1.92){
  direccion ="NO";
 return direccion ;
 }
 else if (volt>=1.92 && volt<=2.06){
  direccion ="NNO";
 return direccion ;
  Serial.println("NNO");
 }
// delay (1000);
 }

 float direGrados (){
 float m= analogRead(A8);
 float volt =m*5/1024;
 float grados=(((volt-0.4)/16)*360)*10;
  return grados;

 }

Esta es la función para el anemómetro:


float velocidadViento(){
   float  m= analogRead(A10);
   float volt =m*5/1024;
  float velo=(volt-0.024)/1.6*32.4;   ///0.024
    if(velo<=0){
      velo=0;
    }
  
return velo;

}



lunes, 9 de mayo de 2016

sábado, 7 de mayo de 2016

REGISTROS DE DATOS-DATA LOGGER EN GOOGLE DRIVER CON ARDUINO


REGISTROS DE DATOS-DATA LOGGER-GOOGLE DRIVER.

Los registros de datos , en un estación meteorológica es fundamental para su analizis, y sacar conclusiones, y realizar  gráficos,etc.

En este data logger ,los datos serán enviados , a una hoja de calculo en GOOGLE DRIVE directamente desde nuestro ARDUINO, no  fue fácil ,ya que lo que encontré en Internet no estaban total mente terminado, pero entre un tutoríal y otro, uniendo concepto por fin funciono .
Con GOOGLE DRIVER , tenemos una gran herramienta y ademas gratuita, donde podemos subir nuestro datos y almacenarlos , 

1. Lo primero que tenemos que hacer es abrir una cuenta en GOOGLE DRIVE  y crear un formulario







Renombramos el formulario con el nombre del proyecto que mas le guste , en este proyecto sera EjemploMeteo.








Seguidamente:

A) creamos unas preguntas con el nombre de las variables.
B) En el formato de la repuesta, ponemos respuesta corta.
C)Agregamos otra pregunta,y seguimos los pasos anteriores.





Crear  pregunta


Copiamos la dirección y la guardamos en el bloc de notas, por que mas adelante nos hace falta.








Se crea una hoja de calculo ,mirando las respuesta, y en opciones crear hoja de calculo, esta  sera donde ARDUINO ,registre los datos.




Hoja de Calculo










Se edita la programación del formulario, poniéndolo en modo vista previa, ponemos  el curso sobre donde va la respuestas,clic derecho ratón y inspeccionar. 





Cuando lo tengamos editado, para ser mas fácil encontrar el comando que queremos , ponemos algo en la opción entrar respuesta que marque con una A, y nos fijamos en que linea de programación sale la entrada,marcada con la opción B, seguidamente copiamos en el porta papeles dicho comando por que mas adelante nos sirve, para la otra entrada de respuesta se hace lo mismo.






Para la Temperatura seria la linea:

<input type="hidden" name="entry.2066525602" jsname="L9xHkb" value="">

Apuntaríamos "entry.2066525602".


Para la Humedad seria :

<input type="hidden" name="entry.430821367" jsname="L9xHkb" value="1">

Apuntaríamos "entry.430821367" .

Si queremos probar la dirección y que los pasos asta aquí están bien ejecutamos estos en la barra del navegador .
Se cambia lo siguiente:
    &submit=Submit

 : viewform -> formResponse

https://docs.google.com/forms/d/1wv_XIDkz0UcMFjg3tu3gpAcIR_gmWqhE19mzVwhSVYM/formResponse?entry.2066525602=100&entry.430821367=200&submit=Submit





Tenemos que abrir una cuenta en PushingBox  ,utilizando la cuenta de GOOGLE , para poder direccionamiento nuestros datos GOOGLE DRIVER , ya no es posible hacer  lo directamente, nuestro ARDUINO no puede trabajar en https.








Creamos un servicio en My Services. 





Seleccionamos esta opción:





Rellenamos las casillas siguiendo el siguiente orden:

a) Ponemos el nombre del proyecto.
b)colocamos la direccion con la Key de nuestro formulario con fromResponse?,al final

https://docs.google.com/forms/d/1wv_XIDkz0UcMFjg3tu3gpAcIR_gmWqhE19mzVwhSVYM/fomResponse?

c) el tipo GET o POS nosotros ponemos POS .






Seguidamente creamos nuestro Scenario en :






Copiar el ID y guardarlo lo tendremos que usar mas a delante.







Añadir una acción en el Scenario.





https://docs.google.com/forms/d/1wv_XIDkz0UcMFjg3tu3gpAcIR_gmWqhE19mzVwhSVYM/formResponse?


En la próxima entrada de bloc ,enviaremos los datos del ARDUINO directamente GOOGLE DRIVER.

referencia:
http://electoy.tistory.com/170






sábado, 16 de abril de 2016

ESTACIÓN METEOROLÓGICA ALIMENTADA CON ENERGÍA SOLAR , ARDUINO Y BLYNK (Parte 1)




Cada día la contaminación es una parte de nuestra vida día a día, por lo que he realizado una pequeña estación meteorológica , para medir algunos parámetros de las condiciones ambientales en donde vivimos.

Las Condiciones medio ambientales.

Esta situación es empeorada por el rápido crecimiento demográfico de las urbes. Los daños o costos ambientales resultantes ponen en peligro la futura productividad de las ciudades y la salud y calidad de vida de sus ciudadanos.
Las ciudades se han vuelto las principales “zonas rojas ambientales“ que requieren urgentemente de atención especial en las evaluaciones ambientales regionales y de proyecto, y en la planificación y administración ambiental a escala regional metropolitana.
Los sistemas y servicios urbanos (p.ej. agua potable, saneamiento, transporte público y caminos) se congestionan cada vez más debido al crecimiento demográfico, comercial e industrial, junto con una mala administración urbana.
Los recursos naturales (agua, aire, bosques, minerales, tierra), vitales para el desarrollo económico de las ciudades y de futuras generaciones, se pierden o malgastan mediante políticas urbanas inapropiadas.
Aumenta constantemente el radio de impacto de las ciudades sobre los recursos que se hallan lejos de sus fronteras. Es más, las áreas urbanas se encuentran inundadas por sus propios desechos y asfixiadas por sus propias emisiones como resultado de políticas y prácticas inadecuadas de control de la contaminación y manejo de los desechos.
Muchos impacto negativos se asocian con las condiciones antes descritas. Los mayores riesgos de salud en muchas ciudades de los países en desarrollo, aún se encuentran ligados al tradicional problema de la eliminación de la excreta.
Al mismo tiempo, existe una creciente preocupación en torno a los riesgos que para la salud representa la modernización debido a los desechos y emisiones tóxicos, traumas (accidentes de tránsito y otros, muertes violentas), y el estrés urbano.
La escala espacial de estos impacto va desde el hogar hasta la comunidad entera, el área urbana y en algunos casos, las regiones más allá. Los impacto de mayor preocupación aún se encuentran a menudo a escala doméstica y comunitaria, y se relacionan con las deficiencias de infraestructura y servicios urbanos.
Los habitantes de los urbes, particularmente los pobres, soportan la mayoría de las condiciones del ambiente deteriorado mediante la pérdida de salud y productividad y la disminución de la calidad de vida.
Se elevan los costos de la explotación de los recursos (p.ej. el costo de nuevas fuentes de agua potable) a medida que se acaban los recursos económicamente asequibles y de alta calidad.

Las emisiones relacionadas con los problemas ambientales regionales y globales, se generan cada vez en las áreas urbanas o como resultado de la demanda urbana (por ejemplo, la urbanización en sí podría ser un factor principal en la demanda mundial de energía durante la próxima generación).

https://es.wikipedia.org/wiki/Problemas_medioambientales_en_%C3%A1reas_urbanas

ESTACIÓN METEOROLÓGICA ALIMENTADA CON ENERGÍA SOLAR , ARDUINO Y BLYNK (Parte 2)


Empezaremos la construcción, de la estructura donde colocare la placa fotovoltáica , y el actuador linear, sera con tubo de PVC , de instalaciones de fontanería , de 32 mm, pongo imágenes para qeu puedan seguir su realización. 









































Actuador Lineal

ESTACIÓN METEOROLÓGICA ALIMENTADA CON ENERGÍA SOLAR , ARDUINO Y BLYNK (Parte 3)

SEGUIDOR SOLAR.

En esta tercera parte , construiremos la parte del programa referente el seguidor solar, que estará compuesto por dos FOTORESISTORES LDR.La LDR es un dispositivo electrónico semiconductor empleado para producir una señal de salida en respuesta a otra señal de entrada (una resistencia) que tiene la propiedad de variar su valor en función de la luz. En presencia de una gran intensidad de luz su resistencia eléctrica es baja, del orden de los 100 Ω. En cambio a oscuras, sin luz, su resistencia es alta, del orden de 10 MΩ.


Una Fotorresistencia está hecha de un semiconductor de alta resistencia. Si la luz que incide en el dispositivo es de alta frecuencia, los fotones son absorbidos por la elasticidad del semiconductor dando a los electrones la energía suficiente para saltar a la banda de conducción. El electrón libre que resulta (y su agujero asociado) conduce la electricidad, de tal modo que disminuye la resistencia.

Un dispositivo fotoeléctrico puede ser intrínseco o extrínseco. En los dispositivos intrínsecos, los únicos electrones disponibles están en la banda de la valencia, por tanto el fotón debe tener bastante energía para excitar un electrón a través de toda la banda prohibida. Los dispositivos extrínsecos tienen impurezas añadidas, que tienen energía de estado más cercano a la banda de conducción, ya que los electrones no han saltar lejos, los fotones con menos energía (es decir, los de mayor longitud de onda y frecuencia más baja) son suficientes para activar el dispositivo


Un seguidor solar es un dispositivo mecánico capaz de orientar los paneles solares de forma que éstos permanezcan aproximadamente perpendiculares a los rayos solares, siguiendo al sol desde el este en la alborada hasta el oeste en la puesta. Los seguidores solares son usados en todas las tecnologías de seguimiento solar: energía solar fotovoltaica convencional, energía solar fotovoltaica de concentración y energía termosolar de concentración.
SEGUIDOR SOLAR
Existen de varios tipos:
  • En dos ejes (2x): la superficie se mantiene siempre perpendicular al sol. Existen de dos tipos:
    • Monoposte: un único apoyo central.
    • Carrousel: varios apoyos distribuidos a lo largo de una superficie circular.
  • En un eje polar (1xp): la superficie gira sobre un eje orientado al sur e inclinado un ángulo igual a la latitud. El giro se ajusta para que la normal a la superficie coincida en todo momento con el meridiano terrestre que contiene al Sol. La velocidad de giro es de 15° por hora, como la del reloj.
  • En un eje azimutal (1xa): la superficie gira sobre un eje vertical, el ángulo de la superficie es constante e igual a la latitud. El giro se ajusta para que la normal a la superficie coincida en todo momento con el meridiano local que contiene al Sol. La velocidad de giro es variable a lo largo del día.
  • En un eje horizontal (1xh): la superficie gira en un eje horizontal y orientado en dirección norte-sur. El giro se ajusta para que la normal a la superficie coincida en todo momento con el meridiano terrestre que contiene al Sol.
Mi seguidor solar sera de un eje polar.

CONTROLADORA PARA EL MOTOR.

La controladora para el actuador es la L298, Este módulo basado en el chip L298N te permite controlar dos motores de corriente continua o un motor paso a paso bipolar de hasta 2 amperios.

El módulo cuenta con todos los componentes necesarios para funcionar sin necesidad de elementos adicionales, entre ellos diodos de protección y un regulador LM7805 que suministra 5V a la parte lógica del integrado L298N. Cuenta con jumpers de selección para habilitar cada una de las salidas del módulo (A y B). La salida A esta conformada por OUT1 y OUT2 y la salida B por OUT3 y OUT4. Los pines de habilitación son ENA y ENBrespectivamente.

PROGRAMA( parte 1) ARDUINO ,SEGUIDOR SOLAR.



Al final del proyecto, pondré un enlace para descargar el código de ARDUINO, totalmente terminado.
Seguidamente podemos ver un vídeo demostrativo como funciona el seguidor.











ESTACIÓN METEOROLÓGICA ALIMENTADA CON ENERGÍA SOLAR , ARDUINO Y BLYNK (Parte 4)

Sensor de humedad y temperatura DTH22.

Prestaciones.  


  • Alimentación: 3.3v – 5.5v, tomando como valor recomendado 5v.
  • Resolución decimal, es decir, los valores tanto para  humedad como para temperatura serán números con una cifra decimal.
  • Tiempo de muestreo: 2 segundos, es decir, sólo nos puede ofrecer datos cada 2 segundos.
En cuanto a sus prestaciones leyendo temperatura:
  • Rango de valores desde -40ºC hasta 80ºC de temperatura.
  • Precisión: ±0.5ºC, ±1ºC como máximo en condiciones adversas.
  • Tiempo de respuesta: <10 segundos, es decir, de media, tarda menos de 10 segundos en reflejar un cambio de temperatura real en el entorno.
Si hablamos de sus prestaciones leyendo humedad relativa:
  • Rango de valores desde 0% hasta 99.9% de Humedad Relativa.
  • Precisión: ±2%RH, a una temperatura de 25ºC.
  • Tiempo de respuesta: <5 segundos, es decir, de media, tarda menos de 5 segundos en reflejar un cambio de humedad relativa real en el entorno. Además, para darse esta afirmación, los tests indicaron que la velocidad del aire debe ser de 1 m/s.
Nuevamente estamos ante un sensor modesto, pero que ya nos es válido para un montón de proyectos caseros y semi profesionales. Siempre y cuando no se requiera de una medición constante ni milimétrica, el sensor DHT22 es un fiel candidato.
Conexionado.
Como siempre que nos encontramos con componentes encapsulados o pre soldados en una placa, una conexión va a estar condicionada por la cantidad de elementos -componentes- que ya forman parte del encapsulado que hemos adquirido. Una conexión totalmente funcional, contando con que nuestro DHT22 no trae ningún elemento extra es la siguiente:








Datasheet pulsar en el enlace.

Programa de ARDUINO. 
Poco a poco vamos completando nuestro código,tenemos el seguimiento solar de nuestro panel, y ahora tenemos implementado el sensor de humedad y temperatura. también tememos en el programa la programación del display oled, pero esto es solo para podernos guiar y ver los resultado.