-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathledsANDmotor.ino
63 lines (46 loc) · 1.54 KB
/
ledsANDmotor.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
// Declaracion de variables
#define ledRojo 7
#define ledVerde 8
// Asumiendo una conexión al motor conectado al pin 12 y GND
#define motor 12
char orden = 'C';
void setup() {
// Definicion de salidas
pinMode(ledRojo, OUTPUT);
pinMode(ledVerde, OUTPUT);
pinMode(motor, OUTPUT);
// Apagamos todo por seguridad
digitalWrite(ledRojo, LOW);
digitalWrite(ledVerde, LOW);
digitalWrite(motor, LOW);
Serial.begin(9600);
}
void loop() {
char aux = Serial.read();
// A manera de evitar que se manden cientos de alertas
// Solo se hara cuando se reciba una orden diferente a la anterior
if (aux != orden) {
// Si se recibe 'R' se enciende el led rojo y el motor
if (aux == 'R') {
digitalWrite(ledRojo, HIGH);
digitalWrite(ledVerde, LOW);
digitalWrite(motor, HIGH);
orden = 'R';
Serial.println("Presionaste R, enciendo led rojo y motor.");
// Si se recibe 'N' se enciende el led verde
} else if (aux == 'N') {
digitalWrite(ledRojo, LOW);
digitalWrite(ledVerde, HIGH);
digitalWrite(motor, LOW);
orden = 'N';
Serial.println("Presionaste N, encendiendo led verde.");
// Si se recibe 'C' se apaga todo
} else if (aux == 'C') {
digitalWrite(ledRojo, LOW);
digitalWrite(ledVerde, LOW);
digitalWrite(motor, LOW);
orden = 'C';
Serial.println("Presionaste C, apagando todo.");
}
}
}