WAV Playback With An ATmega32

[Vinod Stanur] just finished another hobby project by building a WAV audio player using a microcontroller. He had started development a while back using a PIC microcontroller. But the chip he was using didn’t have enough SRAM to allocate as a playback buffer. When he got his hands on an ATmega32 his mind turned back to the project and he saw it through to the end.

He takes advantage of what he learned on several earlier builds. He’s using a TV remote as input, just like his Snake game did. Storage is provided by an MMC card, a trick he perfected with this voice recorder project. Instead of using a FAT library, he uses his own code to read the linked-list (File Allocation Table) for sector addresses, then he parses the WAV header and processes the file accordingly.

Playback uses two 512 byte buffers. One is feeding the output while the other is being populated from the memory card. When the output buffer is exhausted the two are swapped and the process continues. You’ll find [Vinod’s] demo of the project after the break.

Continue reading “WAV Playback With An ATmega32”

Hexbug Code Rewrite Makes It A Walking Line-follower

You know you’ve got a good hardware platform if you can easily repurpose it with a code rewrite. And that’s what [Eric] continues to do with these little Hexbugs. This time around he’s bent the IR emitter and receiver downward to use as a reflectance sensor. This gives it the ability to follow a dark line on a light surface.

He originally patched an MSP430 into the $25 RC toy. The IR pair was intended for obstacle avoidance, which we saw in a recent links post. This hack does a great job of repurposing the avoidance system. Since the add-on hardware is mounted on a motorized turret, the single sensor pair can sweep back and forth to find the line it will follow. In one way this is better than most line followers which use multiple sensors mounted to the body. But the drawback is that this results in slower travel and won’t be winning any contests. Don’t miss the demo clip after the break.

Continue reading “Hexbug Code Rewrite Makes It A Walking Line-follower”

Flexible Web Interface Makes The Universal Remote Nearly Perfect

[Fall Deaf] built an Arduino based universal remote control system. It uses a shield which has both an IR receiver and transmitter. This gives it the tools to learn codes from your existing remotes and play them back in order to control the devices. This functionality is really nothing new, but we think the user interface he developed for the system is absolutely fantastic!

Software is web-based. You can simply point a remote at the Arduino and push a button. The receiver will store the code which can later be assigned to a virtual button. The image above shows the channel-up option being created; it will be added to the list once confirmed. From there any web enabled device – smart phone, tablet, netbook, etc – can be used as the remote for the system. The only feature we think is missing is the ability to alter the layout of the buttons, with larger areas for the most frequently used commands.

After the break you can see a demonstration of this system, as well as the one extra feature we haven’t touched on yet. [Fall Deaf] included a Piezo element in the hardware design which lets him knock on his coffee table to use the remote if a smart-device isn’t close at hand.

Continue reading “Flexible Web Interface Makes The Universal Remote Nearly Perfect”

Jam A Remote Helicopter

The Syma S107 IR is a popular little remote controlled helicopter. When a friend of [Michael]’s started flying one around the office he decided to try and jam the signal, creating a no fly zone. Luckily some people on the internet have already decoded the IR signals used by the flying menace. From there, a quick browsing of Mouser to source some LEDs, and to whip up some code for a TI MSP430 was all that was left.

The software on the micro controller is set to broadcast a “thrust off” signal, but [Michael] admits he is not 100% sure if the helicopter is actually receiving that, or if the signal from the no fly zone is mixing with the remote’s signal, causing garbage to be received. Either way when the helicopter gets in range of the no fly zone pad it drops from the air.

Things didn’t go perfectly though, overestimating the current capabilities of the MSP was causing the micro controller to reset and crash the debugger. But a simple rearrangement of how the signals are sent quickly solved this problem.

Join us after the break for a quick video.

Continue reading “Jam A Remote Helicopter”

The EMGRobotics Robot Control Board

There are many microcontrollers available to make robots with, but few that are built with the exact features that you would need to construct one. Meet the [EMGRobotics  MSP430G2553] robot controller board.

At $15 without the CPU or $17 with a [MSP430G2553] already plugged into the socket, this control board may make some Arduino enthusiasts take note for their next project.  Besides a very attractive price (you’ll have to go to the home page to make a purchase), this board ships with a built in IR range sensor and accommodations to drive up to four hobby servo motors. If this isn’t enough for you, two 3 volt DC motors can be soldered directly to connections on the board and controlled independently and in either direction. In other words you don’t have to muck about with trying to build your own H-bridge circuit, it’s all taken care of for you!

The article shows it controlling a Hexbug spider. [EMGRobotics] has actually done something similar (and well-documented) before with this platform, so be sure to check out the post about hacking the Hexbug iteslf!

Computer-aided Paint Brush

[Nirav] painted this masterpiece by hand… with a little help from a computer. He calls it the semi-automatic paintbrush because you do need to move it over the canvas by hand, but a computer decides when to dispense the ink.

He’s using a piece of hardware we looked at back in September called the InkShield that got a boost from Kickstarter. It’s an Arduino shield that drives an inkjet printer cartridge. The trick is how to know when the cartridge is in position for printing.

The system uses visual processing for that. [Nirav] added an IR led to the cartridge, and uses a camera to extrapolate its position. He actually reused a Python homography module which he had written for use with a projector. That setup was developed as a digital white board, but works just as well for this purpose.

He mentions that results like this won’t be featured in an art museum. But the look is unique, and we’d love to make a set of geeky thank-you notes using the technique.

Controlling Your Christmas Lights Without Ever Getting Off The Couch

remote-xmas-tree-light-switch

14 year-old [Connor Smith] has been busy this holiday season, thinking up ways to improve the lighting situation at home.

A few weeks ago he put together this 3-channel light controller to toggle his parents’ external lights, incorporating an Arduino for control. The Arduino was used to switch the channels on and off at specified intervals in order to create a simple light show on the house’s exterior. Not satisfied with just a few strings of blinky lights, he took his controller back inside for some additional modifications.

He had grown tired of crawling behind the Christmas tree to plug and unplug it every day, and decided to make things easier on himself. He stripped the IR receiver out of an old VCR and interfaced it with the Arduino in his light controller using the IRremote library. After taking a bit of time to decode the values for two infrequently used buttons on his TV remote, he had himself a Christmas tree light switch that he could activate from across the room.

Check out the short video below to see his remote switch in action.

Continue reading “Controlling Your Christmas Lights Without Ever Getting Off The Couch”