WinHeist Upgrade ready for download
I've put a lot of work into this new version and I think you will like it. There's been quite a bit of testing but I am still releasing it as a Beta until I'm satisfied that it is rock solid stable and as bug free as possible. Leave me a message if you have any comments of suggestions.
An autonomous roving vehicle - Part 2 of n
In this the second installment of the Autonomous Rover series we are going to take
a look at the assembled chassis with everything onboard that allows it to move around
autonomously but with very little smarts. Much like the beloved Mr. Magoo in years
past the rover navigates around until it runs into something wherein the Dagu boards
current sensing unit detects that the motor(s) are in a stalled state at which point
the rover backs up a short distance, turns clockwise approximately 90 degrees then
wanders on until it bumps into something else.
An autonomous roving vehicle - Part 1 of n
My plan is to create an autonomous roving vehicle and have given the creation the
name of Robbie after the lovable robot from the old TV series Lost in space, you
know the one...danger Will Robinson... Along the way I intend to document the effort
in a series of articles of which this is the first. I will discuss the basic chassis
design, design decisions and parts used to bring Robbie to life, where to find them
and cost. The design and parts I use in this project are just the way I did it and
should only be taken as a point of reference.
Programmable Electronics Experimenters Kit (PEEK)
I'm working on a project that basically pulls all the DEB boards I've been creating into one programmable interface which I'm calling Programmable Electronic Experimenters Kit or PEEK for short.
Work on the PEEK project is coming along good, I put it off for a while as I'm working on an Autonomous rover so dividing my time between the two projects and of course the holidays has slowed me down a tad but am working away.
AVR Dynamic Memory primer
Writting applications that utilize dynamic memory allocation pose several problems
on MPUs; they have limited memory and dynamic allocation tends to fragment memory,
there is no garbage collection because it's just to expensive to implement and
problems with memory leaks can be a nightmare to debug. But if you are careful and
practice good technique using dynamic memory allocation can be a valuable tool.
C++ and the L298N Dual Full-Bridge Driver
For the past couple of years I've been developing projects for the Atmel line of
micro controllers using the GNU toochains Asm and C languages. Until recently C++
was very difficult if not impossible using the previous versions of Atmel's IDE,
but that's no longer an obsticle with the new version, Atmel Studio 6.1 which is
available here. I prefer
the power of C++ and have missed being able to use it in my projects, there are
still some issues using C++ in projects such as interrupts but there are work arounds
and it's not a deal breaker. Another consideration why I wasn't using C++ was that
the ATmega development boards were rather expensive upwards of $50+ but recently
the price of knockoff ATMega1280/2560 boards have come way down, to around $17 and
they function as well as the originals, at least I haven't had any problems with
C++11 standards for AVR
I've been using Ateml's IDE for some time now and have long awaited the time when
C++ would become a viable programming option and now with
Atmel Studio 6 they have finally made this a reality. The latest version
of Atmel Studio is 6.1 that uses the GCC 4.7.2 version toolchain, which in Atmel's
lingo means the compilers and linker used to build projects in the IDE.
SPI Communications Primer
The Serial Peripheral Interface (SPI) or four wire serial bus as it is sometimes
referred to is a syncronous serial data protocol operating in a master/slave configuration
in full duplex mode. It is used by microcontrollers for communicating with one or
more peripheral devices quickly over short distances. You can also think of SPI
as being built around a double buffered 8-bit shift register with both ends of the
shift register brought out to MCU pins.