Member #396971

Member Since: January 9, 2013

Country: United States

  • There are a few issues with this board when connected to the Weather Meter kit:

    1) - as noted the values for the wind direction don't match those in the example code. This was the subroutine I ended up using:

    char* getWindDirection()
    {
      unsigned int adc;
      adc = analogRead(WDIR); //get the current readings from the sensor
      //Serial.println(adc);
      if (adc < 150) return ("SSW");
      if (adc < 300) return ("S");
      if (adc < 400) return ("WSW");
      if (adc < 600) return ("SW");
      if (adc < 900) return ("WNW");
      if (adc < 1100) return ("W");
      if (adc < 1500) return ("ESE");
      if (adc < 1700) return ("SE");
      if (adc < 2250) return ("NNW");
      if (adc < 2350) return ("NW");
      if (adc < 2700) return ("ENE");
      if (adc < 3000) return ("E");
      if (adc < 3200) return ("NNE");
      if (adc < 3400) return ("NE");
      if (adc < 4000) return ("N");
    
      return ("Error");
    }
    

    You'll note there is no SSE - couldn't quite get that to work..

    2) Nextly, the UV sensor on the board is acutely sensitive to the angle at which the light is striking it - so if you really want accurate data, you are going to need to rig up some sort of servo motor to follow the sun... Sounded like too much work for me.

    3) Still on the UV sensor, just about any enclosure will wildly reduce the UV values. Tried all sorts of things - even cling film took a fair chunk out; although the error from not pointing at the sun (see 2) is much more significant.

    4) The rain sensor 'bucket' switch bounces for 2-4 actual clicks per bucket - varies randomly so tricky to calibrate for. A 200ms debounce worked nicely for me:

    const int debounceRain= 200;
    volatile long lastRainTick=0;
        void rainIRQ()
    {
      if (millis() - lastRainTick > debounceRain) rainSum++;
      lastRainTick = millis();
      //Serial.println(rainSum);
    }
    

    With the accurate counting of ticks I found the rain sensor calibration was around 0.476

    We have almost integrated this into Home Assistant using MQTT server - scope creep currently happily derailing project ;)

No public wish lists :(