I am trying to use an analog value coming from one arduino board into another to control a sequence on the second board.
At the moment I just send an analog signal from a PWM pin on the main board that steps through 4 increasing values every few seconds.
This bit seems to be working. But on the second board I am reading the value and trying to get it to light up one led at a time to simulate different points in a sequence that I will write later.
This bit is not working.
I have included the code
Any ideas welcome
Mark
int ledPinA = 2;
int ledPinB = 3;
int ledPinC = 4;
int ledPinD = 5;
int value; //value for analog read
void setup()
{
pinMode(ledPinA, OUTPUT);
pinMode(ledPinB, OUTPUT);
pinMode(ledPinC, OUTPUT);
pinMode(ledPinD, OUTPUT);
}
void ModeA()
{
digitalWrite (ledPinA, HIGH);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
}
void ModeB()
{
digitalWrite (ledPinB, HIGH);
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
}
void ModeC()
{
digitalWrite (ledPinC, HIGH);
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinD, LOW);
}
void ModeD()
{
digitalWrite (ledPinD, HIGH);
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
}
void loop()
{
value = analogRead(0); //read analog value from main controller
if (value < 256)
{
ModeA();
}
if (value > 256 && value < 512 )
{
ModeB();
}
if (value > 512 && value < 768)
{
ModeC();
}
if (value > 1023)
{
ModeD();
}
}