My first experiment is Arduino based. I’ve bought most of the hardware at dx.com. I know that there are cheaper alternatives, i.e aliexpress.com. Also, within dx.com there are stuff that are more or less identical, but with different prices. Do some searches. Some are also referred to in the Display section of this blog.
There is no reason why arduino is the best choice for my application. It just happened to be the one I started with. And it’s easy to use.
This version does not have internet connection nor forecast. Only sensore readout, clock, and moon phase. It was my introduction to Arduino, LCDs and sensors. But it works 😉
The prototype consists of:
- Arduino Mega board, http://dx.com/p/arduino-duemilanove-mega-avr-atmega1280-16au-usb-board-118042
- 3.2″ LCD TFT display, http://dx.com/p/diy-arduino-3-2-tft-lcd-wide-touch-screen-module-w-stylus-blue-143695
- LCD breakout board for mega, http://dx.com/p/tft01-3-2-lcd-shield-v1-2-for-arduino-mega-2560-144471
- A Realtime clock (Tiny RTC), http://dx.com/p/tiny-rtc-i2c-24c32-ds1307-real-ti me-clock-module-for-arduino-146677
- A BMP085 pressure sensor, http://dx.com/p/bmp085-digital-pressure-measurement-sensor-module-green-146110
The arduino is a quick way into programming microprocessors and external devices.The weather station prototype currently uses ATMEGA1280 based board.
Note the wires coming out at the right hand side. These are power and I2C connected to the sensors. The green wire is SDA(pin 20), the white wire is CSL(pin 21). 5v is taken from one of the upper two digital pins and gnd taken from one of the lower digital pins show in the picture (note that in the prototype the corresponding pins on the LCD Mega shield had to be cut in order to make room for the wire. You may want to wire differently (or solder directly). The SDA/CSL goes to the corresponding pins on the sensors that are connected in parallel. The I2C address used by the sensors is hardcoded into the prototype software.
Its quite large. In the final weather station I hope to use something smaller based on my own design or maybe a Arduino Nano Pro. The good thing about the 1280 is the large amount of flash. If I can rely on internet connection, I can remove a lot of the embedded software and hopefully get away with something smaller with less memory footprint.
To get a quick prototype up’n running I chose to buy a TFT LCD Mega Shield to bridge the gap between Arduino and the display. It fixes the pin layout and voltage differences between the LCD (3.3v) and the Arduino (5v). It also contains a SD card reader which I don’t use (could be useful for storing images that are currently occupying the arduino flash!)
As seen below, the prototype has 3 layers. A total of >30mm is way too thick . In addition, the sensors are of-board. I really want a slim device that fits nicely on a wall or something. Preferably all on one single board.
Real time clock & Pressure sensor
The prototype has two of-board sensors as show on the picture.
The RTC works perfectly with the Arduino Time library. I don’t need the extra memory, but it’s on the module. The BMP085 works with software from Adafruit (ref. #include in the prototype software).