Auriol Weather Station

Registo
27 Jan 2012
Mensagens
38
Local
Ribeirão Preto,Brasil
Bons dias a todos aqui!!. Bem, moro em Piracicaba, Estado de São Paulo no Brasil, e tenho boas noticias a voces que assim como eu, adiquiriram esta estação, mesmo que de fornecedores diferentes.
A mais de 8 anos, tenho como hobby, meteorológia e avião civil, e já fiz estudos e mais estudos sobre estações, anemometros, higrometros, etc.
bem, em primeiro lugar, vi usuários falando muito sobre a instação perfeita, e devo dizer que eles tem total razão.
1º reparem que a caixinha aonde fica o termo-higrometro da estação, tem os furos de ventilação e uma capa mais fina atraz, porem, aqui na américa do Sul, ela deve ficar rigorozamente apontada para o Sul, e no emisfério norte, para o Norte. ( assim vc evita que os raios solares penetrem nos sensores, e a leitura se torna mais real )
2º nunca se compara vento a mais de 25 metros de distância, pois cada lugar tem sua rajada, direção e media diferente, e muito menos tempeartura.
Vou explicar: A cada 300 pés, temos 1ºC a menos, e se não fizermos as contas da altitudo da estação a se verificar e comparar as temperaturas, tudo vai dar errado,
3º depende muito, mais muito mesmo do solo aonde a estação está instalada. Se for gramado, claro, a temperatura do ar é bem menor que telhados, asfalto, comcreto etc. ( lembren-se, o ar quente sempre sobe!!!! )
4º não é necessário fazer uma RS, ou abrigo qualquer para o termometro e nem o higrometro, pois a estação não passa de 1ºC de diferença. ( basta estar instalado corretamente, como disse a cima, ou seja... em caso de duvidas, aponte a haste e o braçod o anemometro para o Norte, no hemisfério sul, e para o Sul no hemisfério norte) e reparem a diferença.

Somente a pressão atmosférica pode ser calibrada com cartas do dia ou prognósticos, isso a nivel do mar. ( cada lugar tem sua altitude )
:thumbsup:
Tenho 2 anemometros, e um de mão, tenho 4 thermo-higrometro ( 2 em RS ) e dois espalhados pela casa. Essa estação, funciona bem, e é bem parata!!!!:surprise:

desculpem dos erros de escrita :confused:

Legal, boas informações....vc tem site com dados da estação?:huh:
 
Registo
16 Fev 2007
Mensagens
49
Local
Piracicaba
Legal, boas informações....vc tem site com dados da estação?:huh:


Infelizmente não, pois não passei ela para o PC, pois seria um preço incompativel. Porem, tenho uma novidade boa a todos.

Todos já vimos e tivemos, ou temos entenas de sinal Digital, ou antenas de tv.

Liguei uma dessas na antena da estação, dentro da caixinha aonde fica o thermo- Higrometro e... Tenho um mega sinal kkkkk dá para se distanciar uns 150 metros kkkk. e Claro, diminui a interferência.

e se quiserem que tudo fique mais perfeito ainda, coloca uma no receptor tambem.

porem, tenho só um detalhe triste. quando não há vento, ou a temperatura fica muito tempo estável, ela dá valços valores. Ex: LL etc.:eek:
 
Registo
16 Fev 2007
Mensagens
49
Local
Piracicaba
Registo
16 Fev 2007
Mensagens
49
Local
Piracicaba
Preciso de ajuda!!!, liguei minha Celestron W 155 em uma arduino... porem, não recebo dados alguns no WSDL. esta ligado o GND na GND da erduino e o DATa na porta 8 da arduino. mais indica DATA insuficiente no WSDL???? o que pode ser. o 5V não liguei porque já está alimentado pela estação.
 

fablept

Nimbostratus
Registo
12 Nov 2008
Mensagens
1,296
Local
Ponta Delgada - Açores
Preciso de ajuda!!!, liguei minha Celestron W 155 em uma arduino... porem, não recebo dados alguns no WSDL. esta ligado o GND na GND da erduino e o DATa na porta 8 da arduino. mais indica DATA insuficiente no WSDL???? o que pode ser. o 5V não liguei porque já está alimentado pela estação.

Boas.

Como ligaste a estação ao Arduino? Não estou a perceber se fizeste uma ligação directa ou se estás a usar receptor RF..

Cumps.
 
Registo
16 Fev 2007
Mensagens
49
Local
Piracicaba
Boas.

Como ligaste a estação ao Arduino? Não estou a perceber se fizeste uma ligação directa ou se estás a usar receptor RF..

Cumps.

Ok. Fiz assim, tentei com um receptor... não deu certo kkk, então abri a estação e do mesmo transmissor da estação, eu liguei na arduino uno. GND em GND e DATA na porta 2 e também tentei na 8 da arduino. Instalei o WSDL, o arduino bisca o RX, porem... não recebo dados algum.

nao liguei o VCC porque ele está alimentado na estação mesmo, a qual recebe os dados perfeitamente:eek:
 

fablept

Nimbostratus
Registo
12 Nov 2008
Mensagens
1,296
Local
Ponta Delgada - Açores
Ok. Fiz assim, tentei com um receptor... não deu certo kkk, então abri a estação e do mesmo transmissor da estação, eu liguei na arduino uno. GND em GND e DATA na porta 2 e também tentei na 8 da arduino. Instalei o WSDL, o arduino bisca o RX, porem... não recebo dados algum.

nao liguei o VCC porque ele está alimentado na estação mesmo, a qual recebe os dados perfeitamente:eek:

Deverá ser ligado no PIN 8 do Arduino.

Testa a versão 1.32 sem barómetro BMP085:
http://forum.auriolws.info/viewtopic.php?f=8&t=35

E usa sempre primeiro o "Serial Monitor" do programa Arduino para ver se obtens dados. Ao abrires o "Serial Monitor" verifica se o baudrate está a 9600.

Depois diz que resultados tens.

Mas deste-me uma excelente ideia, estou sem receptores RF..acho que vou fazer o mesmo e ligar directamente à estação :)
 
Registo
16 Fev 2007
Mensagens
49
Local
Piracicaba
Deverá ser ligado no PIN 8 do Arduino.

Testa a versão 1.32 sem barómetro BMP085:
http://forum.auriolws.info/viewtopic.php?f=8&t=35

E usa sempre primeiro o "Serial Monitor" do programa Arduino para ver se obtens dados. Ao abrires o "Serial Monitor" verifica se o baudrate está a 9600.

Depois diz que resultados tens.

Mas deste-me uma excelente ideia, estou sem receptores RF..acho que vou fazer o mesmo e ligar directamente à estação :)

Muito estranho!!!! tanto com RS 232 Data Loger ou o Serial Monitor,,, nadad de dados recebidos. nada mesmo!!!!!!
 
Registo
16 Fev 2007
Mensagens
49
Local
Piracicaba
Registo
16 Fev 2007
Mensagens
49
Local
Piracicaba
falha
 
Registo
16 Fev 2007
Mensagens
49
Local
Piracicaba
estranho, alguns códigos dão falha... estou usando o arduino 1.0.1
 

fablept

Nimbostratus
Registo
12 Nov 2008
Mensagens
1,296
Local
Ponta Delgada - Açores


Faz download da versão 022:
http://arduino.cc/hu/Main/Software

faz com este

Código:
/******* Sketch to test Input Capture interrupt handling *********************************
functionality: measure length of pulses on the ICP pin with precision of 0.5 microseconds
Show the min and max pulse widths in microseconds on the serial port

**************************************************************************************************************/
#include <stdio.h>      // for verbose debugging using sprintf

#define icpPin 8        // ICP input pin on arduino
#define outPin 2        // output pin that will shadow the input, can be monitored with a scope

                        // some variables to help see that something is happening in the interrupt handlers
volatile unsigned int Value;     // this stores the current ICR1 value
volatile unsigned int MinValue;   
volatile unsigned int MaxValue;
volatile unsigned int Overflows;
volatile unsigned int PulseCount;


/* Overflow interrupt vector */
ISR(TIMER1_OVF_vect){                 // here if no input pulse detected
   Overflows++;                       // incriment overflow count
}

/* ICR interrupt vector */
ISR(TIMER1_CAPT_vect){
   TCNT1 = 0;                            // reset the counter
   if( bit_is_set(TCCR1B ,ICES1)){       // was rising edge detected ?
        digitalWrite(outPin,HIGH );      // yes, set our output pin high to mirror the input
   }
   else {                                // falling edge was detected
        Value = ICR1;                    // save the input capture value
        digitalWrite(outPin,LOW );       // set our output pin low to mirror the input
        PulseCount++;
        if(Value < MinValue)             // update min or max values as appropriate
            MinValue = Value;
        if (Value > MaxValue)
            MaxValue = Value;   
   }   
   TCCR1B ^= _BV(ICES1);                 // toggle bit value to trigger on the other edge   
}

void setup() {
  Serial.begin (19200);
  pinMode(outPin, OUTPUT);               // declare the ledPin as an OUTPUT
  pinMode(icpPin, INPUT);                // ICP pin (digital pin 8 on arduino) as input
  MinValue =    30000;                   // Initialise with extreme values
  MaxValue =    0;


  TCCR1A = 0 ;                    // this register set to 0!
  TCCR1B =_BV(CS11);              // NORMAL MODE!!, prescaller 8, rising edge ICP1 - this works
  TCCR1B |= _BV(ICES1);           // enable input capture   

  TIMSK1 =  _BV(ICIE1);                         // enable input capture interrupt for timer 1
  TIMSK1 |= _BV(TOIE1);                         // enable overflow interrupt to detect missing input pulses
  Serial.print("Finished setup\r\n");
}

// this loop prints the number of pulses in the last second, showing min and max pulse widths
void loop() {
  char buffer[80];
  // show the captured data, divide pulse widths by 2 to display time in microseconds
  sprintf(buffer,"Got %d pulses: min=%d, max=%d (%d timer overflows)\r\n", PulseCount, MinValue / 2, MaxValue / 2, Overflows);       
  Serial.print(buffer);    // send the info to the serial port
  /* reset variables ready for the next reading */
  PulseCount = Overflows = 0; // reset counts
  MinValue =    30000;        // set values to extremes
  MaxValue =    0;     

  delay(1000); 

}  // wait 1 second for next update
 
Registo
16 Fev 2007
Mensagens
49
Local
Piracicaba
estou achando que a celestron W155 não envia
 
Registo
16 Fev 2007
Mensagens
49
Local
Piracicaba
Faz download da versão 022:
http://arduino.cc/hu/Main/Software

faz com este

Código:
/******* Sketch to test Input Capture interrupt handling *********************************
functionality: measure length of pulses on the ICP pin with precision of 0.5 microseconds
Show the min and max pulse widths in microseconds on the serial port

**************************************************************************************************************/
#include <stdio.h>      // for verbose debugging using sprintf

#define icpPin 8        // ICP input pin on arduino
#define outPin 2        // output pin that will shadow the input, can be monitored with a scope

                        // some variables to help see that something is happening in the interrupt handlers
volatile unsigned int Value;     // this stores the current ICR1 value
volatile unsigned int MinValue;   
volatile unsigned int MaxValue;
volatile unsigned int Overflows;
volatile unsigned int PulseCount;


/* Overflow interrupt vector */
ISR(TIMER1_OVF_vect){                 // here if no input pulse detected
   Overflows++;                       // incriment overflow count
}

/* ICR interrupt vector */
ISR(TIMER1_CAPT_vect){
   TCNT1 = 0;                            // reset the counter
   if( bit_is_set(TCCR1B ,ICES1)){       // was rising edge detected ?
        digitalWrite(outPin,HIGH );      // yes, set our output pin high to mirror the input
   }
   else {                                // falling edge was detected
        Value = ICR1;                    // save the input capture value
        digitalWrite(outPin,LOW );       // set our output pin low to mirror the input
        PulseCount++;
        if(Value < MinValue)             // update min or max values as appropriate
            MinValue = Value;
        if (Value > MaxValue)
            MaxValue = Value;   
   }   
   TCCR1B ^= _BV(ICES1);                 // toggle bit value to trigger on the other edge   
}

void setup() {
  Serial.begin (19200);
  pinMode(outPin, OUTPUT);               // declare the ledPin as an OUTPUT
  pinMode(icpPin, INPUT);                // ICP pin (digital pin 8 on arduino) as input
  MinValue =    30000;                   // Initialise with extreme values
  MaxValue =    0;


  TCCR1A = 0 ;                    // this register set to 0!
  TCCR1B =_BV(CS11);              // NORMAL MODE!!, prescaller 8, rising edge ICP1 - this works
  TCCR1B |= _BV(ICES1);           // enable input capture   

  TIMSK1 =  _BV(ICIE1);                         // enable input capture interrupt for timer 1
  TIMSK1 |= _BV(TOIE1);                         // enable overflow interrupt to detect missing input pulses
  Serial.print("Finished setup\r\n");
}

// this loop prints the number of pulses in the last second, showing min and max pulse widths
void loop() {
  char buffer[80];
  // show the captured data, divide pulse widths by 2 to display time in microseconds
  sprintf(buffer,"Got %d pulses: min=%d, max=%d (%d timer overflows)\r\n", PulseCount, MinValue / 2, MaxValue / 2, Overflows);       
  Serial.print(buffer);    // send the info to the serial port
  /* reset variables ready for the next reading */
  PulseCount = Overflows = 0; // reset counts
  MinValue =    30000;        // set values to extremes
  MaxValue =    0;     

  delay(1000); 

}  // wait 1 second for next update
Há fazer.... tenho que apagar o 1.0.1???