-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAirFlowDuino.ino
More file actions
61 lines (46 loc) · 957 Bytes
/
AirFlowDuino.ino
File metadata and controls
61 lines (46 loc) · 957 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#define PIN_LED 13
#define PIN_PIR_SENSOR 2
#define PIN_RELAY_CH_2 A1
#define FAN_DELAY 60000 * 60
int pirState = LOW;
void setup() {
pinMode(PIN_LED, OUTPUT);
pinMode(PIN_RELAY_CH_2, OUTPUT);
pinMode(PIN_PIR_SENSOR, INPUT);
digitalWrite(PIN_LED, LOW);
digitalWrite(PIN_RELAY_CH_2, LOW);
Serial.begin(9600);
}
void loop() {
readPIR();
handleLed();
handleRelay();
delay(1000);
}
void readPIR() {
if (digitalRead(PIN_PIR_SENSOR) == HIGH) {
Serial.println("Movimento Detectado");
pirState = HIGH;
} else {
Serial.println("Movimento NAO Detectado");
pirState = LOW;
}
}
bool hasMove() {
return pirState == HIGH;
}
void handleLed() {
if (hasMove()) {
digitalWrite(PIN_LED, HIGH);
} else {
digitalWrite(PIN_LED, LOW);
}
}
void handleRelay() {
if (hasMove()) {
digitalWrite(PIN_RELAY_CH_2, HIGH);
delay(FAN_DELAY);
} else {
digitalWrite(PIN_RELAY_CH_2, LOW);
}
}