The idea here is pretty simple: use a remote temperature sensor to tell a fan located behind the fireplace when it’s time to kick on and start sharing some of that warmth with the rest of the house. But as usual, it ended up being a bit trickier than anticipated. For one, when [Ben] took a close look at the Vornado 660 fan he planned on using, he realized that its speed controller was “smart” enough that simply putting a relay on the AC line wouldn’t allow him to turn it on and off.
So he had to do some reverse engineering to figure out how the Sonix SN8P2501B microcontroller on the board was controlling the fan, and then wire the Photon directly to the pins on the chip that corresponded with the various physical controls. This allows the Photon to not only “push” the buttons to trigger the different speeds, but also read the controls to see if a human is trying to override the current setting.
For the remote side [Ben] is using a Particle Xenon, which is specifically designed for Internet of Things endpoints and sensor applications. Combined with a TMP36 temperature sensor and 3.7 V 500 mAh battery, this allowed him to easily put together a wireless remote thermometer that will publish the current temperature to the Photon’s mesh network at regular intervals.
Servos are extremely versatile actuators used in a large number of applications which need controlled mechanical movement. The usual way of driving them is by using a PWM output from a micro-controller. But if you’re building a robot or a drone which requires a large number of servos, then it makes sense to add smarts directly to the servo.
[Alvaro Ferrán Cifuentes] did just that by building IntelliServo – an add on board which makes regular servos smart by giving them enhanced capabilities as found in high-end versions. His approach is different compared to other takes on this theme. The IntelliServo is designed to replace the electronics in any regular servo and is not limited to any particular make or type. Once upgraded, it’s possible to read the servos position, temperature and current consumption. This allows interesting uses, such as controlling one servo by moving another one, or detecting collision or stalling by monitoring the servo current. Multiple servos can be daisy-chained and controlled over I²C from a micro-controller, or over USB directly from a computer. Each board features an LPC11U24 32-bit Cortex-M0 micro-controller, a DRV8837 motor driver, a TMP36 temperature sensor and a PCA9508 I²C repeater.
The project is open source and the Github repository contains the board design, Arduino library and examples, servo firmware and mechanical parts as well as use instructions. It’s a modular design which allows using either an external controller or running it directly via the on-board micro-USB socket. Check out the videos after the break to see the IntelliServo in action.
[Andy] is getting his garden up and running. This year it’s been pretty cold so he decided to get small plastic domed tunnel which acts as a mini greenhouse. To help monitor that environment he built this sensor array which displays temperature and soil moisture readings.
Temperature is quite simple. He’s using a TMP36 sensor which is held a few inches above the soil. The moisture sensor is of his own design. It uses two building screws embedded in foam. These are pushed into the soil and a resistance reading indicates moisture level. By driving voltage on one screw, and measuring voltage on the other he gets some useful data. It’s not a standardized value, but observation over time will let him know how the scale relates to dry or wet soil.
During the build process he found that he needed a pull-down resistor on the probe used to take the moisture measurement. He also uses an I/O pin to drive the other screw. This gives him a way to shut off the juice when not taking a reading. We just hope he’s either got a current limiting resistor, or is using a transistor to drive it high.