96 lines
1.6 KiB
C++
96 lines
1.6 KiB
C++
|
|
byte flag=0;
|
|
int ledState = 0;
|
|
int interval = 1000;
|
|
long previousMillis = 0;
|
|
|
|
int rele = 8;
|
|
int led = 13;
|
|
int mode = 5;
|
|
|
|
//int pulsador = ... ;
|
|
//int clock_pin = 8;
|
|
//int clock_gnd = 9;
|
|
|
|
|
|
byte val = 0x00;
|
|
|
|
void setup()
|
|
{
|
|
Serial.begin(19200);
|
|
|
|
pinMode(rele, OUTPUT);
|
|
pinMode(mode, INPUT);
|
|
pinMode(led, OUTPUT);
|
|
|
|
// pinMode(mode, INPUT);
|
|
// pinMode(clock_pin, OUTPUT);
|
|
// pinMode(clock_gnd, OUTPUT);
|
|
|
|
digitalWrite(rele, LOW);
|
|
digitalWrite(mode, HIGH);
|
|
digitalWrite(led, HIGH);
|
|
|
|
// digitalWrite(mode, HIGH);
|
|
// digitalWrite(clock_gnd, LOW);
|
|
// digitalWrite(clock_pin, HIGH);
|
|
// delay(100);
|
|
// digitalWrite(clock_pin, LOW);
|
|
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
/*
|
|
if (!digitalRead(pulsador))
|
|
{
|
|
Serial.print(0, BYTE); // activado
|
|
}
|
|
else if (digitalRead(pulsador))
|
|
{
|
|
Serial.print(1, BYTE); // desactivado
|
|
}
|
|
*/
|
|
|
|
if (!digitalRead(mode))
|
|
{
|
|
|
|
if (millis() - previousMillis > interval)
|
|
{
|
|
previousMillis = millis();
|
|
|
|
if (ledState == LOW)
|
|
ledState = HIGH;
|
|
else
|
|
ledState = LOW;
|
|
|
|
Serial.write(2); // modo automatico
|
|
digitalWrite(led, ledState);
|
|
delay(1000);
|
|
}
|
|
}
|
|
else if (digitalRead(mode))
|
|
{
|
|
Serial.write(3); // modo manual
|
|
digitalWrite(led, HIGH);
|
|
delay(1000);
|
|
}
|
|
|
|
|
|
|
|
if(Serial.available() > 0)
|
|
{
|
|
val = Serial.read();
|
|
if (val == 0x10) digitalWrite(rele,HIGH);
|
|
else if (val == 0x20) digitalWrite(rele, LOW);
|
|
// else if (val==0x30)
|
|
// {
|
|
// digitalWrite(clock_pin, HIGH);
|
|
// delay(100);
|
|
// digitalWrite(clock_pin, LOW);
|
|
// }
|
|
|
|
}
|
|
|
|
}
|