As we work on projects we’re frequently upgrading our tools. That basic soldering iron gives way to one with temperature control. The introductory 3D printer yields to one faster and more capable. One reason for this is we don’t really understand the restrictions of the introductory level tools. Sometimes we realize this directly when the tool fails in a task. Other times we see another hacker using a better tool and realize we must have one!.
The same occurs with software tools. The Arduino IDE is a nice tool for starting out. It is easy to use which is great if you have never previously written software. The libraries and the way it ties nicely into the hardware ecosystem is a boon.
When you start on larger projects, say you upgrade to a Due or Teensy for more code or memory space, the Arduino IDE can hamper your productivity. Moving beyond these limitations requires a new, better tool.
Where do we find a better tool? To begin, recognize, as [Elliot] points out that There is no Arduino “Language”, we’re actually programming in C or C++. We chose which language through the extension on the file, ‘c’ for C and ‘cpp’ for C++. An Arduino support library may be written in C or C++ depending on the developer’s preference. It’s all mix ‘n match.
Potentially any environment that supports C/C++ can replace the Arduino IDE. Unfortunately, this is not easy to do, at least for inexperienced developers, because it means setting up the language tool chain and tools for uploading to the board. A developer with that much experience might eschew an integrated development environment altogether, going directly to using makefiles as [Joshua] describes in Arduino Development; There’s a Makefile for That.
The reality is the Arduino IDE is not much more than a text editor with the ability to invoke the tools needed to compile and download the code to the Arduino. A professional IDE not only handles those details but provides additional capabilities that make the software development process easier.
Continue reading “Code Craft: Using Eclipse for Arduino Development”
This cat feeder project by [Ben Millam] is fascinating. It all started when he read about a possible explanation for why house cats seem to needlessly explore the same areas around the home. One possibility is that the cat is practicing its mobile hunting skills. The cat is sniffing around, hoping to startle its prey and catch something for dinner. Unfortunately, house cats don’t often get to fulfill this primal desire. [Ben] thought about this problem and came up with a very interesting solution. One that involves hacking an electronic cat feeder, and also hacking his cat’s brain.
First thing’s first. Click past the break to take a look at the demo video and watch [Ben’s] cat hunt for prey. Then watch in amazement as the cat carries its bounty back to the cat feeder to exchange it for some real food.
Continue reading “Hack Your Cat’s Brain to Hunt For Food”
Whether you’re just getting into electronics or could use a refresher on some component or phenomenon, it’s hard to beat the training films made by the U.S. military. This 1965 overview of transformers and their operations is another great example of clear and concise instruction, this time by the Air Force.
It opens to a sweeping orchestral piece reminiscent of the I Love Lucy theme. A lone instructor introduces the idea of transformers, their principles, and their applications in what seems to be a single take. We learn that transformers can increase or reduce voltage, stepping it up or down through electromagnetic induction. He moves on to describe transformer action, whereby voltages are increased or decreased depending on the ratio of turns in the primary winding to that of the secondary winding.
He explains that transformer action does not change the energy involved. Whether the turns ratio is 1:2 or 1:10, power remains the same from the primary to the secondary winding. After touching briefly on the coefficient of coupling, he discusses four types of transformers: power, audio, RF, and autotransformers.
Continue reading “Retrotechtacular: Step Up and Get Your Transformer Training”
[Jim] has been working with a team from various Universities to develop an intuitive way to guide and train assistance robots. They focused on one particular technique, training a robot to follow on a leash in the same way you would a pet dog (PDF).
He was inspired to send in a link to his research after reading about the Kinect-powered shopping card robot. He figures that that project is similar to his own, but his does have several added benefits. The first being that if a robot is on a leash, everyone knows who that bot is following or assisting. But there is the added benefit of the user needing no training whatsoever. That’s because the act of walking a dog on a leash is commonplace in developed societies; you may not have ever owned a dog, but you’ve seen others walking them on leashes numerous times and could do so yourself without any training.
The leash connects to a sensor-filled turret in the center of the robot’s body. The bot can sense when, and in which direction the user is pulling the leash. There’s also an emergency kill switch on the handle for added functionality. Take a look at some of the test video after the break to see how quickly humans can adapt to this type of user interface.
Continue reading “Programming robots like you would train a pet”