One of my early projects was to build a fire extinguishing robot. I did this using the parts I had at the time. It was based on a walker platform and used a pneumatic circut to “blow” the fire out when detected. It worked reasonably well with the provided light sensor. Recently, I discovered the PIR (Passive Infrared Sensor) from TechnoStuff. This sensor was built to detect infrared heat and seemed to be a good fit for my next project. I mounted it to my new FireBot in tandem with a standard light sensor. Together, they would do the job of detecting a flame.
A candle was used as the “fire” in this project. The PIR sensor was mounted alongside with the standard Lego Light Sensor. For more details on this sensor, visit my Reviews section.
A front view shows the PIR and the Light sensor. The code was straight forward. When the sensor detects a value > 40, it “see’s” heat. In order to get accurate readings for this, it is recommended to take numerous readings (say once ever 20ms) and average them. This is to avoide variances in the sensor detecting other movement such as humans or other devices giving off infrared. As noted previously, the robot used both the PIR and a Light sensor together to detect the fire. By taking readings from both sensors and comparing their results to what would be expected when a flame is near, the robot was better able to detect the flame. Without the Light sensor, the readings were not accurate enough to detect the candle. The trick here was that the candle flame was too small for the PIR sensor to accurately detect it on its own. The combination of the Light and PIR sensor allowed the robot to better “find” the candle flame first, and then detect and verify it before turning the fan on to blow it out. Had the flame been a larger one (say a light bulb), the PIR sensor would have been better able to detect this on its own.
Looking to the bottom of the picture, you will also see a DIRPD sensor. I ended up using this sensor for object avoidance in place of the dual Cybermaster touch sensors. As it goes, why bother hitting something. Avoid it in the first place… I have been very happy with this DIRPD sensor and use it on most of my robots now. I look forward to getting my copy of the new NXT set to compare this against the new Utrasonic sensor that comes with it.
A close-up view of the PIR sensor and the candle blow out assembly.
As with many of my other bots, I tend to overbuild them. In this case, I decided to install an extra light sensor in the bottom. This could be used to have it follow a line drawn that would lead the bot to the candle.
Extra sensors were used in object avoidance. In this case, I used 2 Cybermaster touch sensors multiplexed on 1 port to detect obstacles and react.
A close-up view of the drive units. I wanted to bot to be able to navigate with some speed, so gear reduction was minimal.
hi, i am planning to do something similar to this project with the difference that what i want is a robot which senses the candles, turns and moves towards them, and when it is close enough, blows off the candles. However the problem is that i am already stuck…any suggestions from where to start, sensors to use and methods to do it? thanks for your help
Hi Jean Paul,
Im not sure what you are trying to do is any different than what FireBot does. Have a read through and note the PIR sensor from TechnoStuff. You can even use this sensor on the NXT with a RCX to NXT converter cable. As for programming, you can do as I did and use a combination of a Light Sensor as well as the PIR sensor. Dont worry about navigation at first, just hook up the two sensors and have them return some information while pointing them to your light source. Since you are want to detect heat (or IR), then you will have to be careful when testing if you are using candles. I suggest doing this outside, or find an alternate source of heat that is safe to test with. What you may find is the light and PIR sensor values can help you both when you are far from the object as well as close. When you are further away, you will have light sources (affecting the light sensor) and heat sources (affecting the PIR sensor) that will affect the readings you get. You will have to observe values both far and close and see how you can make the values from both sensors work to have your robot find the candle.
Once you know the values to watch out for, simply put them in a case statement to guide your robot toward the flame. When the PIR sensor returns a high value (determined during testing) you can stop the robot and have it switch on a fan or something to blow out the candle. Hope that helps.
Did you try http://www.techno-stuff.com?