top of page

Using this controller because its cheep and there is alot of information about it.

I don't need its processing ability. I simply give it inputs from the processing program!

Arduno UNo R3

 

#include <Firmata.h>

#include <Servo.h>

Servo servo1;

Servo servo2;

Servo servo3;

Servo servo4;

Servo servo5;

Servo servo6;

Servo servo7;

Servo servo8;

Servo servo9;

Servo servo10;

Servo laser11;

 

void digitalWriteCallback(byte pin, int value)

//void analogWriteCallback(byte pin, int value)

{

if(pin == 1)

servo1.write(value);

if(pin == 2)

servo2.write(value); 

if(pin == 3)

servo3.write(value);

if(pin == 4)

servo4.write(value);

if(pin == 5)

servo5.write(value); 

if(pin == 6)

servo6.write(value);

if(pin == 7)

servo7.write(value);

if(pin == 8)

servo8.write(value); 

if(pin == 9)

servo9.write(value);

if(pin == 10)

servo10.write(value);

if(pin == 11)

laser11.write(value);

 

}

 

 

void setup()

{

Firmata.setFirmwareVersion(0, 2);

Firmata.attach(ANALOG_MESSAGE, digitalWriteCallback);

//Firmata.attach(ANALOG_MESSAGE, analogWriteCallback);

servo1.attach(1);

servo2.attach(2);

servo3.attach(3);

servo4.attach(4);

servo5.attach(5);

servo6.attach(6);

servo7.attach(7);

servo8.attach(8);

servo9.attach(9);

servo10.attach(10);

laser11.attach(11);

 

Firmata.begin(57600);

}

 

void loop()

{

while(Firmata.available())

Firmata.processInput();

}

If you interested in the code here is what I programmed the Arduno with.

bottom of page