News


Home



This page will be updated quite regularly, as I use it as my blog. It will tell you about some of my experiments, my projects and how the latter are coming on. Any project ideas? Add them to the comments page!

Jump to:




I decided to dismantle an RC boat recently. To control the rudder, it used a servo - not a normal one though, as no power = central position, one polarity = one way, and the other polarity = the other position. A device called an h-bridge can be used to control it, as they are designed to reverse the polarity over a motor to change the spin direction. Previously, I have used transistors to in h-bridge designs, but the same can be achived using an IC. I decided to google arduino and h-bridges, when this site came up. later on while browsing the arduino forum, I came across a topic (here ) asking how to make motors turn in different directions. I advised the site that I came across earlier.
Programming is fun, so I decided to write a library for controlling motors using the tutorial here. Then I found a problem. I am using the latest version of the arduino IDE - the beta version. As everything is different in this, the libraries that work on it do not work on non-beta IDEs, and vica versa, so I needed two versions. These are here. If you are using the beta version, you will need this version, otherwise, you will need this one. all the source codes and examples are inside.


top of page



Grr... I bought the 30 resistors that I needed to complete my LED cube, and set off assembling the circuit to complete the cube. I realised that I needed more breadboard space, but the one I built the circuit on was full. No need to worry though, as I had another one to hand. Then I found a problem. I needed lots of wires to take the outputs of the resistors into the base of the transistors, and I do not have that wire. All the wire that I did have is now attatched to the bottom of the LED cube. Still, I am one step closer to completing it! Here are some photos:

You can (still) see the completed software here or here.

top of page



I have nearly completed my LED cube! I hoped to have it working tonight, as I bought the rest of the bits I needed to make it work earlier on today. When I started building the driving circuit, I realised I missed out 30 resistors somehow... I will be going to buy them some time soon. I have some photos of the driver circuit though, so enjoy!


You can (still) see the completed software here or here.

top of page



I have taken some photos of my 5X5X5 LED cube, so I thought I would post them. No more description needed.


You can (still) see the completed software here or here.

top of page



The cube part of my 5X5X5 LED cube is finally complete! All I need now is some transistors to drive the cube, a box to put it in, and a bunch of connectors. I am hoping to buy the bits I need tomorrow. If all goes to plan, it should be finished within a few days. You can (still) see the completed software here or here.

top of page



My 5X5X5 LED cube is coming on well. The software is finally complete, and all that I need is for the LEDs to arrive... I ordered 3 packs of 50 green LEDs off eBay yesterday, and then began to write the software. Now it is complete, it is 1409 lines long and compiles (with the duemillanove board selected) to "12650 bytes (of a 30720 byte maximum)". You can see the completed software here or here.

top of page

The RGB library is coming along nicely! If you have a common anode RGB LED, connect it up in the same way as you normally would, then use the library functions to simplify controlling it. Click here to download the library for the non-beta versions of the arduino IDE, and here for the beta versions.

top of page

The 'arduino true analog' library is complete! The .h code is here:
/*
  Analog.h - Library for outputting true analog values.
  Created by Mark Blyth, April 22, 2011.
*/


#ifndef Morse_h
#define Morse_h

#include "WProgram.h"


class Analog
{
  public:
    Analog(int dataPin, int clockPin, int latchPin);
    Analog(int dataPin, int clockPin);
    void analogOut(byte voltage);
  private:
    int _dataPin;
    int _clockPin;
    int _latchPin;
};


#endif


The .cpp code is here:

/*
  Analog.cpp - Library for outputting true analog values.
  Created by Mark Blyth, April 22, 2011.
*/

#include "WProgram.h"
#include "Analog.h"

Analog::Analog(int dataPin, int clockPin, int latchPin)
{
  pinMode(dataPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(latchPin, OUTPUT);
  _dataPin = dataPin;
  _clockPin = clockPin;
  _latchPin = latchPin;
}

Analog::Analog(int dataPin, int clockPin)
{
  pinMode(dataPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  _dataPin = dataPin;
  _clockPin = clockPin;
}


void Analog::analogOut(byte voltage)
{
  digitalWrite(_latchPin, LOW);
  shiftOut(_dataPin, _clockPin, MSBFIRST, voltage);
  digitalWrite(_latchPin, HIGH);
}


The keywords are here:
Analog	KEYWORD1
analogOut	KEYWORD2


and a full write up is here.

Click here to download the full library for the non-beta arduino IDE, and here for the beta version.


top of page

Onions' tiny board - a carrier board for the ATtiny 45 & 85, is complete. The schematic can be found here. as well as some other bits on the forum. The schematic can also be found below, along with a photo.





top of page