Hi Giorgio, I don't know about the internal temperature sensor of the msp430. If your motes are equipped with the external sensors (this is optional, so make sure you have the sensors), I would strongly recommend to use them.
You seem to do the wiring correctly. But then you seem to use the conversion for the internal sensor of the Msp430 even though your data comes from the sensirion sensor. You can look the exact conversion formula up in the data sheet of the sensirion sensor (you'll find it online). I use the formula for degrees Celsius (val - 3955) / 100. For your reading, this gives me a temperature of about 29.2 degrees Celsius. Note that the temperature indicated by the sensor is a couple of degrees higher if the mote is connected to a USB port. This is because the DC-DC converter on the mote (5V -> 3V) heats the circuit board up a bit. If the mote is battery powered, the readings should be much better. Cheers, Urs giorgio wrote: > I use TinyOS 2.1 with telosb and I know that the sensor on telosb are Sht11 > and HamamatsuS10871TsrC and HamamatsuS10871ParC , The component which I use > in my configuration file GestioneC are > > components new SensirionSht11C(); > components new HamamatsuS10871TsrC() as PhotoActiveC; > components new HamamatsuS1087ParC() as TotalSolarC; > > and the interface I use in module Sensori1 are > interface Read<uint16_t> as ReadVisible; > interface Read<uint16_t> as ReadNotVisible; > interface Read<uint16_t> as ReadTemp; > interface Read<uint16_t> as ReadHum; > > and so I can wire the interfaces with the components as follow: > Sensori1.ReadHum ->SensirionSht11C.Humidity; > Sensori1.ReadTemp ->SensirionSht11C.Temperature; > Sensori1.ReadNotVisible -> PhotoActiveC; > Sensori1.ReadVisible -> TotalSolarC; > > Making this when I do make telosb I have no errors but when i read sensors > with > call ReadTemp.read(); > call ReadHum.read(); > call ReadVisible.read(); > call ReadNotVisible.read(); > > I obtain a value for the temperature that isn't right because I have at > ReadTemp.Done at whether temp 6876 (((6876/4096)*1,5)-0,986)/0,00355 = 431.I > say this because the components > /** > * Msp430InternalTemperatureC is the temperature sensor available on > * the msp430-based platforms. > * > * To convert from ADC counts to temperature, convert to voltage by > * dividing by 4096 and multiplying by Vref (1.5V). Then subtract > * 0.986 from voltage and divide by 0.00355 to get degrees C. > */ > The second problem is :I'd like to use > interface SensirionSht11 as Sensor > but I'm not able to connect to any component.This interface provides right > command as : > call Sensor.measureHumidity(); > call Sensor.measureTemperature(); > So How to use the interface SensirionSht11 and how to trasform the value of > the Read.read interface of Temperature sensor ? > Thank in advance > > Giorgio _______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
