As the WeDo USB Hub uses some kind of ADC (Analog to Digital Converter) to read the tilt sensor values, we can use this ADC for our own analog sensors.
So let’s start with a Temperature Sensor.
The most simple/easy temperature sensor is just a NTC thermistor: every regular resistor has some minor variations when the operating temperature changes and a thermistor is just a resistor designed to have a significant and well-known variation. A NTC (negative temperature coefficient) thermistor has a decrease in it’s value proportional to the temperature increase.
We can buy a cheap (less than €1) 10 kΩ NTC thermistor and use it as a temperature sensor knowing that at 25°C (average ambient temperature) it has a 10 kΩ value – we also need to know its temperature coefficient from the manufacturer datasheet or from our own calibration tests. Just solder two wires and provide some insulation and we’re done:
Or we can just use an old LEGO Mindstorms (RCX) Temperature Sensor 🙂
To use this sensor we can make our own cable with just one 3.9 kΩ resistor between C1 and 0 to makes the WeDo think we have a tilt sensor connected to it. Then we connect our sensor between C2 and 0 or between C2 and 9V.
Our we can piggyback a real tilt sensor with a modded cable and just connect our sensor to it:
In this scenario we must assure that the tilt sensor always stays flat so it doesn’t get in our way when we’re reading the temperature sensor and since the tilt sensor already has a 10 kΩ resistor between C2 and 0 I prefer to connect the sensor between C2 an 9V.
Early first readings, room temperature compared to the readings from a SensorTag :
RAW | Temp (°C) |
159 | 20 |
158 | 20 |
165 | 36.5 |
157 | 19.8 |
157 | 19.5 |
157 | 19.6 |
156 | 18.8 |
157 | 19 |
156 | 18.9 |