Humidity Sensor with Strange results.

Currently am trying to get and Arduino Nano 3.0 working with a BMP085

When upload this I cannot get it to add to my Vera. When I enable debug I see.

No radio id found in EEPROM fetching oneStarted sensor.
Relay=1, distance=2
No radio id found in EEPROM fetching oneStarted sensor.
Relay=1, distance=2
No radio id found in EEPROM fetching oneStarted sensor.
Relay=1, distance=2
No radio id found in EEPROM fetching oneStarted sensor.
Relay=1, distance=2
No radio id found in EEPROM fetching oneStarted sensor.

I have verified pin Gnd is ground and pin ucc is 3.3 volts at the chip. I am using a full nano v3.0 The BHP085 chip is receiving the 3.4 volts on power pin

The 3 files are uploaded to the etc/cmh-ludl directory.

Any Suggestions?

My Vera & current Arduino gateway is controlling 2 other motion sensors and a window blind Stepper just fine.

Looks like you have another relaying node that the humidity sensor tries to send messages to. I suggest you try clearing the eeprom (use the provided sketch under examples).

Can you also try moving the sensor closer to your Vera when including it?

I cleared it and re-ran it. Unit is sitting right next to Gateway.

Tried numerous times and see the following

Started sensor.
Open ping reading pipe: 255
Tx: fr=255,to=255,la=255,ne=255,ci=255,mt=4,ty=9,cr=184:

or

Started sensor.
Open ping reading pipe: 255
Tx: fr=255,to=255,la=255,ne=255,ci=255,mt=4,ty=9,cr=184:
Message available on pipe 1
Rx: fr=240,to=255,la=0,ci=255,mt=4,t=9,cr=1(ec):

Something is wrong with your radio. Capacitor?

I have swapped out multiple NRF24L01+ (3 actually) . I have actually swapped out the Nano 3.0 with another one also. If the BMP085 was bad would that stop it from being able to communicate? Everything else on my Arduino network is working flawlessly. I actually added another stepper object today and it added fine. I am not utilizing any capacitors anywhere on my network since utilizing all Nano 3.0 at edge devices.

Capacitor usage has nothing to do with which Arduino model you’re using. It stabilizes the radio power.

I guess I just do not believe that a capacitor would solve the problem when I can leave everything connected to this Nano 3.0, radio, bmp085 and upload a servo.ino and it adds it to my network, I can upload the motion sensor.ino and stepper.ino and they all add immediately to my network. So three others sketch load and install immediately. Just the pressure sketch does not with same hardware and just uploading code.

I will purchase some capacitors and try in a couple weeks but doesn’t make a lot of sense.

Yes agree, this is really strange. Can you read values from the pressure sensor if you remove all MySensors library code?

I get an error when I just load the following code arduino code.
“Could not find a valid BMP085 sensor, check wiring!”

Is there a way to read the code that is loaded onto a Arduino Nano 3.0. I have a chip that has some code that works that I do not have saved anywhere else but the Nano 3.0

I have another BMP085 on the way

[code]#include <Wire.h>
#include <Adafruit_BMP085.h>

/***************************************************
This is an example for the BMP085 Barometric Pressure & Temp Sensor

Designed specifically to work with the Adafruit BMP085 Breakout
----> BMP085 Barometric Pressure/Temperature/Altitude Sensor- 5V ready : ID 391 : $19.95 : Adafruit Industries, Unique & fun DIY electronics and kits

These displays use I2C to communicate, 2 pins are required to
interface
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!

Written by Limor Fried/Ladyada for Adafruit Industries.
BSD license, all text above must be included in any redistribution
****************************************************/

// Connect VCC of the BMP085 sensor to 3.3V (NOT 5.0V!)
// Connect GND to Ground
// Connect SCL to i2c clock - on '168/'328 Arduino Nano/Uno/Duemilanove/etc thats Analog 5
// Connect SDA to i2c data - on '168/'328 Arduino Nano/Uno/Duemilanove/etc thats Analog 4
// EOC is not used, it signifies an end of conversion
// XCLR is a reset pin, also not used here

Adafruit_BMP085 bmp;

void setup() {
Serial.begin(9600);
if (!bmp.begin()) {
Serial.println(“Could not find a valid BMP085 sensor, check wiring!”);
while (1) {}
}
}

void loop() {
Serial.print(“Temperature = “);
Serial.print(bmp.readTemperature());
Serial.println(” *C”);

Serial.print("Pressure = ");
Serial.print(bmp.readPressure());
Serial.println(" Pa");

// Calculate altitude assuming 'standard' barometric
// pressure of 1013.25 millibar = 101325 Pascal
Serial.print("Altitude = ");
Serial.print(bmp.readAltitude());
Serial.println(" meters");

// you can get a more precise measurement of altitude
// if you know the current sea level pressure which will
// vary with weather and such. If it is 1015 millibars
// that is equal to 101500 Pascals.
Serial.print(“Real altitude = “);
Serial.print(bmp.readAltitude(101500));
Serial.println(” meters”);

Serial.println();
delay(500);

}[/code]

Got new new sensor and capacitor

With new sensor and I can run the Adafruit_BMP085.h and get the following

Temperature = 213.67 *C
Pressure = 237430 Pa
Altitude = -7798.39 meters
Real altitude = -7781.27 meters

When I upload the the pressure.ino

I just get the following

Started sensor.
Open ping reading pipe: 255
Tx: fr=255,to=255,la=255,ne=255,ci=255,mt=4,ty=9,cr=184:

One time and that is it.

On the Vera lite I see

08 05/23/14 12:23:42.576 JobHandler_LuaUPnP::HandleActionRequest device: 123 service: urn:upnp-arduino-cc:serviceId:arduino1 action: StartInclusion <0x2eb48680>
08 05/23/14 12:23:42.576 JobHandler_LuaUPnP::HandleActionRequest argument DeviceNum=123 <0x2eb48680>
08 05/23/14 12:23:42.577 JobHandler_LuaUPnP::HandleActionRequest argument serviceId=urn:upnp-arduino-cc:serviceId:arduino1 <0x2eb48680>
08 05/23/14 12:23:42.577 JobHandler_LuaUPnP::HandleActionRequest argument action=StartInclusion <0x2eb48680>
08 05/23/14 12:23:42.577 JobHandler_LuaUPnP::HandleActionRequest argument rand=0.7535735243549996 <0x2eb48680>
50 05/23/14 12:23:42.578 luup_log:123: Arduino: Sending: 0;0;4;6;1 <0x2eb48680>
50 05/23/14 12:23:42.594 luup_log:123: Arduino: urn:upnp-arduino-cc:serviceId:arduino1,InclusionMode, 1, 123 <0x2ef48680>
06 05/23/14 12:23:42.594 Device_Variable::m_szValue_set device: 123 service: urn:upnp-arduino-cc:serviceId:arduino1 variable: InclusionMode was: 0 now: 1 #hooks: 0 upnp: 0 v:0xa70e98/NONE duplicate:0 <0x2ef48680>
50 05/23/14 12:23:42.595 luup_log:123: Arduino: urn:upnp-arduino-cc:serviceId:arduino1,InclusionFoundCountHR, 0 devices found, 123 <0x2ef48680>

Andy ideas?

The sensor requests id from gateway/controller. Turn on debug on gateway-arduino.

Where do you look for debug information on the Gateway when plugged into Vera? Or do I unplug gateway from Vera and plug it into my PC? I am seeing debug information on my sensors as showed in previous post.

Watching the log file of my Vera only shows the following during inclusion

05/24/14 9:45:41.453 JobHandler_LuaUPnP::HandleActionRequest device: 123 service: urn:upnp-arduino-cc:serviceId:arduino1 action: StartInclusion <0x2f178680>
08 05/24/14 9:45:41.453 JobHandler_LuaUPnP::HandleActionRequest argument DeviceNum=123 <0x2f178680>
08 05/24/14 9:45:41.453 JobHandler_LuaUPnP::HandleActionRequest argument serviceId=urn:upnp-arduino-cc:serviceId:arduino1 <0x2f178680>
08 05/24/14 9:45:41.454 JobHandler_LuaUPnP::HandleActionRequest argument action=StartInclusion <0x2f178680>
08 05/24/14 9:45:41.454 JobHandler_LuaUPnP::HandleActionRequest argument rand=0.5267561314385804 <0x2f178680>
50 05/24/14 9:45:41.454 luup_log:123: Arduino: Sending: 0;0;4;6;1 <0x2f178680>
50 05/24/14 9:45:41.470 luup_log:123: Arduino: urn:upnp-arduino-cc:serviceId:arduino1,InclusionMode, 1, 123 <0x2e578680>
06 05/24/14 9:45:41.470 Device_Variable::m_szValue_set device: 123 service: urn:upnp-arduino-cc:serviceId:arduino1 variable: InclusionMode was: 0 now: 1 #hooks: 0 upnp: 0 v:0x1071e98/NONE duplicate:0 <0x2e578680>
50 05/24/14 9:45:41.471 luup_log:123: Arduino: urn:upnp-arduino-cc:serviceId:arduino1,InclusionFoundCountHR, 0 devices found, 123 <0x2e578680>
06 05/24/14 9:45:41.471 Device_Variable::m_szValue_set device: 123 service: urn:upnp-arduino-cc:serviceId:arduino1 variable: InclusionFoundCountHR was: now: 0 devices found #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:0 <0x2e578680>
06 05/24/14 9:46:05.104 Device_Variable::m_szValue_set device: 98 service: urn:akbooer-com:serviceId:EventWatcher1 variable: AppMemoryUsed was: 644 now: 652 #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:0 <0x2d537680>
06 05/24/14 9:46:05.105 Device_Variable::m_szValue_set device: 98 service: urn:akbooer-com:serviceId:EventWatcher1 variable: MemAvail was: 33824 now: 34928 #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:0 <0x2d537680>
06 05/24/14 9:46:05.105 Device_Variable::m_szValue_set device: 98 service: urn:akbooer-com:serviceId:EventWatcher1 variable: MemFree was: 12184 now: 13264 #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:0 <0x2d537680>
02 05/24/14 9:46:06.103

I cant see any communication from your pressure sensor at all in the vera log.

Turn on debug on gateway (to get more debug prints) before compiling gateway sketch.

This doesn’t look right either:

Temperature = 213.67 *C Pressure = 237430 Pa Altitude = -7798.39 meters Real altitude = -7781.27 meters

Or do you have very hot where you live :wink:

Based on that altitude and temperature I’m guessing you live in hell. Right?

When unplug gateway from Vera and plug into pc get the following

0;0;4;11;Arduino startup complete.
2;0;1;16;0
3;0;1;16;0
0;0;4;11;Inclusion started by button.
0;0;4;6;1
0;0;4;11;Inclusion started by button.
0;0;4;6;1
0;0;4;6;0
3;0;1;16;1
0;0;4;11;Inclusion started by button.
0;0;4;6;1
0;0;4;11;Inclusion started by button.
0;0;4;6;1
0;0;4;6;0
3;0;1;16;0
3;0;1;16;1
3;255;0;17;1.3b3 (541cd43)
3;255;4;7;0
3;255;4;15;1.0
2;0;1;16;1
2;255;4;7;0
2;0;0;1;1.3b3 (67f4ca1)
2;0;1;16;1
2;255;0;17;1.3b3 (67f4ca1)
2;255;4;14;Motion Sensor
2;255;4;15;1.0
2;0;0;1;1.3b3 (67f4ca1)

Even though those states from chip don’t seem correct it does show it is reporting

Temperature = 213.67 *C
Pressure = 237430 Pa
Altitude = -7798.39 meters
Real altitude = -7781.27 meters

This is my second BMP085 first one would never report and just report check wiring.

I reran with Adafruit_BMP085.h
and see the following

[table]
[tr]
[td]Temperature = 32.28 *C
Pressure = 99588 Pa
Altitude = 145.89 meters
Real altitude = 160.22 meters

Temperature = 32.30 *C
Pressure = 99587 Pa
Altitude = 145.89 meters
Real altitude = 159.63 meters

Temperature = 32.31 *C
Pressure = 99586 Pa
Altitude = 146.22 meters
Real altitude = 160.31 meters

Temperature = 32.32 *C
Pressure = 99588 Pa
Altitude = 145.80 meters
Real altitude = 160.65 meters

Temperature = 32.34 *C
Pressure = 99586 Pa
Altitude = 146.31 meters
Real altitude = 160.56 meters

Temperature = 32.34 *C
Pressure = 99582 Pa
Altitude = 145.89 meters
Real altitude = 159.97 meters

Temperature = 32.36 *C
Pressure = 99585 Pa
Altitude = 145.89 meters
Real altitude = 160.14 meters

Temperature = 32.37 *C
Pressure = 99582 Pa
Altitude = 145.38 meters
Real altitude = 160.48 meters

Temperature = 32.37 *C
Pressure = 99579 Pa
Altitude = 146.39 meters
Real altitude = 160.81 meters[/td
]
[/td][/tr]
[/table]

Which look fine to me.

You are sure you’ve powered it correctly (3.3V or 5V)?

3.3v on pin 17 on nano 3.0

Plus fact I get good data when just run BMP085test

Temperature = 27.63 *C
Pressure = 99537 Pa
Altitude = 150.45 meters
Real altitude = 164.53 meters

Temperature = 27.62 *C
Pressure = 99533 Pa
Altitude = 149.85 meters
Real altitude = 164.28 meters

Temperature = 27.62 *C
Pressure = 99531 Pa
Altitude = 150.02 meters
Real altitude = 164.44 meters

In the Pressure code this one line causes it not to communicate.
When remark it out and its couple corresponding lines the unit connects to gateway…

//int forecast = sample(pressure);

Strange… Maybe you could try some other library? Like this:

It is actually a Pressure Not humidity sensor

BMP085