Untitled
unknown
c_cpp
10 months ago
1.9 kB
6
Indexable
int ledIndicator = 13;
int pum = 12;
int button = 2;
bool on = false;
unsigned long timeOn = 300000;
unsigned long timeNow;
unsigned long timeBlink;
void setup()
{
pinMode(ledIndicator, OUTPUT);
pinMode(pum, OUTPUT);
pinMode(button, INPUT_PULLUP);
on = false;
updateStatus();
}
void updateStatus()
{
digitalWrite(pum, !on); // truyen 0 cho relay de bat bom, truyen 1 cho relay de tat bom
}
bool readBtn(int pin, int pinStatus)
{
if (digitalRead(pin) == pinStatus)
{
delay(30);
if (digitalRead(pin) == pinStatus)
{
return true;
}
}
return false;
}
bool btnPressed(int button)
{
return readBtn(button, LOW);
}
void loop()
{
delay(5);
timeNow = millis();
timeBlink = (timeNow / 1000);
if (timeBlink % 7 == 0) // cu 7 giay tat led 1 giay
{
digitalWrite(ledIndicator, 0);
}
else
{
digitalWrite(ledIndicator, 1);
}
if (btnPressed(button))
{
while (btnPressed(button))
delay(1);
on = true;
updateStatus();
unsigned long startTime = millis();
delay(50);
while (true)
{
delay(5);
if (btnPressed(button))
{
while (btnPressed(button))
delay(1);
on = false;
updateStatus();
delay(50);
break;
}
timeNow = millis();
timeBlink = (timeNow / 500) % 2;
digitalWrite(ledIndicator, timeBlink);
if (timeNow - startTime > timeOn || startTime > timeNow) // ham milis co luc se reset ve 0
{
on = false;
updateStatus();
break;
}
}
}
}
Editor is loading...
Leave a Comment