Lectura de datos METAR desde PIC 18F4520

Desconectado Alcyone

  • Cumulus Congestus
  • ***
  • 511
  • Sexo: Masculino
  • Barakaldo (Bizkaia)
Lectura de datos METAR desde PIC 18F4520
« en: Jueves 04 Junio 2009 00:20:28 am »
Hola a todos, os dejo con un post sobre un proyectillo que he hecho este finde, en unos días publicaré el código y los esquemitas para quien se quiera poner una pantallita LCD conectada al PC con los datos del aeropuerto más cercano.

Ahí tenéis el video de Youtube, que no sé como insertarlo aquí.

Un saludo!

http://www.asierarranz.com/?p=334

Desconectado Breitling

  • Luis
  • Cb Calvus
  • ****
  • 1449
  • Sexo: Masculino
  • Mis Datos en tu Móvil
Re: Lectura de datos METAR desde PIC 18F4520
« Respuesta #1 en: Jueves 04 Junio 2009 08:59:30 am »
[Borrado por el autor]
« Última modificación: Lunes 30 Noviembre 2009 20:37:26 pm por Breitling »

Met.Txin

  • Visitante
Re: Lectura de datos METAR desde PIC 18F4520
« Respuesta #2 en: Jueves 04 Junio 2009 10:28:23 am »
Pues sí, una iniciativa muy curiosa, a más de uno le interesará. No puedo ver el vídeo pero es "problema" de ni navegador.

En el TREND, NOSIG significa exactamente:

Indica ausencia de cambios significativos durante el período de pronóstico.

La guía Met colgada de la página de aemet está bien para cualquiera que la quiera consultar.

http://www.aemet.es/es/divulgacion/aeronautica/detalles/Guia_MET

Lo que me ha llamado la atención es tu forma de calcular la HR que pones en la página

Humidity = Dew point / temperature * 100 (in this case 88.2%)

¿Estás seguro de eso?, así de bote pronto me parece erróneo pero a lo mejor me he levantado con el pie torcido hoy  ;D y lo mejor que puedo hacer es volverme a la cama. saludos!

Desconectado Breitling

  • Luis
  • Cb Calvus
  • ****
  • 1449
  • Sexo: Masculino
  • Mis Datos en tu Móvil
Re: Lectura de datos METAR desde PIC 18F4520
« Respuesta #3 en: Jueves 04 Junio 2009 10:44:17 am »
[Borrado por el autor]
« Última modificación: Lunes 30 Noviembre 2009 20:37:07 pm por Breitling »

Desconectado Alcyone

  • Cumulus Congestus
  • ***
  • 511
  • Sexo: Masculino
  • Barakaldo (Bizkaia)
Re: Lectura de datos METAR desde PIC 18F4520
« Respuesta #4 en: Jueves 04 Junio 2009 16:18:26 pm »

Humidity = Dew point / temperature * 100 (in this case 88.2%)



Emm.. lo que me extraña es que esté viendo el Blog en inglés, juraría que por defecto lo tengo en castellano xD si me lo puedes confirmar... ;)

Lo de la formulita esa, en principio creo que es así, pero es sencillo comprobarlo mirando un meteograma, y parece que lo cumple.

Met.Txin

  • Visitante
Re: Lectura de datos METAR desde PIC 18F4520
« Respuesta #5 en: Jueves 04 Junio 2009 21:25:05 pm »
Ostras, pues yo lo veo en inglés. No entiendo de esas cosas pero quizás al ver que el navegador tiene el lenguaje en francés, o que la ip viene de francia, pues a lo mejor me sacan la versión inglesa. Ni idea, pero ya te digo, yo lo veo tod en inglés!, no sé como se pasa a castellano.

Met.Txin

  • Visitante
Re: Lectura de datos METAR desde PIC 18F4520
« Respuesta #6 en: Jueves 04 Junio 2009 21:39:29 pm »
Lo de la formulita esa, en principio creo que es así, pero es sencillo comprobarlo mirando un meteograma, y parece que lo cumple.

No sé, yo me cojo un ejemplo y las tablas psicrométricas.

Temperatura seco 18.2 ºC
Temperatura húmedo 10.0 ºC
Diferencia 8.2 ºC
Tensión de vapor 5.72 hPa
Punto de rocío -0.9 ºC
Humedad relativa 27 %

y no me cuadra!. Lo repasaré, yo tengo fórmulas que me hice una vez y te juro que si lo tuyo funciona estuve haciendo el idiota toda una tarde  ;D

Desconectado Serantes

  • Que sólo es un simple monte, ni Ser-antes ni nada :P
  • La vieja guardia de Meteored
  • Cb Incus
  • *****
  • 4407
  • Sexo: Masculino
  • Por Santander, Bilbao a veces
Re: Lectura de datos METAR desde PIC 18F4520
« Respuesta #7 en: Jueves 04 Junio 2009 21:41:43 pm »
Es una idea estupenda  ;)

A mi como a Met Txin también me chirría la fórmula de la temperatura de rocío, no estoy seguro de si es incorrecta o una aproximación un poco basta. Mañana tengo examen y no me puedo entretener buscando, pero busca tu alguna mas realista que estoy seguro de que las hay.

Un saludo
¿Una luz al final del túnel? Open Source Ecology

Desconectado Alcyone

  • Cumulus Congestus
  • ***
  • 511
  • Sexo: Masculino
  • Barakaldo (Bizkaia)
Re: Lectura de datos METAR desde PIC 18F4520
« Respuesta #8 en: Viernes 05 Junio 2009 09:35:17 am »
Lo de la formulita esa, en principio creo que es así, pero es sencillo comprobarlo mirando un meteograma, y parece que lo cumple.

No sé, yo me cojo un ejemplo y las tablas psicrométricas.

Temperatura seco 18.2 ºC
Temperatura húmedo 10.0 ºC
Diferencia 8.2 ºC
Tensión de vapor 5.72 hPa
Punto de rocío -0.9 ºC
Humedad relativa 27 %

y no me cuadra!. Lo repasaré, yo tengo fórmulas que me hice una vez y te juro que si lo tuyo funciona estuve haciendo el idiota toda una tarde  ;D

Yo lo encontre en una pagina inglesa, no me puse a pensar mucho, cuando tengais la solucion si la encontrais lo cambio directamente ;) Gracias!!


Desconectado Vaqueret di Rondó

  • un Zarathustra insidioso
  • Supercélula
  • ******
  • 5077
  • Sexo: Masculino
  • Eppur si calfa....
    • MeteoCastalla
Re: Lectura de datos METAR desde PIC 18F4520
« Respuesta #9 en: Viernes 05 Junio 2009 12:27:51 pm »
Aquí dejo la librería que suelo utilizar para tratar con variables meteorológicas. Está en Pascal, pero es lo suficientemente legible para que no tengas problema para transcribirlo a cualquier lenguaje.

Muy buen trabajo!
   

Desconectado metragirta

  • Cumulus Congestus
  • ***
  • 889
  • Sexo: Masculino
  • Nueva imagen: ya era hora de hacerme un lifting
Re: Lectura de datos METAR desde PIC 18F4520
« Respuesta #10 en: Viernes 05 Junio 2009 13:01:40 pm »

Humidity = Dew point / temperature * 100 (in this case 88.2%)



Emm.. lo que me extraña es que esté viendo el Blog en inglés, juraría que por defecto lo tengo en castellano xD si me lo puedes confirmar... ;)

Lo de la formulita esa, en principio creo que es así, pero es sencillo comprobarlo mirando un meteograma, y parece que lo cumple.

Esa fórmula es un error. Una muy aproximada sería:

HR (decimal)=10 (Td-T)/35 ya que

Td = T+35*log HR ( en decimales)


Aplicando para:

Lo de la formulita esa, en principio creo que es así, pero es sencillo comprobarlo mirando un meteograma, y parece que lo cumple.

No sé, yo me cojo un ejemplo y las tablas psicrométricas.

Temperatura seco 18.2 ºC
Temperatura húmedo 10.0 ºC
Diferencia 8.2 ºC
Tensión de vapor 5.72 hPa
Punto de rocío -0.9 ºC
Humedad relativa 27 %

y no me cuadra!. Lo repasaré, yo tengo fórmulas que me hice una vez y te juro que si lo tuyo funciona estuve haciendo el idiota toda una tarde  ;D

Yo lo encontre en una pagina inglesa, no me puse a pensar mucho, cuando tengais la solucion si la encontrais lo cambio directamente ;) Gracias!!



T = 18,2

Td = -0,9 ºC

HR = 10 (-0,9-18,2)/35 = 0,285 = 28,5%

Si quieres acertar al 100 %

HR = 100* [ (112-0,1*T+Td)/(112+0,9*T)]8

HR = 100* [ (112-0,1*18,2-0,9)/(112+0,9*18,2)]8= 27,5 %

Edito: En el caso que pones en el video ( muy chulo el artilugio) si que coincidría e iriamos a un 82 % de humedad, pero para humedades más bajas no funcionaría la fórmula que decías. Tal vez, en ambientes muy húmedos ( Inglaterra, Bilbao) pues sí. 
« Última modificación: Viernes 05 Junio 2009 15:39:23 pm por metragirta »
"No soy escéptico porque no quiera creer, sino porque quiero saber" ~Michael Shermer~
Javier.
ACANMET
AVCAN

Met.Txin

  • Visitante
Re: Lectura de datos METAR desde PIC 18F4520
« Respuesta #11 en: Viernes 05 Junio 2009 21:01:20 pm »
Pues te dejo otro ejemplo de fórmulas. He estado trasladando de macros que tenía a perl para practicar(que me perdonen los informáticos, es mi primer script en perl, jamás había hecho uno antes)

Después de hacer pruebas veo que difieren algo de las tablas psicrométricas con humedades bajas, supongo que será porque toman en cuenta la presión atmosférica. No garantizo que estén bien y depende de qué datos se tengan habría que modificar cosas para deducir los otros.
Citar

#!/usr/bin/perl
# ****************************************************************************
# Archivo: formulas.pl
# Proposito: resolver formulas meteo. Mi primer script en perl
# Autor: Met.Txin
# ****************************************************************************
use strict;                      #

main();

sub main(){
   
  # los resultados que se quieren obtener
  my $tension_saturante_de_t;
  my $tension_saturante_de_t1;
  my $presion_a_cero_grados;
  my $tension_de_vapor;
  my $humedad_relativa;
  my $presion_al_nivel_del_mar;
  my $temperatura_virtual;
  my $punto_de_rocio;

  #  a partir de estos valores para el ejemplo
  my $p = 1013.2;                 #(valor de la presión leída en barómetro)
  my $t = 20.0;                     #(valor de la temperatura del termómetro seco)
  my $t1 =10;                       #(valor de la temperatura del termómetro húmedo)
  my $z  = 0.0;                     #(valor de la altitud de la estación)
  my $tu  = 0.0;                    #(valor de la temperatura del termómetro unido, barómetro)
 
  # constantes
  my $A;                       
  my $B;
  my $K;

  if ($t > 0) {
     $K = 0.000799;                  #coeficiente psicrómetrico sobre agua
    $A = 7.5;
    $B = 237.3;
  } else {
     $K = 0.00068;                   #coeficiente psicrómetrico sobre hielo
    $A = 9.350001;
    $B = 261;
  }   
  my $K1 = 47;                       


  $presion_a_cero_grados = $p - 0.000163 * ($p + $K1) * $tu;

  $tension_saturante_de_t = 6.1078 * 10 ** ($A * $t / ($B + $t));

  $tension_saturante_de_t1 = 6.1078 * 10 ** ($A * $t1 / ($B + $t1));

  $tension_de_vapor = $tension_saturante_de_t1 - $K * $presion_a_cero_grados * ($t - $t1);

  $humedad_relativa = 100 * ($tension_de_vapor / $tension_saturante_de_t);

  $temperatura_virtual = ($t + 273.15) * (1 + 0.378 * ($tension_de_vapor / $presion_a_cero_grados))-273.15;

  $presion_al_nivel_del_mar = 1013.2 * (($presion_a_cero_grados / 1013.2) ** (1 / 5.256) + 0.0000226 * $z) ** 5.256;

  $punto_de_rocio = ($B * log10($tension_de_vapor / 6.1078)) / ($A - log10($tension_de_vapor / 6.1078));
 
  print "Ejemplo, para los siguientes datos.\n";
  printf ("Temperatura del termómetro seco: " . "%.1f","$t") . print " ºC";
  print "\n"; 
  printf ("Temperatura del termómetro húmedo: " . "%.1f","$t1\n") . print " ºC";
  print "\n";    
  printf ("Presión del barómetro: " . "%.1f","$p\n") . print " hPa";
  print "\n"; 
  printf ("Temperatura termómetro unido barómetro: " . "%.1f","$tu\n") . print " ºC";
  print "\n";   
  printf ("Altitud de la estación: " . "%.1f","$z\n") . print " m";
  print "\n\n\n";   
 
  print "Resultados del ejemplo";
  print "\n"; 
  printf ("Presión a cero grados: " . "%.1f","$presion_a_cero_grados") . print " hPa";
  print "\n";
  printf ("Tensión saturante de t: " . "%.1f","$tension_saturante_de_t") . print " hPa";
  print "\n";
  printf ("Tensión saturante de t':" . "%.1f","$tension_saturante_de_t1") . print " hPa";
  print "\n";
  printf ("Tensión de vapor: " . "%.2f","$tension_de_vapor") . print " hPa";
  print "\n";   
  printf ("Humedad relativa: " . "%.1f","$humedad_relativa") . print " %";
  print "\n";
  printf ("Temperatura virtual: " . "%.1f","$temperatura_virtual") . print " ºC";
  print "\n";   
  printf ("Presión a nivel del mar: " . "%.1f","$presion_al_nivel_del_mar") . print " hPa";
  print "\n"; 
  printf ("Temperatura del punto de rocío: " . "%.1f","$punto_de_rocio") . print " ºC";
  print "\n";       

}

sub log10 {
   my $num = shift;
   return log($num)/log(10);
}