86 lines
1.6 KiB
Plaintext
86 lines
1.6 KiB
Plaintext
byte flag=0;
|
|
int ledState = 0;
|
|
int interval = 1000;
|
|
int previousMillis = 0;
|
|
|
|
int rele = 10;
|
|
int rele_gnd = 11;
|
|
int led = 14;
|
|
int pulsador = 15;
|
|
int gnd = 16;
|
|
int mode = 17;
|
|
int clock_pin = 8;
|
|
int clock_gnd = 9;
|
|
|
|
|
|
byte val =0x00;
|
|
|
|
|
|
void setup() {
|
|
Serial.begin(19200);
|
|
pinMode(rele, OUTPUT);
|
|
pinMode(rele_gnd, OUTPUT);
|
|
pinMode(pulsador, INPUT);
|
|
pinMode(led, OUTPUT);
|
|
pinMode(mode, INPUT);
|
|
pinMode(gnd, OUTPUT);
|
|
pinMode(clock_pin, OUTPUT);
|
|
pinMode(clock_gnd, OUTPUT);
|
|
|
|
digitalWrite(rele, LOW);
|
|
digitalWrite(rele_gnd, LOW);
|
|
digitalWrite(pulsador, HIGH);
|
|
digitalWrite(led, HIGH);
|
|
digitalWrite(mode, HIGH);
|
|
digitalWrite(gnd, LOW);
|
|
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))
|
|
{
|
|
Serial.print(2, BYTE); // modo automatico
|
|
if (millis() - previousMillis > interval) {
|
|
previousMillis = millis();
|
|
if (ledState == LOW)
|
|
ledState = HIGH;
|
|
else
|
|
ledState = LOW;
|
|
|
|
digitalWrite(led, ledState);
|
|
}
|
|
}
|
|
else if (digitalRead(mode))
|
|
{
|
|
Serial.print(3, BYTE); // modo manual
|
|
}
|
|
|
|
delay(100);
|
|
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
|
|
|