I need to move the analog data from the input pins on one arduino to another arduino over the serial port. I am able to get the analog data going out the serial port of the "transmitter" arduino and I have connected the tx output of the transmitter to the rx of the reciever. But I cannot get the data to the reciever.
Here is the transmitter program
int bcd1 = 2;
int bcd2 = 3;
int bcd4 = 4;
int bcd8 = 5;
int analogpinred = 0;
int analogpingreen = 1;
int analogpinblue = 2;
int analogpinamber = 3;
int analogpinpink = 4;
int red = 0;
int green = 0;
int blue = 0;
int amber = 0;
int pink = 0;
int valuecmd = 0;
void setup ()
{
Serial.begin(9600);
pinMode (bcd1, INPUT);
digitalWrite (bcd1, HIGH);
pinMode (bcd2, INPUT);
digitalWrite (bcd2, HIGH);
pinMode (bcd4, INPUT);
digitalWrite (bcd4, HIGH);
pinMode (bcd8, INPUT);
digitalWrite (bcd8, HIGH);
}
void loop ()
{
readanalog ();
buildbcd ();
serialoutput ();
}
void readanalog ()
{
red = analogRead(analogpinred);
green = analogRead(analogpingreen);
blue = analogRead(analogpinblue);
amber = analogRead(analogpinamber);
pink = analogRead(analogpinpink);
}
void buildbcd ()
{
valuecmd = 0;
if (digitalRead(bcd1) == LOW)
{
valuecmd = valuecmd + 1;
}
if (digitalRead(bcd2) == LOW)
{
valuecmd = valuecmd + 2;
}
if (digitalRead(bcd4) == LOW)
{
valuecmd = valuecmd + 4;
}
if (digitalRead(bcd8) == LOW)
{
valuecmd = valuecmd + 8;
}
}
void serialoutput ()
{
Serial.print(red);
Serial.print(",");
Serial.print(green);
Serial.print(",");
Serial.print(blue);
Serial.print(",");
Serial.print(amber);
Serial.print(",");
Serial.print(pink);
Serial.print(",");
Serial.print(valuecmd);
Serial.println("");
}
and here is the reciever program
int redpin = 2;
int greenpin = 5;
int bluepin = 6;
int amberpin = 9;
int pinkpin = 10;
int outA = 2;
int outB = 4;
int outC = 7;
int outD = 8;
int outE = 11;
int outF = 12;
int outG = 13;
int red = 0;
int green = 0;
int blue = 0;
int amber = 0;
int pink = 0;
int valuecmd = 0;
void setup ()
{
Serial.begin(9600);
pinMode (redpin, OUTPUT);
pinMode (greenpin, OUTPUT);
pinMode (bluepin, OUTPUT);
pinMode (amberpin, OUTPUT);
pinMode (pinkpin, OUTPUT);
pinMode (outA, OUTPUT);
pinMode (outB, OUTPUT);
pinMode (outC, OUTPUT);
pinMode (outD, OUTPUT);
pinMode (outE, OUTPUT);
pinMode (outF, OUTPUT);
}
void loop ()
{
readserial ();
printserial ();
}
void readserial ()
{
while (Serial.available() > 0)
{
red = Serial.parseInt();
green = Serial.parseInt();
blue = Serial.parseInt();
amber = Serial.parseInt();
pink = Serial.parseInt();
valuecmd = Serial.parseInt();
if (Serial.read() == '\n')
{
output128 ();
output64 ();
output32 ();
output16 ();
output8 ();
output4 ();
output2 ();
output1 ();
}
}
}
void output128 ()
{
if (valuecmd > 127)
{
valuecmd = valuecmd - 128;
digitalWrite (outA, HIGH);
}
else
{
digitalWrite (outA, LOW);
}
}
void output64 ()
{
if (valuecmd > 637)
{
valuecmd = valuecmd - 64;
digitalWrite (outB, HIGH);
}
else
{
digitalWrite (outB, LOW);
}
}
void output32 ()
{
if (valuecmd > 31)
{
valuecmd = valuecmd - 32;
digitalWrite (outC, HIGH);
}
else
{
digitalWrite (outC, LOW);
}
}
void output16 ()
{
if (valuecmd > 15)
{
valuecmd = valuecmd - 16;
digitalWrite (outD, HIGH);
}
else
{
digitalWrite (outD, LOW);
}
}
void output8 ()
{
if (valuecmd > 7)
{
valuecmd = valuecmd - 8;
digitalWrite (outE, HIGH);
}
else
{
digitalWrite (outE, LOW);
}
}
void output4 ()
{
if (valuecmd > 3)
{
valuecmd = valuecmd - 4;
digitalWrite (outF, HIGH);
}
else
{
digitalWrite (outF, LOW);
}
}
void output2 ()
{
if (valuecmd > 1)
{
valuecmd = valuecmd - 2;
digitalWrite (outF, HIGH);
}
else
{
digitalWrite (outF, LOW);
}
}
void output1 ()
{
if (valuecmd > 0)
{
analogWrite (redpin, red);
analogWrite (greenpin, green);
analogWrite (bluepin, blue);
analogWrite (amberpin, amber);
analogWrite (pinkpin, pink);
}
else
{
analogWrite (redpin, 0);
analogWrite (greenpin, 0);
analogWrite (bluepin, 0);
analogWrite (amberpin, 0);
analogWrite (pinkpin, 0);
}
}
void printserial ()
{
Serial.print (red);
Serial.print (",");
Serial.print (green);
Serial.print (",");
Serial.print (blue);
Serial.print (",");
Serial.print (amber);
Serial.print (",");
Serial.print (pink);
Serial.print (",");
Serial.print (valuecmd);
Serial.print ("\n");
}
Any ideas what I am doing wrong here. Basically I am trying to move 6 values in a comma delimited format over the serial ports from one arduino to another.
Thanks for any input
Jim
Moderator edit:
</mark> <mark>[code]</mark> <mark>
</mark> <mark>[/code]</mark> <mark>
tags added.