OK I have written my first bit of code. Its far from complete and I am sure it is full of noobie errors but here it is.
It seems a bit repetitive and I am sure there is a better way to do it but I am unsure on how to do it. Any suggestions would be appreciated.
Basically the PPO loops from 0-180 in steps of 10. A single bi coloured LED will flash out a code to respond to the PPO value. If its 100 then it will flash for .25 of a second then wait for 3.75 seconds.
If the PPO is less than 100 then the Red LED will flash once for every 10 units less than 100
If the PPO is more than 100 then the green LED will flash once for every 10 units above 100
Eventually the PPO value will be set by the millivolt of the O2 sensor and there will be 3 bi colors LED's one for each O2 sensor.
I also need to flash the bi coloured LED orange for a PPO value of 100-110.
int ledonegreen = 11; // select the pin for the LED 11 high and 12 low = green=
int ledonered = 12;
int ppo = 0;
void setup() {pinMode(ledonegreen, OUTPUT);pinMode(ledonered, OUTPUT);}
void loop() {
;ppo +=10;if (ppo==180) ppo=0;
if (ppo<30) { digitalWrite(ledonered,HIGH); digitalWrite(ledonegreen, LOW); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250); } //If PPO=0.70 to 0.79 then flash eight red
if (ppo<40) { digitalWrite(ledonered,HIGH); digitalWrite(ledonegreen, LOW); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250); delay(500);} //If PPO=0.70 to 0.79 then flash seven red
if (ppo<50) { digitalWrite(ledonered,HIGH); digitalWrite(ledonegreen, LOW);delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250); delay(1000);} //If PPO=0.70 to 0.79 then flash six red
if (ppo<60) { digitalWrite(ledonered,HIGH); digitalWrite(ledonegreen, LOW); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250); delay(1500);} //If PPO=0.70 to 0.79 then flash five red
if (ppo<70) { digitalWrite(ledonered,HIGH); digitalWrite(ledonegreen, LOW);delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250); delay(2000); } //If PPO=0.70 to 0.79 then flash four red
if (ppo<80) { digitalWrite(ledonered,HIGH); digitalWrite(ledonegreen, LOW);delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250); delay(2500); } //If PPO=0.70 to 0.79 then flash three red
if (ppo<90) { digitalWrite(ledonered,HIGH); digitalWrite(ledonegreen, LOW); delay(250); digitalWrite(ledonered, LOW);delay(250);
digitalWrite(ledonered,HIGH); delay(250); digitalWrite(ledonered, LOW);delay(250); delay(3000) ;} //If PPO=0.80 to 0.89 then flash two red
if (ppo<100) { digitalWrite(ledonered,HIGH); digitalWrite(ledonegreen, LOW); delay(250); digitalWrite(ledonered, LOW);delay(250) ;
delay(3000) ;} //If PPO=0.80 to 0.89 then flash one red
if (ppo< 110) { digitalWrite(ledonegreen, HIGH);digitalWrite(ledonered, LOW);
delay(250); digitalWrite(ledonegreen, LOW); delay(250); delay(3500); }//If PPO=1.00 to 1.09 then flash one green // needs to be modified to flash orange!!
if (ppo< 120) { digitalWrite(ledonegreen,HIGH); digitalWrite(ledonered, LOW); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
delay(3000); } //If PPO=1.10 to 1.19 then flash one green
if (ppo< 130) { digitalWrite(ledonegreen,HIGH); digitalWrite(ledonered, LOW); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH);delay(250); digitalWrite(ledonegreen, LOW);delay(250); delay(3000); } //If PPO=1.20 to 1.29 then flash two green
if (ppo< 1540) {digitalWrite(ledonegreen,HIGH); digitalWrite(ledonered, LOW);delay(250);digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250); delay(2500);} //If PPO=1.30 to 1.39 then flash three green
if (ppo< 150) {digitalWrite(ledonegreen,HIGH); digitalWrite(ledonered, LOW);delay(250);digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250); delay(2000);} //If PPO=1.40 to 1.49 then flash four green
if (ppo< 160) { digitalWrite(ledonegreen,HIGH); digitalWrite(ledonered, LOW); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250); delay(1500);} //If PPO=1.50 to 1.59 then flash five green
if (ppo< 170) { digitalWrite(ledonegreen,HIGH); digitalWrite(ledonered, LOW); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250); delay(1500);} //If PPO=1.60 to 1.69 then flash six green
else { digitalWrite(ledonegreen,HIGH); digitalWrite(ledonered, LOW); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250);
digitalWrite(ledonegreen,HIGH); delay(250); digitalWrite(ledonegreen, LOW);delay(250);delay(500);} //If PPO.1.6 then flash seven green
}