Sebagai pertunjukan yang layak, saya memiliki stasiun cuaca, yang saya rakit sendiri dari DHT22, Raspberry Pi dan layar Nokia, ini adalah solusi daya konstan yang mentransmisikan data melalui Ethernet.
Tetapi sekarang saya membutuhkan stasiun cuaca bergerak di balkon, nirkabel dan bertenaga baterai.
Sebagai modul radio, saya menggunakan papan Z-Wave Z-Uno, sebagai sensor suhu dan kelembaban saya memutuskan untuk mencoba Sensirion SHT20 yang bekerja pada I2C.

Bahan dan harga:
Z-Uno terus diperbarui, dukungan untuk periferal dan perpustakaan baru ditambahkan. Saat ini, versi firmware saat ini adalah 2.0.9 dan dukungan untuk perangkat berikut telah muncul di dalamnya:
- Sensor suhu 1-kawat DS18B20
- Sensor suhu dan kelembaban DHT22 && DHT11
- 125 KHz pembaca kartu RFID
- I2C BMP180 sensor tekanan dan suhu
- dan perangkat lain, contoh di sini adalah z-uno.z-wave.me/examples
Sensor Sensirion SHT20 yang bekerja pada bus I2C tidak ada dalam daftar yang didukung, jadi saya harus menulis implementasi saya sendiri untuk Z-Uno. Sintaks sketsa untuk Z-Uno adalah sama dengan Arduino mungkin, seluruh sketsa cocok dalam 35 baris:

Buat sketsa untuk Z-Uno saat bekerja dengan sensor suhu dan kelembaban Sensirion SHT20#include <Wire.h> #include "SHT2x.h" int16_t temperature; uint8_t humidity; ZUNO_SETUP_SLEEPING_MODE(ZUNO_SLEEPING_MODE_SLEEPING); #define ZUNO_CHANNEL_TEMPERATURE 1 #define ZUNO_CHANNEL_HUMIDITY 2 ZUNO_SETUP_CHANNELS( ZUNO_SENSOR_MULTILEVEL_TEMPERATURE(getterTemp), ZUNO_SENSOR_MULTILEVEL_HUMIDITY(getterHumid) ); void setup() { Wire.begin(); } void loop() { temperature = SHT2x.GetTemperature(); zunoSendReport(ZUNO_CHANNEL_TEMPERATURE); humidity = SHT2x.GetHumidity(); zunoSendReport(ZUNO_CHANNEL_HUMIDITY); zunoSendDeviceToSleep(); } byte getterTemp(void) { return temperature; } byte getterHumid(void) { return humidity; }
SHT2x.cpp dimodifikasi untuk Z-Uno SHT2x.h #ifndef SHT2X_H #define SHT2X_H
Dari hal-hal khusus, dalam sketsa hanya ada garis yang menempatkan Z-Uno ke mode tidur:
ZUNO_SETUP_SLEEPING_MODE(ZUNO_SLEEPING_MODE_SLEEPING)
Dan mengatur saluran mana untuk mengirim suhu ke dan di mana kelembaban:
ZUNO_SETUP_CHANNELS( ZUNO_SENSOR_MULTILEVEL_TEMPERATURE(getterTemp), ZUNO_SENSOR_MULTILEVEL_HUMIDITY(getterHumid) )
Sisanya adalah kode Arduino biasa.
Sensirion SHT20 bekerja pada I2C dan dihubungkan oleh 2 kabel. Secara default, di perpustakaan Wire.h untuk I2C, pin 9 dan 10 didefinisikan.
Informasi dari sensor dapat dilihat di telepon dan digunakan dalam otomasi untuk mengontrol pelembap dan pendingin udara.
Data diperbarui setiap 12 menit, dalam mode ini, sensor harus bekerja selama lebih dari 2 tahun dari satu set baterai.

Gint building G517B 90 x 60 x 20 cm dipilih secara khusus dengan tempat di bawah kompartemen baterai, semuanya pas dengan sempurna.
Pengembangan sensor suhu dan kelembaban Z-Wave memakan waktu sekitar 2 jam dan 3.746 p. Anda juga dapat menambahkan layar E-Ink dan menggantungnya di dinding!