Weather station |
|
|
Weather station with pressure reading, relative humidity, indoor & remote outdoor temperature display. Both Celsius or Fahrenheit & mbar/hPa or mm Hg supported. With calendar & clock. Easy 3-button user-menu. 42 hour-history display (curve). Auto-memory & display of all high and low-values. PIC 18F452 running at 4 MHz, power saving sleep mode. Sensors are only turned on when needed. All parts are available in our online shop. Schematic & pcb (Eagle 4.11e), source code (CCS) and hex file available. Updated on May 6, 2006. Future developments: fully solar powered. |
Circuit explanation:
Now this was a huge project! All sensors had to be fully
tested one at a time, wireless communication had to be perfect, various LCDs
were tried. Nevertheless, here's the result: hope you enjoy it! The circuit may be powered by a small 9V battery, but you'd better take a couple of AA-batteries. A 6-pack will last a several months. Consumption for the base station is around 8 to 9 mA whilst active and only 2 to 3 mA in sleep mode (LCD remains on.) The transmitter takes slightly less. The receiver (base station) is active during 5 seconds & then goes to sleep for 45 seconds. The transmitter takes a nap every 30 seconds or so. Menu mode is entered when pushing the "menu" button (what's in a name?) for 1 second. Browsing & value changes are done with the "min" & "plus" keys. When in normal mode (like in the picture above), the "min" and "plus" keys can browse through the different histories. All these controls will wake up the processor if it was in sleep mode. On the left-hand side of the LCD we have (from top to bottom:) Outside temperature, Pressure, Inside Temperature, Relative Humidity, Calendar and Clock. On the right: High value of the past 42-hours, Bar graph histogram (right is most recent value), Low value. All sensors are read & LCD (left-hand side) are updated every 50 seconds. Histogram is updated on the hour (e.g. 10h00, 17h00, 22h00,...) All data is stored in EEPROM and is loaded at power-up. In case of a power failure (or when changing batteries), there will be no data (nor history) lost. |
|
|
|
||
MPX 4115A pressure sensor | Most expensive part of the project (around € 20,- / $ 25,-), but it's worth it. Output of this sensor is an analogue voltage, which is temperature-compensated! We'll feed this directly to the PIC's 10-bit ADC. | ||
TC77 SPI temperature sensor | Nice SPI-sensor in a tiny SO-08 package. We'll use an emulated SPI-mode since we're already using I²C for the RTC (with a DS1307) and the external memory (24LC256), but this works just as well. Resolution goes to one tenth of a degree Celsius! | ||
H1 humidity sensor | This sensor's output is a capacitance between 112pF (at 10% RH) and 143pF (90% RH) Its curve is not linear so we'll use a simple table to convert the A/D reading to the correct RH-value. Capacitance to frequency conversion is done with a simple 555 timing circuit. This frequency is fed to the PIC's T1_CLK. | ||
RX+TX433: wireless modules | These are cheap modules. They have a quite good range (to 25m indoors and 150m outdoors.) Data size of one packet is 32 bits. Bits 8 (LSB) to 19 (MSB) contain temperature data (BCD). Bit 21 is the minus sign, bit 23 is a low battery warning. |
Schematics: right-click & "save picture as" for full resolution or (recommended) download the eagle-file below. |
Base-station (receiver) |
|
Remote temperature sensor (transmitter) compatible with HUGER & OREGON SCIENTIFIC remote sensors |
|