Posts with «controller» label

Balancing Robot Needs Innovative Controller and Motor

A self-balancing robot is a great way to get introduced to control theory and robotics in general. The ability for a robot to sense its position and its current set of circumstances and then to make a proportional response to accomplish its goal is key to all robotics. While hobby robots might use cheap servos or brushed motors, for any more advanced balancing robot you might want to reach for a brushless DC motor and a new fully open-source controller.

The main problem with brushless DC motors is that they don’t perform very well at low velocities. To combat this downside, there are a large number of specialized controllers on the market that can help mitigate their behavior. Until now, all of these controllers have been locked down and proprietary. SmoothControl is looking to create a fully open source design for these motors, and they look like they have a pretty good start. The controller is designed to run on the ubiquitous ATmega32U4 with an open source 3-phase driver board. They are currently using these boards with two specific motors but plan to also support more motors as the project grows.

We’ve seen projects before that detail why brushless motors are difficult to deal with, so an open source driver for brushless DC motors that does the work for us seems appealing. There are lots of applications for brushless DC motors outside of robots where a controller like this could be useful as well, such as driving an airplane’s propeller.


Filed under: robots hacks

Hackaday Prize Entry: [Nardax] Shoots Fireballs

If you’re looking for a high entertainment value per byte of code, [Nardax] has you covered with his wearable spellcasting controller. With not much effort, he has built a very fun looking device, proving what we’ve always known: a little interaction can go a long way.

[Nardax] originally intended his glorified elbow-mount potentiometer to be a fireworks controller. Ironically, he’s now using it to throw virtual fireballs instead. Depending on the angle at which he holds his elbow before releasing it, he can cast different spells in the game World of Warcraft. We’re not at all sure that it helps his gameplay, but we’re absolutely sure that it’s more fun that simply mashing different keys.

There’s a lot of room for expansion here, but the question is how far you push it. Sometimes the simplest ideas are the best. It looks like [Nardax] is enjoying his product-testing research, though, so we’ll keep our eyes out for the next iterations of this project.

We’ve seen a number of high-tech competitors to the good old power glove, and although some are a lot more sophisticated than a potentiometer strapped to the elbow, this project made us smile. Sometimes, it’s not just how much tech you’ve got, but how you use it. After all, a DDS pad is just a collection of switches under a rug.


Filed under: Arduino Hacks, The Hackaday Prize

A Command-Line Stepper Library with All the Frills

When you already know exactly where and how you’d like your motor to behave, a code-compile-flash-run-debug cycle can work just fine. But if you want to play around with a stepper motor, there’s nothing like a live interface. [BrendaEM]’s RDL is a generic stepper motor driver environment that you can flash into an Arduino. RDL talks to your computer or cell phone over serial, and can command a stepper-driver IC to move the motor in three modes: rotary, divisions of a circle, and linear. (Hence the acronumical name.) Best of all, the entire system is interactive. Have a peek at the video below.

The software has quite a range of capabilities. Typing “?” gets you a list of commands, typing “@” tells you where the motor thinks it is, and “h” moves the motor back to its home position. Rotating by turns, degrees, or to a particular position are simple. It can also read from an analog joystick, which will control the rotation speed forward and backward in real time.

Division mode carves the pie up into a number of slices, and the motor spins to these particular locations. Twelve, or sixty, divisions gives you a clock, for instance. Acceleration and deceleration profiles are built in, but tweakable. You can change microstepping on the fly, and tweak many parameters of the drive, and then save all of the results to EEPROM. If you’re playing around with a new motor, and don’t know how quickly it can accelerate, or what speeds it’s capable of, nothing beats playing around with it interactively.

Right now, there’s not much documentation aside from the code itself and the attached video, but actually that looks like all you’d need to get started. So if you’re looking to replicate Hackaday’s [Moritz Walter]’s excellent stepper-driver shootout, a tool like this is just the ticket.


Filed under: misc hacks

Heat Pump Gets Brain Transplant; Such is Life in Latvia

If you buy a used heat pump that was made in China and try to use it in Northern Europe, there are bound to be issues. If your heat pump ends up encased in a block of ice that renders it ineffective, you’ve got two choices: give up and pump a proper heater, or hack a new ice-busting brain board into the heat pump and get back to life.

A little too icy.

[Evalds] chose the latter course, obviously, and in the process he gives us a pretty good look at how heat pumps work and how to overcome their deficiencies. In [Evalds]’ Latvia, winters can be both cold and humid, which can worsen an inherent problem with air-coupled heat pumps: they tend to ice up. As the outside coil is cooled to pick up as much heat as possible from the outside air, water vapor condenses out on the coils and freezes. Most heat pumps account for this by occasionally running in reverse, heating the outdoor coils to clear the ice buildup. [Evalds]’  had nothing more than a simple timer to kick off the defrost cycle, and it wasn’t keeping up with the Latvian winter. An Arduino replaced the OEM controller, and wired up to temperature sensors and an IR sensor that watches for ice buildup on the lower part of the coil, the heat pump is now much better behaved.

Of course it wasn’t as smooth as all that — [Evalds] has some hoops to jump through, including EMI problems and a dodgy Arduino clone. But he stuck with it and brought the heat pump back online, likely at far less expense than HVAC techs would charge for a service call.


Filed under: home hacks
Hack a Day 28 Feb 18:00

Haptic game controller UnlimitedHand joins AtHeart!

We are excited to announce that UnlimitedHand is now an officially licensed Arduino AtHeart product. Created by Japanese startup H2L, the wearable controller straps around your forearm like an Ace bandage and allows you to actually touch and feel things within the gaming world.

UnlimitedHand consists of a 3D motion sensor, an array of muscle sensors, a multi-channel electronic muscle stimulator, and a vibration motor, which together, enable you to interact with objects and characters in VR. It does this by syncing the movement of a user’s hand and fingers with its virtual counterpart, and contracting the muscles on the wearer’s forearm to simulate haptic feedback.

With UnlimitedHand, not only will you be able to experience the ricochet of a gunshot or pet animals, but also hack various customized gestures thanks to its full compatibility with the Arduino IDE.

According to H2L:

Arduino, with their commitment to open-source, has reached out with their technology to muster a great force of Makers and inventors. This omni-present community has no doubt supported us in many ways during the development of UnlimitedHand. By joining the program, we can now present our results back to the community.

UnlimitedHand–which surpassed its Kickstarter goal in less than a day–is now available for purchase on Amazon and its website, as well as in retail stores throughout Japan.

Touchless MIDI: The Secret’s In the Mitten

MIDI is a great tool for virtually any musician. Unless you’re a keyboard player, though, it might be hard to use it live. [Evan] recently came up with a great solution for all of the wistful guitar players out there who have been dreaming of having a MIDI interface as useful as their pianist brethren, though. He created a touchless MIDI controller that interfaces directly with a guitar.

[Evan] set up an Arduino Nano to handle the MIDI interface to the computer. A detector coil from a previous project was installed onto the guitar can recognize how far away the guitarist’s hand is from the body of the guitar, giving the musician control over an effect of their choosing. The guitarist simply needs to be wearing a special mitten for use with the detector coil. [Evan] also added three tactile buttons, meaning that this MIDI usefulness can be extended to three different selectable effects.

Be sure to check out the video below for a demonstration of how the interface works. [Evan] has also made the schematics and Arduino code available if you decide to build your own. This isn’t [Evan]’s first MIDI rodeo, either. He’s also created a MIDI drum interface from a Rock Band drum set, too.


Filed under: musical hacks
Hack a Day 06 Nov 21:00

Wood Stove Runs on Arduino Power

Ahh, sweet scope creep! Usually it’s the death of a nice, simple little hack. But once in a hundred times, a small hack doesn’t get buried under the extra features, but instead absorbs them in stride and blossoms into a beautiful system. [rockfishon]’s Arduino-powered wood stove controller is one of these beautiful exceptions. (OK, we’d admit that it could use a fancier faceplate.)

He started off simply enough, wanting to connect a thermocouple to an Arduino, read out the value, and issue an alarm when the temperature got too high. But who could stop there? Just one air-baffle servo away from a closed-loop heating control system? So [rockfishon] added a display and a few more buttons and has a system that will keep his wood-burning stove running at exactly the right temperature, even overnight when nobody’s around to tend it. As a bonus, everything is logged for later analysis.

The code is relatively straightforward, and can be found in this Gist. If you’d like to build your own, you’ll need an Arduino Mega and can then get the control board made for you at OSHPark. Judging from the comments on the Hackaday.io project page, a couple people have already tried this out. We’ve seen other wood-stove monitoring hacks before, but this is the first we’ve seen that closes the control loop. Very cool.


Filed under: home hacks
Hack a Day 07 Mar 03:01

NES Reborn as Nexus Player and NES

Anyone who has a Raspberry Pi and an old Nintendo has had the same thought. “Maybe I could shove the Pi in here?” This ran through [Adam’s] head, but instead of doing the same old Raspberry Pi build he decided to put a Nexus Player inside of this old video game console, with great success. Not only does it bring the power of a modern media player, it still works as an NES.

If you haven’t seen the Nexus Player yet, it’s Google’s venture into the low-cost home media center craze. It has some of the same features of the original Chromecast, but runs Android and is generally much more powerful. Knowing this, [Adam] realized it would surpass the capabilities of the Pi and would even be able to run NES emulators.

[Adam] went a little beyond a simple case mod. He used a custom PCB and an Arduino Pro Micro to interface the original controllers to the Nexus Player. 3D printed brackets make sure everything fits inside the NES case perfectly, rather than using zip ties and hot glue. He then details how to install all of the peripherals and how to set up the Player to run your favorite game ROMs. The end result is exceptionally professional, and brings to mind some other classic case mods we’ve seen before.


Filed under: Android Hacks

Rocket Controls Fit for a Kerbal

Kerbal Space Program is a space simulation game. You design spacecraft for a fictional race called Kerbals, then blast those brave Kerbals into space. Sometimes they don’t make it home.

If controlling spacecraft with your WASD keys isn’t immersive enough for you, [marzubus] has created a fully featured KSP control console. It sports a joystick, multiple displays, and an array of buttons and switches for all your flight control needs. The console was built using a modular approach, so different controls can be swapped in and out as needed.

Under the hood, three Arduinos provide the interface between the game and the controls. One Arduino Mega runs HoodLoader2 to provide joystick data over HID. A second Mega uses KSPSerialIO to communicate with the game over a standard COM port interface. Finally, a Due interfaces with the displays, which provide information on the current status of your spacecraft.

All of the parts are housed in an off the shelf enclosure, which has a certain Apollo Mission Control feel to it. All [marzubus] needs now is a white vest with a Kerbal badge on it.


Filed under: Arduino Hacks

Get Better at Mortal Kombat by Hacking Your PS3 Controller

Fighting games like Mortal Kombat provide you with a variety of different available moves. These include kicks, punches, grabs, etc. They also normally include various combination moves you can perform. These combo moves require you to press the proper buttons in the correct order and also require you to time the presses correctly. [Egzola] realized that he could just hack his controller to simulate the button presses for him. This bypasses the learning curve and allows him to perform more complicated combinations with just the press of a single button.

[Egzola] started by taking apart his Playstation 3 controller. There were two PCB’s inside connected by a ribbon cable. Luckily, each individual pad for this cable was labeled with the corresponding controller button. This made it extremely simple to hack the controller. [Egzola] soldered his own wires to each of these pads. Each wire is a different color. The wires then go to two different connectors to make them easier to hook up to a bread board.

Each wire is then broken out on the breadboard. The signal from each button is run through a 4n25 optoisolator. From there the signal makes its way back to various Arduino pins. The 4n25 chips keeps the controller circuit isolated from the Arduino’s electrical circuit. The Arduino also has two push buttons connected to it. These buttons are mounted to the PS3 controller.

Now when [Egzola] presses one of the buttons, the Arduino senses the button press and simulates pressing the various controller buttons in a pre-programmed order. The result is a devastating combination move that would normally require practice and repetition to remember. You might say that [Egzola] could have spent his time just learning the moves, but that wasn’t really the point was it? Check out the video below for a demonstration.


Filed under: Arduino Hacks