Automated Faucet Keeps Your Cat Watered

Like many of us [Chris Dillon]’s cat prefers to drink cold fresh water directly from the tap. However, unlike us, [Chris]’s feline buddy is too preoccupied with cat stuff to bother flipping off the faucet after its use. As it turns out, this was an excellent opportunity not only for [Chris] to flex his project muscles, but also to lay the groundwork for future home automation projects.  While most of us may go for a simple solenoid [Chris] had to make the rig completely reversible. The result is an automated  faucet control which involves an infrared sensor, Arduino,  and tight fitting rail system with a servo to operate the sink handle.

After getting all of the hardware and the sensor sorted [Chris] went on to add a data logging PC to the mix. The faucet setup communicates with a Linux server via Xbee modules, and populates a MongoDB database. The setup even allows [Chris] to flag false positives (human sink use for example) and produce charts of his feline friend’s water usage. We suspect the cat will be none too pleased when it gets its water bill.

Don’t forget to check out [Chris Dillon]’s site for details on the project including code and a list of lessons learned. Also, since this is the internet after all, we have several other cat related projects for your viewing pleasure.

[Thanks Chris Burrows (and nephew)]

Check out a video of the setup in action after the jump.

Continue reading “Automated Faucet Keeps Your Cat Watered”

RF Robot Controlled From A Terminal Window

This robot can be controlled from the terminal window of your computer. You can see a manilla-colored board mounted between the wheels. This is the RF receiver which has quite a long antenna that we’ve cropped out to get a better look at the bot itself. [Ashish] picked up an RF transmitter/receiver pair for about $4 and after the break you can watch him walk us through the method he’s using for control.

First off, he had to find a way to interface the transmitter with his computer. He decided to use an Arduino because sending data to it from the computer is as simple as writing to /dev/ttyUSB0. The Arduino sketch just listens for incoming characters on the serial connection and pushes them over the RF transmitter.

We like his development methods. In the video he shows the command syntax used to drive and stop the robot. Once he figured that out he wrote a shell script to send the bot on a preprogrammed square path. From there a bit more coding would give him real-time control which could be extended to something like a web-based interface for smartphone control.

Oh, and if you’re wondering about the bot itself it’s a kit robot which normally uses IR control. [Ashish] upgraded to RF since it doesn’t require line-of-sight to work.

Continue reading “RF Robot Controlled From A Terminal Window”

Sound Localization And A Treaded Rover

soundlocalization_and_a_robot

[Jad] recently wrote in to share a pair of projects that have been keeping him busy as of late.

The first is a sound localization system not unlike one we showed you a few weeks ago. The difference is that his system displays the sound source via a set of LEDs rather than by motion, making it far less prone to interference by things like servo noise. His system uses four identical circuits, each of which are wired to a separate analog input on the Arduino. Each channel is adjustable, making it easy to tweak how the system responds to a particular sound.

His second project is a sizable robot built on the Motoruino platform. His contraption features several stacked control boards that handle the bots locomotion as well as camera control. It connects to his computer via a Bluetooth module that boasts a 1 mile range, allowing him to control everything from his PC. [Jad] is using the robot as a prototype for a much larger scale creation, and he says that his current focus is getting the robot to track and follow objects automatically using the on-board camera.

Continue reading to see a small preview of his bot’s progress so far.

Continue reading “Sound Localization And A Treaded Rover”

Wireless 4 Channel Temperature Monitor From Arduino Libraries

Say what you will about the Arduino platform but there certainly are a ton of libraries one can choose from. That is precisely what [Dan Julio] set out to do when building his slick looking 4 channel temperature monitor. The monitor consists of an Arduino RBBB, 2×16 character LCD and four DS18B20 1-wire digital thermometers. [Dan] also includes a bluesmirf to interface with an OS X monitoring program.  Using libraries for the Bluetooth, LCD, and temperature monitors the Arduino code is only about 200 lines, and pretty easy to follow. Check out more at [Dan]’s site.

If you’d like more temperature sensor projects check out this mug or this PIC based monitor or perhaps you’d like to keep it in the Atmel family.

BAMF2011: ChipKIT Is Arduino To The Power Of 32

If you’ve been hungry for more power for your microcontroller projects, but reluctant to dump your investment in Arduino shields or the libraries and community knowledge that go with them all, Digilent has you covered. Their new chipKIT boards are built around the Microchip PIC32 MCU…a powerful 32-bit chip that until recently was left out of the cross-platform scene. A majority of code and quite a number of Arduino shields will work “out of the box” with the chipKIT, and the familiar development tools are available for all three major operating systems: Windows, Mac and Linux.

We first mentioned these a couple weeks ago, but the software was unavailable at the time. Seeing the development tools in action was quite unexpected…

Continue reading “BAMF2011: ChipKIT Is Arduino To The Power Of 32”

Arduino I2C Sniffer

[Johngineer] found himself in need of an I2C sniffer, but didn’t have one available. Necessity is the mother of invention, so he put together this I2C sniffer sketch for Arduino. The arduino will record what is going on for a set time interval, then dump the data via serial as a .csv. You then have to plot it to see what is going on. [Johngineer] recommends Livegraph, since it is portable and easy. As you can see in the code, the time interval is adjustable, but you have the physical limitations of the RAM on the board to consider. This seems like a pretty handy piece of code stored around, effectively giving you a passable I2C sniffer in a pinch.

Fixing Arduino’s Serial Latency Issues

arduino_latency

[Paul] wrote in to tell us about some interesting Arduino latency issues he helped nail down and fix on the Arduino.

It seems that [Michu] was having some problems with controlling his Rainbowduino project we featured earlier this year, and he couldn’t quite figure out why he was experiencing such huge delays when sending and receiving data.

Searching online for answers turned up very little, and since [Michu] was using Processing, the pair designed a set of tests to see what kind of latency was being introduced by Java. Pitting an Arduino Uno and an Arduino from 2009 against a Teensy 2.0, the tests gauged the latency of native data transfers versus transfers facilitated by Java via the rxtx library it uses for serial communications.

The results were pretty stunning. While both of the Arduinos lagged behind the Teensy by a long shot, their latency values under Java were always 20ms at a minimum – something didn’t add up. [Michu] poked around in the rxtx code and found a mystery 20ms delay programmed into the serial library. It made no sense to him, so he changed the delay to 2ms and saw a drastic increase in performance when transferring less than 128 bytes of data.

The pair’s fix doesn’t seem to affect latency when larger amounts of data (>1kB) are being transferred, but it makes a world of difference when manipulating smaller chunks of data.

For the sake of disclosure, it should be noted that [Paul’s] company produces the Teensy mcu.