Cheap keyboards never come with extra buttons, and for [Pengu MC] this was simply unacceptable. Rather than go out and buy a nice keyboard, a microcontroller was found in the parts drawer and put to work building this USB multimedia button human interface device that has the added bonus of looking like an old-school Walkman.
The functions that [Pengu MC] wants don’t require their own drivers. All of the buttons on this device are part of the USB standard for keyboards: reverse, forward, play/pause, and volume. This simplifies the software side quite a bit, but [Pengu MC] still wrote his own HID descriptors, tied all of the buttons to the microcontroller, and put it in a custom-printed enclosure.
If you’re looking to build your own similar device, the Arduino Leonardo, Micro, or Due have this functionality built in, since the USB controller is integrated on the chip with everything else. Some of the older Arduinos can be programmed to do the same thing as well! And, with any of these projects, you can emulate any keypress that is available, not just the multimedia buttons.
When [Adam] found himself in need of a force meter, he didn’t want to shell out the cash for a high-end model. Instead, he realized he should be able to modify a simple and inexpensive kitchen scale to achieve the results he desired.
The kitchen scale [Adam] owned was using all through hole components on a double-sided PCB. He was able to easily identify all of the IC’s and find their datasheets online. After doing some research and probing around with a frequency counter, he realized that one of the IC’s was outputting a frequency who’s pulse width was directly proportional to the amount of weight placed on the scale. He knew he should be able to tap into that signal for his own purposes.
[Adam] created his own custom surface mount PCB, and used an ATMega8 to detect the change in pulse width. He then hooked up a Bluetooth module to transmit the data wirelessly. These components required no more than 5V, but the scale runs from two 3V batteries. Using what he had on hand, [Adam] was able to lower the voltage with just a couple of diodes.
[Adam] managed to cram everything into the original case with little modification. He is now considering writing an Android application to interface with his upgraded kitchen scale.
Persistence of vision displays are always cool, although we must admit this one looks like it could very well explode at high speeds…
Safety concerns aside, this desk fan based display provides a great starting point for learning about making POV displays. It makes use of an old cellphone battery, an ATmega8, some LEDs, Veroboard, assorted wires and solder and of course, a high-speed desk fan.
[shparvez001] also provides the full code on his blog for the project, making it very easy to replicate. Though we might also suggest you keep it small enough that the original fan cage still fits on top.
From an aesthetic point of view, the display looks fine in the dark — but when the lights are on you might get some odd looks. We can see this project being greatly improved by mounting the LEDs through one of the fan blades, and the control electronics on the back side of the other blades. Maybe throw in some wireless charging for the battery while the fan is off too?
Anyway, stick around after the break to see the display in action. If you want a more permanent fan POV try adding display hardware to a ceiling unit.
Continue reading “POV Display with an Element of Danger”
[Jan] works with both physically and mentally disabled individuals, some of whom cannot read, making many of their tasks more difficult. Although [Jan] is not in a position to teach reading or writing skills, he was able to build an add-on device for the scales used in repackaging sweets to provide simple feedback that the user can interpret.
The device has three LEDs—red, green, and yellow—to indicate the package does not weigh enough (red), weighs too much (yellow), or lies within an acceptable range (green). The industrial scales at [Jan's] workplace each have a serial output to connect to a printer, which he used to send data to the device. An ATMega8 controls the lights and an attached LCD, with the usual trimpot to change the display’s contrast and a rotary encoder to adjust the device’s settings. Everything fits snugly into a custom-made frosted acrylic enclosure, laser-cut at a local hackerspace.
[Jan] provides a rigorous guide to approaching each step on his Instructables page, along with source code and several pictures. See a video overview below, then enjoy another scale hack: building one from scratch.
Continue reading “Hacking Digital Scales for the Disabled”
[Davide] saw our recent post on magnetic levitation and quickly sent in his own project, which has a great explanation of how it works — he’s also included the code to try yourself!
His setup uses an Atmega8 micro-controller which controls a small 12V 50N coil using pulse-width-modulation (PWM). A hall effect sensor (Allegro A1302) mounted inside the coil detects the distance to the magnet and that data is used by a PID controller to automatically adjust the PWM of the coil to keep the magnet in place. The Atmega8 runs at 8Mhz and the hall effect sensor is polled every 1ms to provide an updated value for the PWM. He’s also thrown in an RGB LED that lights up when an object is being levitated!
So why is there a kid with a floating balloon? [Davide] actually built the setup for his friend [Paolo] to display at an art fair called InverART 2013!
After the break check out the circuit diagram and a short demonstration video of the device in action!
Oh yeah, those of you not impressed by magnetic levitation will probably appreciate acoustic levitation.
Continue reading “AVR Atmega based PID Magnetic Levitator”
[Davide Gironi] shows us how to implement a sensorless brushless DC motor controller (sensorless BLDC) using an ATmega8 microcontroller. In order to control a BLDC motor you need to know its rotational sequence position and speed so you can calculate and apply the correct current phase sequence to the motor windings at just the right time.
Simply said, sensorless BLDC means you’re not using a purpose built sensor to determine the motor’s position and speed, however, you are sensing the motor’s sequence position using the back EMF signal coming from one of motor’s coils that is not currently receiving power. When this back EMF signal crosses zero voltage a microcontroller can calculate the rotational speed and when to switch to the next power sequence. This technique is not good for position control motors but is great for continuous motors like computer fans and drives were the slightly reduced wiring costs make this type of BLDC control favored.
If you want to build a BLDC controller we recommend starting with [Davide’s] last project on sensor controlled BLDC motors. You can also checkout these interactive demonstrations for more understanding on the different BLDC configurations.
Follow along after the break to watch the video demonstration of [Davide’s] sensorless BLDC controller controlling a motor from CD-ROM drive.
Continue reading “Build a Sensorless Brushless DC Motor Controller”
You know when you see something like this it’s just going to be awesome, and we weren’t disappointed by our first impression. [Davide Gironi] built a brushless motor controller from the ground up using an ATmega8 as the brain. If you want to understand every aspect of a subject this is how to do it. Lucky for us he explains what each portion of the prototype does.
Brushless motors have no brushes in them (duh). But what does that really mean? In order to spin the motor a very carefully crafted signal is sent through the motor coils in the stationary portion (called the stator), producing a magnetic field that pushes against permanent magnets in the rotor. A big part of crafting that signal is knowing the position of the rotor. This is often accomplished with Hall Effect sensors, but can also be performed without them by measuring the back EMF in the coils not currently being driven. The AVR-GCC compatible library which [Davide] put together can be tweaked to work with either setup.
Get a good look at the system in action after the break.
Continue reading “Building a brushless motor controller around an ATmega chip”