Home Sensor Station

by tswaehn in Circuits > Arduino

15029 Views, 296 Favorites, 0 Comments

Home Sensor Station

Display_Dining_Room.JPG
TX29DTH_Sensor.JPG
HomeAutomation_Overview.JPG
TX29DTH_Sensor_label.JPG
CoPiino - Simple Home Sonsor Station

The motivation is simply the fact that reading the temperatures and humidity values from different rooms should be cost effective as cost multiply by room count. Fully assembled temperature and humidity units including batteries can be bought for fair prices in online shops.

example

These units send with different IDs on a regular basis at 868MHz. Measured values are

  • temperature
  • humidity

Multiple of them can be used with one receiving Home Sensor Station.

Home Sensor Station

Ingredients

  • Controller Board (Arduino / CoPiino) (a)
  • Wireless Receiver RFM12B (+5V tolerant spec) (b)
  • Display SSD1306 (c)

Thats it!

Read next page for how to wire and program.

Notes:

a) You can use the Arduino or CoPiino. As the CoPiino has 4x more flash and RAM and can be used as RPI Hat, we suggest to start with the CoPiino.

b) Please note the similar RFM69CW receiver is only 3.3V - better use RFM12B as in this instructables :)

c) There may be different versions out there, the one in the pictures above is +5V tolerant - go for exactly this one it works great as you can see.

Wiring and Programming

Wiring.jpg
Wiring_complete.jpeg

Welcome back on page two - the last page. Because wiring the controller, receiver, display and programming is all we need to do to get it up and running.

1. Wiring

The wiring is best done initially on a bread board. The pictures above show the details. Please note that image colors and schematic colors do match exactly for ease of use.

2. Programming

A 100% tested/working Arduino Sketch can be downloaded below. It comes with support of three TX29DTH units.

Additional units can be added in the code as follows

void setup(void) {

...
sensors.addSensor( 0, "Fridge     ", 53 );
sensors.addSensor( 1, "Weather    ", 18 );
sensors.addSensor( 2, "Dining Room", 42 );
...

}

0 ... is an upcounting number

"Fridge " ... is the name of the sensor

53 ... is the ID which is used by the TX29DTH to send temperature and humidity values (see notes below to determine sensor IDs)


3. Notes

3.1 How to determine the ID of the TX29DTH:

The controller will receive all sensors in your home and display a RS232 / serial message like these.

Example:

(rs232)RX>End receiving, HEX raw data: 94 85 36 45 5D AA AA 0 0 F9 FD 37 BF FF D7 9F 
(rs232)RX>:: 18 13 69 (rs232)RX> (rs232)RX>End receiving, HEX raw data: 9D 44 85 3C 77 AA AA 0 0 7F FF FE 7F D9 CF 2F (rs232)RX>:: 53 8 60 (rs232)RX> (rs232)RX>End receiving, HEX raw data: 9A 86 30 39 5D AA AA 0 0 1F 7F D7 BF FF EF FF (rs232)RX>:: 42 23 57 (rs232)RX>

The first number stands for the ID and the second and third for temperature and humidity.

3.2 Serial receivings

As the sketch is best used with CoPiino which has two serial interfaces vs. Arduino which has only one serial interface, we prepared the code to have all output on port "Serial1". Please note when using Arduino, you need to switch to port "Serial"

CoPiino

Serial1.println("*** LaCrosse weather station wireless receiver for IT+ sensors ***");

Arduino (modification of port number)

Serial.println("*** LaCrosse weather station wireless receiver for IT+ sensors ***");

3.3 Thank you

If you think this instruction was helpful -- let us know.