Anyone who’s ever tried to build a bipedal robot will quickly start pulling their own hair out. There are usually a lot of servos involved, and controlling them all in a cohesive way is frustrating to say the least. [Mark] had this problem while trying to get his robot to dance, and to solve it he built a control system for a simple bipedal robot that helps solve this problem.
[Mark]’s robot has six servo motors per leg, for a total of 12 degrees of freedom. Commands are sent to the robot with an RC radio, and the control board that he built, called the Smart Servo Controller, receives the signals and controls the servos appropriately. There are 14 outputs for servos, operating at 12 bits and 50 Hz each, as well as 8 input channels. The servo controller can be programmed on a computer with user-selectable curves for various behaviors for each of the servos on the project. This eliminates the need to write cumbersome programs for simple robot movements, and it looks like it does a pretty good job!
Full disclosure: [Mark] currently has this project up on Kickstarter, but it is a unique take on complex robot control that could help out in a lot of different ways. Since you don’t need to code anything, it could lower the entry barrier for this type of project, possibly opening it up to kids or school projects. Beyond that, even veterans of these types of projects could benefit by not having to do as much brute-force work to get their creations up and moving around!
Continue reading “Walk Your Pet Robot”
Microcontroller-based projects don’t have to be fancy to be fantastic. Case in point: [r0d0t]’s “Musicomatic: the random jazz machine“. Clever programming and a nice case can transform a few servos and a microcontroller into something delightful.
Hardware-wise, there’s really nothing to see here; a speaker and some servos are hooked up to an ATmega328. We think it’s cute to have the microcontroller control its own power supply through a relay, but honestly a MOSFET in place of the relay or better still using the AVR’s shutdown sleep mode would be the way to go.
Nope, where this project shines is the programming. Technically, it might make some of you cringe — full of blocking delays and other coding “taboos”. But none of that matters, because [r0d0t] put his work in where it counts: the music. You simply must hear it for yourself in the clip after the break.
The basis of making music that humans like is rhythm, so [r0d0t] doesn’t leave this entirely to chance. The array “rhythms” has seven beat patterns that get randomly selected. The other thing humans like is predictability and repetition, so choruses and “improvs” repeat as well. All of the random notes are constrained to the pentatonic scale, which keeps it from ever sounding too bad. (The secret sauce of Kenny G.)
In short, [r0d0t] packs a lot of basic music theory into a very basic device, and comes up with something transcendent. We’re a bit reminded of the Yellow Drum Machine robot, and that’s high praise. Both projects are testaments to building something simple and then investing the time and effort into the code to make the project awesome.
For another slice of [r0d0t]’s excellent minimalist pie, check out his take on the classic Snake game: Twisted Snake.
Continue reading “Tiny Robot Jazz”
Back when he was about seven years old, [Ytai] learned to program on an Atari 800XL. Now he has a seven-year-old of his own and wants to spark his interest in programming, so he created these programmable LEGO bricks with tiny embedded microcontrollers. This is probably one of the few times that “bricking” a microcontroller is a good thing!
The core of the project is the Espruino Pico microcontroller which has the interesting feature of running a Java stack in a very tiny package. The Blocky IDE is very simple as well, and doesn’t bog users down in syntax (which can be discouraging to new programmers, especially when they’re not even a decade old). The bricks that [Ytai] made include a servo motor with bricks on the body and the arm, some LEDs integrated into Technic bricks, and a few pushbutton bricks.
We always like seeing projects that are geared at getting kids interested in creating, programming, and hacking, and this certainly does that! [Ytai] has plans for a few more LEGO-based projects to help keep his kid interested in programming as well, and we look forward to seeing those! If you’re looking for other ways to spark the curiosity of the youths, be sure to check out the Microbot, or if you know some teens that need some direction, perhaps these battlebots are more your style.
Wheeled and tracked robots are easy mode, and thanks to some helpful online tutorials for inverse kinematics, building quadruped, hexapod, and octopod robots is getting easier and easier. [deshipu] came up with what is probably the simplest quadruped robot ever. It’s designed to be a walking robot that’s as cheap and as simple to build as possible.
The biggest problem with walking robots is simply the frame. Where a wheeled robot is basically a model car, a walking robot needs legs, joints, and a sturdy frame to attach everything to. While there are laser cut hexapod frames out there, [deshipu]’s Tote robot uses servos for most of the skeleton. The servos are connected to each other by servo horns and screws.
The electronics are based on an Arduino Pro Mini, with a PCB for turning the Arduino’s pins into servo headers. Other than that, a 1000uF cap keeps brownouts from happening, and a 1S LiPo cell provides the power.
Electronics are easy, and the inverse kinematics and walking algorithms aren’t. For that, [deshipu] has a few tutorials for these topics. It’s a very complete guide to building a quadruped robot, but it’s still a work in progress. That’s okay, because [deshipu] says it will probably remain a work in progress until every kid on Earth builds one.
[Brian B] found a handful of servos at his local hackerspace, and like any good hacker worth his weight in 1N4001’s, he decided to improve upon their design. Most servos are configured to spin only so far – usually 180 degrees in either direction. [Brian B’s] hack makes them spin 360 degrees in continuous rotation.
He starts off by removing the top most gear and making a small modification with a razor. Then he adds a little super glue to the potentiometer, and puts the thing back together again. A few lines of code and an arduino confirms that the hack performs flawlessly.
We’ve seen ways to modify other types of servos for 360 rotation. There’s a lot of servos out there, and every little bit of information helps. Be sure to check your parts bin for any Tower Pro SG90 9g servos and bookmark this article. It might come in handy on a rainy day.
[James] sent us a video of his latest creation: a robotic glockenspiel that’s currently set up to play “Popcorn”. It uses eight servos to drive mallets that strike the tone bars with fast, crisp movements. The servos are driven with a 16-channel I²C servo driver and MIDI shield, which are in turn controlled with an Arduino Uno. The previous incarnation of his autoglockenspiel employed solenoids, dowels, and elastic bands.
[Gershon Kingsley]’s 1969 composition for synthesizer “Popcorn” has been covered by many artists over the years, though perhaps the most popular cut was [Hot Butter]’s 1972 release. Check it out after the break, and dig that lovely cable management. We’d love to see [James]’s autoglockenspiel play “Flight of the Bumblebee” next.
If you’re hungry for more electro-acoustic creations, have a gander at [Aaron Sherwood]’s Magnetophone.
Continue reading “Robotic Glockenspiel Crunches “Popcorn””
[Helios Labs] recently published version two of their 3D printed fish feeder. The system is designed to feed their fish twice a day. The design consists of nine separate STL files and can be mounted to a planter hanging above a fish tank in an aquaponics system. It probably wouldn’t take much to modify the design to work with a regular fish tank, though.
The system is very simple. The unit is primarily a box, or hopper, that holds the fish food. Towards the bottom is a 3D printed auger. The auger is super glued to the gear of a servo. The 9g servo is small and comes with internal limiters that only allow it to rotate about 180 degrees. The servo must be opened up and the limiters must be removed in order to enable a full 360 degree rotation. The servo is controlled by an Arduino, which can be mounted directly to the 3D printed case. The auger is designed in such a way as to prevent the fish food from accidentally entering the electronics compartment.
You might think that this project would use a real-time clock chip, or possibly interface with a computer to keep the time. Instead, the code simply feeds the fish one time as soon as it’s plugged in. Then it uses the “delay” function in order to wait a set period of time before feeding the fish a second time. In the example code this is set to 28,800,000 milliseconds, or eight hours. After feeding the fish a second time, the delay function is called again in order to wait until the original starting time.