Solar Powered Mini-Weather Station
-
I don't seem to be able to get the DHT22 working. I have stripped this project down to the following prototype, and am still not able to get the DHT22 to work. I'm using the DHT example (not MySensors) script and continue to get timeout errors for both Temp and Humidity. I have tried a 4.0k ohm, 10k omh and no resistor.

I am just wanting to know if I might be missing something, and to also verify that other people have got the DHT22 working with a Arduino Pro Mini 8mhs - 3.3 volt using its regulated vcc pin. I have ordered new DHT22 modules from a different source just to see what happens.
Thanks in advance for any input.
-
One thing comes to mind is that DHT has 3.3v as minimum power.
If you have a "weak" pro mini board delivere power below that maybe is a problem. Can you measure the power?I have a 3.3v pro mini running a DHT22 fine, so it should work - but I also know there is a big difference in different hardware even if its called pro mini.
-
@5546dug thanks for the input. I had also tried it with 4k ohm, 10k ohm and no resistor and connection to VCC to pin 2 of the DHT.
@sundberg84 thanks for your input as well. I tried two different Pro Minis also, but from the same supplier. I think I'm going to go after a new Pro Mini from a different supplier.
-
@5546dug thanks for the input. I had also tried it with 4k ohm, 10k ohm and no resistor and connection to VCC to pin 2 of the DHT.
@sundberg84 thanks for your input as well. I tried two different Pro Minis also, but from the same supplier. I think I'm going to go after a new Pro Mini from a different supplier.
@gbfromhb I seemed to have similar problems as you using the DHT22 (Straight from China, marked AM2302). Reported 2% hudity and 0 degrees, with data line directly connected to pin3 (no pullup) on 8MHz Pro Mini.
Switched from the MySensors DHT library to this one: https://github.com/RobTillaart/Arduino/tree/master/libraries/DHTlib
Now works like a charm with the dht22_test.ino sketch:dht22_test.ino LIBRARY VERSION: 0.1.20 Type, status, Humidity (%), Temperature (C) Time (us) DHT22, OK, 45.4, 25.9, 5216 DHT22, OK, 45.7, 26.0, 5240 DHT22, OK, 45.6, 26.0, 5136 DHT22, OK, 45.4, 26.0, 5128 DHT22, OK, 45.3, 26.1, 5176 DHT22, OK, 45.1, 26.1, 5176 ... etc ...You could give this library a try; it might work with yours!
-
@Yveaux thank you for the information. I was going to post my solution tomarrow morning. I found first the library you had suggested, and found a second one that I settled on. Yesterday my top thought on this was it was a timing issue, and the slower 8Mhz pro mini. I had ruled out voltage as the issue. The library you directed me in their last revision addressed timing issues with slower clock speeds. It did work great. I did find a different one that seems to have a few more functions that I need and it seems to work great also.
https://github.com/adafruit/DHT-sensor-library
I seemed to get more accurate temperature when I put a 10k ohm resistor between pin 1 and 2 on the DHT22.
-
@Yveaux thank you for the information. I was going to post my solution tomarrow morning. I found first the library you had suggested, and found a second one that I settled on. Yesterday my top thought on this was it was a timing issue, and the slower 8Mhz pro mini. I had ruled out voltage as the issue. The library you directed me in their last revision addressed timing issues with slower clock speeds. It did work great. I did find a different one that seems to have a few more functions that I need and it seems to work great also.
https://github.com/adafruit/DHT-sensor-library
I seemed to get more accurate temperature when I put a 10k ohm resistor between pin 1 and 2 on the DHT22.
-
If/when you guys have evaluated the best DHT library, maybe we should update the one distributed in the MySensors bundle?
-
@hek I think this is a good idea to update the DHT library that is being distributed. I have tried the DHT11 & DHT22 on both of these these libraries and they seem to work. It is pretty interesting the revision logs for both of these have addressed lower clock speed issues that were resolved in different versions, and the current library that is being distributed has not been touched for over over 2 years. The library that @Yveaux is using has been updated in that last 6 months, and the one I'm currently using has been updated in the last month. Both of these libraries have been around for 3 or 4 years. There is also one more library that I was looking at that I have not tried and that is: https://github.com/piettetech/piettetech_dht.
I choose the one I did, because it had some functions that enabled me to work with Fahrenheit easier.
I don't think we are the only ones that have had issues with the DHT library that have been resolved by changing library. Take a look at the bottom of this post:
http://forum.mysensors.org/topic/1894/pro-mini-is-giving-a-frequent-time-out-on-dth11-read-out/8 -
@Salmoides great thread and project
Was trying to follow the wiring on the back side of the board to wire my project and was wondering how you wrap the wires around the posts sticking through the board for soldering.
Also is there a wiring diagram? -
@hek tricky, as we seem to be the only ones having issues with the library included with MySensors. I only have one DHT22 so I cannot test with other sensors...
I've build something like this that logs temperature to an SD card, so no radio or gateway involved. Been getting NaNs from my DHT22 every few readings since I switched from a 5v Pro Mini to a 3.3v one. This never happened on the 5v one, so I guess I'll try switching library as well!
-
@hek I like the following library https://github.com/adafruit/DHT-sensor-library (ladyada).
This seems to be working fine with the Arduino Pro Mini 8mhz.
Here is a MySensors example using this library:/** * The MySensors Arduino library handles the wireless radio link and protocol * between your home built sensors/actuators and HA controller of choice. * The sensors forms a self healing radio network with optional repeaters. Each * repeater and gateway builds a routing tables in EEPROM which keeps track of the * network topology allowing messages to be routed to nodes. * * Created by Henrik Ekblad <henrik.ekblad@mysensors.org> * Copyright (C) 2013-2015 Sensnology AB * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors * * Documentation: http://www.mysensors.org * Support Forum: http://forum.mysensors.org * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * version 2 as published by the Free Software Foundation. * ******************************* * * REVISION HISTORY * Version 1.0 - Henrik EKblad * Version 1.1 - Glenn Byron - September 6, 2015 - Converted to new DHT library written by ladyada * * DESCRIPTION * This sketch provides an example how to implement a humidity/temperature * sensor using DHT11, DHT21, DHT-22 * http://www.mysensors.org/build/humidity */ #include <SPI.h> #include <MySensor.h> #include <DHT.h> #define CHILD_ID_HUM 0 #define CHILD_ID_TEMP 1 #define HUMIDITY_SENSOR_DIGITAL_PIN 2 #define DHTTYPE DHT22 // DHTTYPE choices: DHT11, DHT21, DHT22 unsigned long SLEEP_TIME = 30000; // Sleep time between reads (in milliseconds) MySensor gw; DHT dht(HUMIDITY_SENSOR_DIGITAL_PIN, DHTTYPE); float lastTemp; float lastHum; boolean metric = false; MyMessage msgHum(CHILD_ID_HUM, V_HUM); MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP); void setup() { Serial.begin(115200); Serial.flush(); Serial.println("MySensors: DHT example"); gw.begin(); dht.begin(); // Send the Sketch Version Information to the Gateway gw.sendSketchInfo("Humidity", "1.0"); // Register all sensors to gw (they will be created as child devices) gw.present(CHILD_ID_HUM, S_HUM); gw.present(CHILD_ID_TEMP, S_TEMP); metric = gw.getConfig().isMetric; delay(2000); } void loop() { float temperature = dht.readTemperature(!metric); if (isnan(temperature)) { Serial.println("Failed reading temperature from DHT"); } else if (temperature != lastTemp) { lastTemp = temperature; gw.send(msgTemp.set(temperature, 1)); Serial.print("Temperature: "); Serial.println(temperature); } float humidity = dht.readHumidity(); if (isnan(humidity)) { Serial.println("Failed reading humidity from DHT"); } else if (humidity != lastHum) { lastHum = humidity; gw.send(msgHum.set(humidity, 1)); Serial.print("Humidity: "); Serial.println(humidity); } gw.sleep(SLEEP_TIME); //sleep a bit } -
Please add an wiring diagram. Especially for the solar panel, battery and connection to the Nano.
If i'm not mistaken, the solor panel is directly connected to the power input of the solar charger. @Salmoides wired a mini/microUSB to the power cables to make it easy connect/disconnect. It's this one, from what I can see in the pictures. http://www.aliexpress.com/item/5PCS-Micro-USB-5V-1A-18650-Lithium-Battery-Charger-Board-With-Protection-Module/1852341893.html
From there, it's pretty straight forward. The battery is connected to the B+ and B- leads. The OUT+ and OUT- would be connected to the VIN/RAW and GND on your Nano, respectively.
-
The lamp is not shipped to NL and many other countries :unamused: . Did anyone find it in Europe?
-
This One looks similar -> http://www.banggood.com/Solar-LED-Motion-Sensor-Waterproof-Wall-Light-For-Home-Garden-Outdoor-p-921885.html
Maybe banggood ships to NL?
-
There seems to be a similar one for sale right now at groupdeal.nl
but just for another 9 hours or so...