Arduino brain for simple walker
In the first version of the simple walker I used a custom atmega32 based board. I replaced it by a ‘custom’ version of the Arduino which I dubbed ‘ottantotto’
The microcontrollerboard is a breadboard version of the ‘ottantotto’ controller. It uses an ATmega88 instead of mega168 (mostly because they are cheaper, they sell for <2 eur at ledsee.com). This required altering the bootloader, arduino hardware-cores directory and file 'boards.txt'. Read more details and download the bootloader from the wiki.
In some cases disturbance on the powerlines by the RC servo’s can cause the microcontroller to ‘freeze’. The capacitor I originally mounted is probably to small.. Adding an external 1000uF cap seems to solve the problems.
In the meantime I also made an arduino-sketch instead of the WinAVR gcc sources.. It is staggeringly simple:
#include <Servo.h>
Servo frontservo,backservo;
char forward[] = {60,100,100,100,100,60,60,60};
void setup()
{
frontservo.attach(9);
backservo.attach(10);
}
void loop()
{
for(int n=0;n<4;n++)
{
frontservo.write(forward[2*n]);
backservo.write(forward[(2*n)+1]);
delay(300);
}
}
on breadboard a simple programming dongle has been made (using a max232) which can be used in combination with an usb-serial adapter cable (or a plain RS232 cable) to program the board. It is fully Arduino compatible. Schematics can be found on the ottantotto wiki page.
Write a Reply or Comment