#include <ezButton.h> // ezButton library https://arduinogetstarted.com/tutorials/arduino-button-library
#include <ezLED.h> // ezLED library
ezButton HelmetLightstButton(11); // create a button object that attach to pin 11
ezButton HelmetButton(12); // create a button object that attach to pin 12
ezLED Glove_Helmet_Led1(2); // create a LED object that attach to pin 2
ezLED Glove_Helmet_Led2(3); // create a LED object that attach to pin 3
ezLED Glove_Helmet_Led3(4); // create a LED object that attach to pin 4
ezLED Glove_Helmet_Led4(5); // create a LED object that attach to pin 5
ezLED Helmet_Lights1(6); // create a LED object that attach to pin 6
ezLED Helmet_Lights2(7); // create a LED object that attach to pin 7
ezLED Helmet_Led1(8); // create a LED object that attach to pin 8
ezLED Helmet_Led2(9); // create a LED object that attach to pin 9
ezLED Helmet_Led3(10); // create a LED object that attach to pin 10
int Helmet_Control = LOW;
int Helmet_Blink_Interval = 300;
int Glove_Blink_Interval = 200;
void Open_Helmet_Led_Blink()
{
Glove_Helmet_Led1.blink(Glove_Blink_Interval, Glove_Blink_Interval*3, 0);
Glove_Helmet_Led2.blink(Glove_Blink_Interval, Glove_Blink_Interval*3, Glove_Blink_Interval);
Glove_Helmet_Led3.blink(Glove_Blink_Interval, Glove_Blink_Interval*3, Glove_Blink_Interval*2);
Glove_Helmet_Led4.blink(Glove_Blink_Interval, Glove_Blink_Interval*3, Glove_Blink_Interval*3);
};
void Close_Helmet_Led_Blink()
{
Glove_Helmet_Led4.blink(Glove_Blink_Interval, Glove_Blink_Interval*3, 0);
Glove_Helmet_Led3.blink(Glove_Blink_Interval, Glove_Blink_Interval*3, Glove_Blink_Interval);
Glove_Helmet_Led2.blink(Glove_Blink_Interval, Glove_Blink_Interval*3, Glove_Blink_Interval*2);
Glove_Helmet_Led1.blink(Glove_Blink_Interval, Glove_Blink_Interval*3, Glove_Blink_Interval*3);
};
void Error_Helmet_Led_Blink()
{
Glove_Helmet_Led1.blink(Helmet_Blink_Interval, Helmet_Blink_Interval);
Glove_Helmet_Led2.blink(Helmet_Blink_Interval, Helmet_Blink_Interval);
Glove_Helmet_Led3.blink(Helmet_Blink_Interval, Helmet_Blink_Interval);
Glove_Helmet_Led4.blink(Helmet_Blink_Interval, Helmet_Blink_Interval);
};
void TurnOff_Glove_Helmet_Led_Blink()
{
Glove_Helmet_Led1.turnOFF();
Glove_Helmet_Led2.turnOFF();
Glove_Helmet_Led3.turnOFF();
Glove_Helmet_Led4.turnOFF();
};
void External_Helmet_Led()
{
Helmet_Led1.blink(Helmet_Blink_Interval, Helmet_Blink_Interval*3, 0);
Helmet_Led2.blink(Helmet_Blink_Interval, Helmet_Blink_Interval*3, Helmet_Blink_Interval);
Helmet_Led3.blink(Helmet_Blink_Interval, Helmet_Blink_Interval*3, Helmet_Blink_Interval*2);
}
void TurnOff_Helmet_Lights()
{
Helmet_Led1.turnOFF();
Helmet_Led2.turnOFF();
Helmet_Led3.turnOFF();
};
void TurnOn_HelmetLights()
{
Helmet_Lights1.turnON();
Helmet_Lights2.turnON();
}
bool Button_Helmet_State = false;
bool Button_Helmet_Lights_State = false;
void setup()
{
Serial.begin(9600);
HelmetButton.setDebounceTime(50); // set debounce time to 50ms
HelmetLightstButton.setDebounceTime(50); // set debounce time to 50ms
External_Helmet_Led();
}
void loop() {
HelmetButton.loop(); // MUST call the loop() function first
HelmetLightstButton.loop(); // MUST call the loop() function first
Helmet_Led1.loop();
Helmet_Led2.loop();
Helmet_Led3.loop();
Glove_Helmet_Led1.loop();
Glove_Helmet_Led2.loop();
Glove_Helmet_Led3.loop();
Glove_Helmet_Led4.loop();
Helmet_Lights1.loop();
Helmet_Lights2.loop();
if (HelmetButton.isPressed())
{
Button_Helmet_State = !Button_Helmet_State;
if (Button_Helmet_State == true)
{
TurnOff_Glove_Helmet_Led_Blink();
Open_Helmet_Led_Blink();
}else{
TurnOff_Glove_Helmet_Led_Blink();
Error_Helmet_Led_Blink();
}
}
if (HelmetLightstButton.isPressed())
{
Button_Helmet_Lights_State = !Button_Helmet_Lights_State;
if (Button_Helmet_Lights_State == true)
{
TurnOn_HelmetLights();
}else{
Helmet_Lights1.turnOFF();
Helmet_Lights2.turnOFF();
}
}
}