/*
Author:DS coding
----------LED OUTPUT-----------
Machine Breakdown - MB - PIN13
Quality Issue - QI - PIN12
Production Issue - PI - PIN11
Cutting Issue - CI - PIN10
Stores Issue - SI - PIN09
---------Button INPUT----------
Machine Breakdown - MB - PIN08
Quality Issue - QI - PIN07
Production Issue - PI - PIN06
Cutting Issue - CI - PIN05
Stores Issue - SI - PIN04
*/
int status_mb,status_qi,status_pi,status_ci,status_si;
int msglvl_mb,msglvl_qi,msglvl_pi,msglvl_ci,msglvl_si;
int led_mb=13,led_qi=12,led_pi=11,led_ci=10,led_si=9;
int btn_mb=8,btn_qi=7,btn_pi=6,btn_ci=5,btn_si=4;
unsigned long timer_mb,timer_qi,timer_pi,timer_ci,timer_si;
void setup() {
// put your setup code here, to run once:
status_mb=status_qi=status_pi=status_ci=status_si=0;
msglvl_mb=msglvl_qi=msglvl_pi=msglvl_ci=msglvl_si=0;
timer_mb=timer_qi=timer_pi=timer_ci=timer_si=0;
func_pinmode_setter();
func_bootup_led();
}
void loop() {
// put your main code here, to run repeatedly:
//delay(10000);
delay(1000);
func_mb();
//delay(1000);
func_qi();
//delay(1000);
func_pi();
//delay(1000);
func_ci();
//delay(1000);
func_si();
}
void func_pinmode_setter(){
pinMode(led_mb,OUTPUT);pinMode(led_qi, OUTPUT);
pinMode(led_pi, OUTPUT);pinMode(led_ci, OUTPUT);
pinMode(led_si, OUTPUT);
pinMode(btn_mb, INPUT);pinMode(btn_qi, INPUT);
pinMode(btn_pi, INPUT);pinMode(btn_ci, INPUT);
pinMode(btn_si, INPUT);
}
void func_bootup_led(){
int dl=100;
for(int i=0;i<2;i++){
for(int i2=9;i2<14;i2++){
digitalWrite(i2, HIGH);
delay(dl);
digitalWrite(i2, LOW);
delay(dl);
}
for(int i2=12;i2>8;i2--){
digitalWrite(i2, HIGH);
delay(dl);
digitalWrite(i2, LOW);
delay(dl);
}
}
for(int i=0;i<3;i++){
for(int i2=0;i2<14;i2++){
digitalWrite(i2, HIGH);
}
delay(500);
for(int i2=0;i2<14;i2++){
digitalWrite(i2, LOW);
}
delay(500);
}
}
void func_mb(){
if(digitalRead(btn_mb)==HIGH){
if(status_mb==0){
timer_mb=millis();
status_mb=1;
//digitalWrite(led_mb, HIGH);
}
}else{
if(status_mb==1){
timer_mb=0;
status_mb=0;
msglvl_mb=0;
digitalWrite(led_mb, LOW);
if(msglvl_mb==1){
/*
/1st level completion msg & db update
*/
}else if(msglvl_mb==2){
/*
/2nd level completion msg & db update
*/
}else if(msglvl_mb==3){
/*
/3rd level completion msg & db update
*/
}
}
}
if(status_mb==1){
if(msglvl_mb==0 && (millis()-timer_mb)<5001){
msglvl_mb=1;
digitalWrite(led_mb, HIGH);
/*
/1st level msg & db update
*/
}else if(msglvl_mb==1 && ((millis()-timer_mb)>5000 && (millis()-timer_mb)<10001)){
msglvl_mb=2;
digitalWrite(led_mb, HIGH);
delay(500);
digitalWrite(led_mb, LOW);
delay(500);
digitalWrite(led_mb, HIGH);
/*
/2nd level msg & db update
*/
}else if(msglvl_mb==2 && (millis()-timer_mb)>10000){
msglvl_mb=3;
digitalWrite(led_mb, HIGH);
delay(500);
digitalWrite(led_mb, LOW);
delay(500);
digitalWrite(led_mb, HIGH);
digitalWrite(led_mb, HIGH);
delay(500);
digitalWrite(led_mb, LOW);
delay(500);
digitalWrite(led_mb, HIGH);
/*
/3rd level msg & db update
*/
}
}
}
void func_qi(){
if(digitalRead(btn_qi)==HIGH){
if(status_qi==0){
timer_qi=millis();
status_qi=1;
//digitalWrite(led_qi, HIGH);
}
}else{
if(status_qi==1){
timer_qi=0;
status_qi=0;
msglvl_qi=0;
digitalWrite(led_qi, LOW);
if(msglvl_qi==1){
/*
/1st level completion msg & db update
*/
}else if(msglvl_qi==2){
/*
/2nd level completion msg & db update
*/
}else if(msglvl_qi==3){
/*
/3rd level completion msg & db update
*/
}
}
}
if(status_qi==1){
if(msglvl_qi==0 && (millis()-timer_qi)<5001){
msglvl_qi=1;
digitalWrite(led_qi, HIGH);
/*
/1st level msg & db update
*/
}else if(msglvl_qi==1 && ((millis()-timer_qi)>5000 && (millis()-timer_qi)<10001)){
msglvl_qi=2;
digitalWrite(led_qi, HIGH);
delay(500);
digitalWrite(led_qi, LOW);
delay(500);
digitalWrite(led_qi, HIGH);
/*
/2nd level msg & db update
*/
}else if(msglvl_qi==2 && (millis()-timer_qi)>10000){
msglvl_qi=3;
digitalWrite(led_qi, HIGH);
delay(500);
digitalWrite(led_qi, LOW);
delay(500);
digitalWrite(led_qi, HIGH);
digitalWrite(led_qi, HIGH);
delay(500);
digitalWrite(led_qi, LOW);
delay(500);
digitalWrite(led_qi, HIGH);
/*
/3rd level msg & db update
*/
}
}
}
void func_pi(){
if(digitalRead(btn_pi)==HIGH){
if(status_pi==0){
timer_pi=millis();
status_pi=1;
//digitalWrite(led_pi, HIGH);
}
}else{
if(status_pi==1){
timer_pi=0;
status_pi=0;
msglvl_pi=0;
digitalWrite(led_pi, LOW);
if(msglvl_pi==1){
/*
/1st level completion msg & db update
*/
}else if(msglvl_pi==2){
/*
/2nd level completion msg & db update
*/
}else if(msglvl_pi==3){
/*
/3rd level completion msg & db update
*/
}
}
}
if(status_pi==1){
if(msglvl_pi==0 && (millis()-timer_pi)<5001){
msglvl_pi=1;
digitalWrite(led_pi, HIGH);
/*
/1st level msg & db update
*/
}else if(msglvl_pi==1 && ((millis()-timer_pi)>5000 && (millis()-timer_pi)<10001)){
msglvl_pi=2;
digitalWrite(led_pi, HIGH);
delay(500);
digitalWrite(led_pi, LOW);
delay(500);
digitalWrite(led_pi, HIGH);
/*
/2nd level msg & db update
*/
}else if(msglvl_pi==2 && (millis()-timer_pi)>10000){
msglvl_pi=3;
digitalWrite(led_pi, HIGH);
delay(500);
digitalWrite(led_pi, LOW);
delay(500);
digitalWrite(led_pi, HIGH);
digitalWrite(led_pi, HIGH);
delay(500);
digitalWrite(led_pi, LOW);
delay(500);
digitalWrite(led_pi, HIGH);
/*
/3rd level msg & db update
*/
}
}
}
void func_ci(){
if(digitalRead(btn_ci)==HIGH){
if(status_ci==0){
timer_ci=millis();
status_ci=1;
//digitalWrite(led_ci, HIGH);
}
}else{
if(status_ci==1){
timer_ci=0;
status_ci=0;
msglvl_ci=0;
digitalWrite(led_ci, LOW);
if(msglvl_ci==1){
/*
/1st level completion msg & db update
*/
}else if(msglvl_ci==2){
/*
/2nd level completion msg & db update
*/
}else if(msglvl_ci==3){
/*
/3rd level completion msg & db update
*/
}
}
}
if(status_ci==1){
if(msglvl_ci==0 && (millis()-timer_ci)<5001){
msglvl_ci=1;
digitalWrite(led_ci, HIGH);
/*
/1st level msg & db update
*/
}else if(msglvl_ci==1 && ((millis()-timer_ci)>5000 && (millis()-timer_ci)<10001)){
msglvl_ci=2;
digitalWrite(led_ci, HIGH);
delay(500);
digitalWrite(led_ci, LOW);
delay(500);
digitalWrite(led_ci, HIGH);
/*
/2nd level msg & db update
*/
}else if(msglvl_ci==2 && (millis()-timer_ci)>10000){
msglvl_ci=3;
digitalWrite(led_ci, HIGH);
delay(500);
digitalWrite(led_ci, LOW);
delay(500);
digitalWrite(led_ci, HIGH);
digitalWrite(led_ci, HIGH);
delay(500);
digitalWrite(led_ci, LOW);
delay(500);
digitalWrite(led_ci, HIGH);
/*
/3rd level msg & db update
*/
}
}
}
void func_si(){
if(digitalRead(btn_si)==HIGH){
if(status_si==0){
timer_si=millis();
status_si=1;
//digitalWrite(led_si, HIGH);
}
}else{
if(status_si==1){
timer_si=0;
status_si=0;
msglvl_si=0;
digitalWrite(led_si, LOW);
if(msglvl_si==1){
/*
/1st level completion msg & db update
*/
}else if(msglvl_si==2){
/*
/2nd level completion msg & db update
*/
}else if(msglvl_si==3){
/*
/3rd level completion msg & db update
*/
}
}
}
if(status_si==1){
if(msglvl_si==0 && (millis()-timer_si)<5001){
msglvl_si=1;
digitalWrite(led_si, HIGH);
/*
/1st level msg & db update
*/
}else if(msglvl_si==1 && ((millis()-timer_si)>5000 && (millis()-timer_si)<10001)){
msglvl_si=2;
digitalWrite(led_si, HIGH);
delay(500);
digitalWrite(led_si, LOW);
delay(500);
digitalWrite(led_si, HIGH);
/*
/2nd level msg & db update
*/
}else if(msglvl_si==2 && (millis()-timer_si)>10000){
msglvl_si=3;
digitalWrite(led_si, HIGH);
delay(500);
digitalWrite(led_si, LOW);
delay(500);
digitalWrite(led_si, HIGH);
digitalWrite(led_si, HIGH);
delay(500);
digitalWrite(led_si, LOW);
delay(500);
digitalWrite(led_si, HIGH);
/*
/3rd level msg & db update
*/
}
}
}