I have the blow working code for an ardbox but would now like to convert it to run on Ardbox relay, I have tried changing Q0_1 to R1 etc with no success. I also get an A0_6 was not declared in this scope error.
Any helps would be appreciated.
************************************START**********************************
unsigned int eStop;
unsigned int startCutting;
unsigned int bottomSwitch;
unsigned int mercurySwitch;
unsigned int viceEnagage;
unsigned int viceDisenagage;
unsigned int sawUp;
unsigned int goodClamp;
unsigned int transHomeSw=0;
unsigned int state=0;
unsigned int computerInput=0;
void setup()
{
Serial.begin(9600);
//ANALOGUE/DIGITAL INPUTS
pinMode(I0_9, INPUT); //eStop
pinMode(I0_8, INPUT); //green start switch
pinMode(I0_7, INPUT); //bottom switch (saw has completed cut)
pinMode(I0_6, INPUT); //mercury switch (Saw has reached clearance height)
pinMode(I0_5, INPUT); //computerInput
pinMode(I0_4, INPUT); //vice disengage (UNLATCH)
pinMode(I0_3, INPUT); //vice engaged (Vice is correctly pressurised)(LATCH)
pinMode(I0_2, INPUT); //goodclamp (HIGH == no pressure)
pinMode(I0_1, INPUT); //AUTO/MANUAL
//ANALOGUE OUTPUTS
pinMode(A0_6, OUTPUT); //toComputer
pinMode(A0_5, OUTPUT); //?? unused ??
pinMode(A0_4, OUTPUT); //?? unused ??
pinMode(A0_3, OUTPUT); //?? unused ??
pinMode(A0_2, OUTPUT); //?? unused ??
pinMode(A0_1, OUTPUT); //?? unused ??
pinMode(A0_0, OUTPUT); //?? unused ??
//DIGITAL OUTPUTS
pinMode(Q0_9, OUTPUT); //NOT WORKING
pinMode(Q0_8, OUTPUT); //NOT WORKING
pinMode(Q0_7, OUTPUT); //Pneumatic to hydrolic control (LATCHING)
pinMode(Q0_6, OUTPUT); //NOT WORKING
pinMode(Q0_5, OUTPUT); //blade on/off
pinMode(Q0_4, OUTPUT); //coolant on/off
pinMode(Q0_3, OUTPUT); //hydrolic pressure (Hydralick pump)
pinMode(Q0_2, OUTPUT); //NOT WORKING
pinMode(Q0_1, OUTPUT); //NOT WORKING
pinMode(Q0_0, OUTPUT); //hydralic solinoid (is combined with Q0_3 hydralic pressure to rais saw)
}
void loop()
{
if (state==0)
{
mercurySwitch = digitalRead(I0_6);
goodClamp = digitalRead(I0_2); //pressure
viceEnagage = digitalRead(I0_3); //pressure lever
Serial.println(viceEnagage);
viceDisenagage = digitalRead(I0_4);
if (viceEnagage)
{
digitalWrite(Q0_7, LOW);
delay(100);
digitalWrite(Q0_3, HIGH);
delay(100);
digitalWrite(Q0_2, HIGH);
}
else
{
digitalWrite(Q0_3, LOW);
digitalWrite(Q0_2, LOW);
}
if (viceDisenagage)
{
digitalWrite(Q0_7, HIGH);
delay(100);
}
if (mercurySwitch)
{
// saw up
digitalWrite(Q0_3, HIGH);
digitalWrite(Q0_0, HIGH);
delay(100);
digitalWrite(Q0_3, LOW);
}
else
{
// saw down
digitalWrite(Q0_0, LOW);
}
startCutting = digitalRead(I0_5);
eStop = digitalRead(I0_9);
if (startCutting && eStop)
{
digitalWrite(Q0_7, LOW);
delay(200);
while (goodClamp)
{
digitalWrite(Q0_3, HIGH);
goodClamp = digitalRead(I0_2);
}
digitalWrite(Q0_3, LOW);
digitalWrite(Q0_0, LOW);
state++;
}
}
else if (state==1)
{
// Blade ON
digitalWrite(Q0_5, HIGH);
// Coolant
digitalWrite(Q0_4, HIGH);
bottomSwitch = digitalRead(I0_7);
delay(250);
while (!bottomSwitch)
{
viceEnagage = digitalRead(I0_3);
bottomSwitch = digitalRead(I0_7);
eStop = digitalRead(I0_9);
if (!eStop) //! means switch is pushed
{
break;
}
else if (viceEnagage)
{
digitalWrite(A0_3, HIGH);
delay(100);
digitalWrite(A0_3, LOW);
}
}
// Blade off
digitalWrite(Q0_5, LOW);
// Coolant off
digitalWrite(Q0_4, LOW);
digitalWrite(Q0_7, HIGH);
state=0;
}
else if (state==2)
{
}
}
*****************************************END*****************************************