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.
Arduino Due PWM 101
In this edition of the continuing series of articles uncovering the mysteries of
the Arduino Due we will be tackling the problem of creating a Pulse Width Modulation
(PWM) signal. To do this we will use two techniques; the old fashion way with a timer
and the PWM Controller. If you look at the pinout for the Arduino Due you will see
that Pins 2-13 are set aside for PWM with 4 of them using the PWM Controller and the
rest use the various timer channels.
Arduino Due PIO 101
This is the first in a series of articles I indend on writing that will cover the inner
workings of the Arduino Due 32bit board based on the Atmel SAM3X8E ARM Cortex-M3 processor.
Each article in this series will cover a discrete sub-system within the micro controller
and in this first article we will begin with a discussion of the Parallel I/O controller.
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.
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.
Motor Primer and the L293D Quad Half-H Driver
There are many ways to drive small current motors, those requiring 500mA or less
but the L293H Quadruple Half-H driver is a verstatile chip that was designed for
use with motors, can very easily be controlled with a micro-controller and can be
[here]. Using this chip we can drive either 2 DC motors or one Stepper motor
and we will learn how to do both in this tutorial. The components needed to complete
this excerise are an ATMega328p Micro-controller to interface with and control the
L293D device but any controller may be used, the L293D component and one dc motor
and/or one stepper motor.