-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmalditotcc.ino
93 lines (71 loc) · 1.51 KB
/
malditotcc.ino
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <LiquidCrystal.h>
#define LED_R 3
#define BUZZER 4
#define cOptica 5
#define LM35 A0
#define sLuz A1
#define limiteTemp 10
#define limiteLuz 800
#define CONTRASTE 9
LiquidCrystal lcd(12, 11, 10, 13, 8, 7);
void setup(){
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(LED_R, OUTPUT);
pinMode(BUZZER, OUTPUT);
pinMode(CONTRASTE, OUTPUT);
digitalWrite(LED_R, LOW);
digitalWrite(BUZZER,LOW);
lcd.clear();
}
int valorTemp = 0;
int valorFumaca = 0;
int valorLuz = 0;
float temperatura = 0;
void loop(){
valorFumaca = digitalRead(cOptica);
valorLuz = analogRead(sLuz);
valorTemp = analogRead(LM35);
temperatura = (valorTemp * 0.00488);
temperatura = temperatura * 100;
if (temperatura >= limiteTemp){
acionado();
} else {
desacionado();
}
if (valorLuz >= limiteLuz){
acionado();
} else {
desacionado();
}
if (valorFumaca == 1){
acionado();
} else {
desacionado();
}
Serial.print(temperatura);
Serial.print("\t");
Serial.print(valorFumaca);
Serial.print("\t");
Serial.println(valorLuz);
analogWrite(CONTRASTE,100);
lcd.setCursor(1, 0);
lcd.print("Temp=");
lcd.print(temperatura);
lcd.setCursor(1, 1);
lcd.print("Luz=");
lcd.print(valorLuz);
lcd.setCursor(10, 1);
lcd.print("CO=");
lcd.print(valorFumaca);
delay(80);
}
void acionado(){
digitalWrite(LED_R, HIGH);
digitalWrite(BUZZER, HIGH);
delay (150);
}
void desacionado(){
digitalWrite(LED_R, LOW);
digitalWrite(BUZZER, LOW);
}