HI, don`t use the Leonardo. It works only with "Serial1" on Pin 0 and Pin1, as TTL Serial :-(, so U Need TTL to rs232 converter and an USB to RS232 Dongle.
expensive, and better to buy a duemila or uno
Here is the modified sketch for LEONARDO, and only for this, due his architechture, for them they have one, or bought the wrong one ;-) like me!!!
/* Tagtool - Arduino 2 Nodekit V02 */
int pinS1 = 0;
int pinS2 = 1;
int pinS3 = 2;
int pinS4 = 3;
int pinS5 = 4;
int pinS6 = 5;
static const int avgCount = 6;
int valS1, valS2, valS3, valS4, valS5, valS6 = 0;
int arr1[avgCount];
int arr2[avgCount];
int arr3[avgCount];
int arr4[avgCount];
int arr5[avgCount];
int arr6[avgCount];
int pinButton = 7;
int valButton = 0;
int i;
int index = 0;
/**
* Average the values in the averaging arrays
*/
void avg()
{
valS1 = valS2 = valS3 = valS4 = valS5 = valS6 = 0;
for(i = 0; i < avgCount; i++)
{
valS1 += arr1[i];
valS2 += arr2[i];
valS3 += arr3[i];
valS4 += arr4[i];
valS5 += arr5[i];
valS6 += arr6[i];
}
valS1 /= avgCount;
valS2 /= avgCount;
valS3 /= avgCount;
valS4 /= avgCount;
valS5 /= avgCount;
valS6 /= avgCount;
}
void setup() {
// reset averageArrays
for (i = 0; i < avgCount; i++)
{
arr1[i] = 0;
arr2[i] = 0;
arr3[i] = 0;
arr4[i] = 0;
arr5[i] = 0;
arr6[i] = 0;
}
index = 0;
// start serial port at 9600 bps:
Serial1.begin(9600);
while (!Serial1) ;
}
void loop() {
// if we get a valid byte, read analog ins:
byte request;
//Serial.print(10);
if (Serial1.available() > 0) {
request = Serial1.read();
if(request == 'A')
{
valButton = digitalRead(pinButton); // read input value from the Pushbutton
// out actual values into the averaging arrays
arr1[index] = analogRead(pinS1);
arr2[index] = analogRead(pinS2);
arr3[index] = analogRead(pinS3);
arr4[index] = analogRead(pinS4);
arr5[index] = analogRead(pinS5);
arr6[index] = analogRead(pinS6);
// increment index -> if index exceeds array sizes reset to zero
index++;
if (index >= avgCount)
{
index = 0;
}
// calculate average values
avg();
delay(10);
// Slider 1
Serial1.write(valS1 / 4);
// Slider 2
Serial1.write(valS2 / 4);
// Slider 3
Serial1.write(valS3 / 4);
// Slider 4
Serial1.write(valS4 / 4);
// Slider 5
Serial1.write(valS5 / 4);
// Slider 6
Serial1.write(valS6 / 4);
// Pushbutton
Serial1.write(valButton * 255);
}
else if(request == 'N')
{
Serial1.print("Tagtool.Controller");
}
}
}