Sunteți pe pagina 1din 14

String mensaje;

#include <SoftwareSerial.h>

const int CONTACTOR_1 = 2;//pin de salida del arduino para el contactor 1

const int CONTACTOR_2 = 3;//pin de salida del arduino para el contactor 2

const int INDICADOR_ROJO = 4;//pin de salida del arduino para el indicador rojo

const int INDICADOR_AMARILLO = 5;//pin de salida del arduino para el indicador amarillo

const int INDICADOR_VERDE = 6;//pin de salida del arduino para el indicador verde

const int a = 7;//pin de salida para el segmento "a", del display de 7 segmentoa

const int b = 8;//pin de salida para el segmento "b", del display de 7 segmentoa

const int c = 9;//pin de salida para el segmento "c", del display de 7 segmentoa

const int d = 10;//pin de salida para el segmento "d", del display de 7 segmentoa

const int e = 11;//pin de salida para el segmento "e", del display de 7 segmentoa

const int f = 12;//pin de salida para el segmento "f", del display de 7 segmentoa

const int g = 13;//pin de salida para el segmento "g", del display de 7 segmentoa

//--------------------------------------------------------------------------

//SDA=A4

//SCL=A5

void setup() {

Serial.begin(38400);

pinMode(CONTACTOR_1, OUTPUT);

pinMode(CONTACTOR_2, OUTPUT);

pinMode(INDICADOR_ROJO, OUTPUT);

pinMode(INDICADOR_AMARILLO, OUTPUT);

pinMode(INDICADOR_VERDE, OUTPUT);

pinMode(a, OUTPUT);
pinMode(b, OUTPUT);

pinMode(c, OUTPUT);

pinMode(d, OUTPUT);

pinMode(e, OUTPUT);

pinMode(f, OUTPUT);

pinMode(g, OUTPUT);

void loop() {//Iniciamos el bucle del programa

while(Serial.available()){//confirmando que el puerto serial este disponible

delay(10);//Damos un delay para dar estabilidad al programa

char c = Serial.read();//c almacena el comando o la variable mesanje

mensaje += c;//sumamos el contenido del comando o la variable mensaje

if (mensaje.length()>0) //verifica el mensaje que no este vacio

//iniciamos las funciones que se realiza

if (mensaje == "*Encender motor"){ //El * va a formar parte de la programacion para la


sincronizacion con el celular.

//Entre lo primero segundos encedera el piloto rojo

digitalWrite(CONTACTOR_1,LOW);

digitalWrite(CONTACTOR_2,LOW);

digitalWrite(INDICADOR_ROJO, HIGH);

digitalWrite(INDICADOR_AMARILLO, LOW);

digitalWrite(INDICADOR_VERDE, LOW);
digitalWrite(a, LOW); // 9

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, LOW);

digitalWrite(e, HIGH);

digitalWrite(f, LOW);

digitalWrite(g, LOW);

delay(1500);

digitalWrite(a, LOW); // 8

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, LOW);

digitalWrite(e, LOW);

digitalWrite(f, LOW);

digitalWrite(g, LOW);

delay(1500);

digitalWrite(a, LOW); // 7

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, HIGH);

digitalWrite(e, HIGH);

digitalWrite(f, HIGH);

digitalWrite(g, HIGH);

delay(1500);

digitalWrite(a, LOW); // 6
digitalWrite(b, HIGH);

digitalWrite(c, LOW);

digitalWrite(d, LOW);

digitalWrite(e, LOW);

digitalWrite(f, LOW);

digitalWrite(g, LOW);

delay(1500);

digitalWrite(a, LOW); // 5

digitalWrite(b, HIGH);

digitalWrite(c, LOW);

digitalWrite(d, LOW);

digitalWrite(e, HIGH);

digitalWrite(f, LOW);

digitalWrite(g, LOW);

delay(1500);

digitalWrite(a, HIGH); // 4

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, HIGH);

digitalWrite(e, HIGH);

digitalWrite(f, LOW);

digitalWrite(g, LOW);

delay(1500);

digitalWrite(a, LOW); // 3

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, LOW);
digitalWrite(e, HIGH);

digitalWrite(f, HIGH);

digitalWrite(g, LOW);

delay(1500);

digitalWrite(a, LOW); // 2

digitalWrite(b, LOW);

digitalWrite(c, HIGH);

digitalWrite(d, LOW);

digitalWrite(e, LOW);

digitalWrite(f, HIGH);

digitalWrite(g, LOW);

delay(1500);

digitalWrite(a, HIGH); // 1

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, HIGH);

digitalWrite(e, HIGH);

digitalWrite(f, HIGH);

digitalWrite(g, HIGH);

delay(1500);

digitalWrite(a, LOW); // 0

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, LOW);

digitalWrite(e, LOW);

digitalWrite(f, LOW);
digitalWrite(g, HIGH);

delay(1500);

digitalWrite(CONTACTOR_1,HIGH);

digitalWrite(CONTACTOR_2,LOW);

digitalWrite(INDICADOR_ROJO, LOW);

digitalWrite(INDICADOR_AMARILLO, LOW);

digitalWrite(INDICADOR_VERDE, HIGH);

if (mensaje == "*Apagar motor"){

digitalWrite(CONTACTOR_1,LOW);

digitalWrite(CONTACTOR_2,LOW);

digitalWrite(INDICADOR_ROJO, HIGH);

digitalWrite(INDICADOR_AMARILLO, LOW);

digitalWrite(INDICADOR_VERDE, LOW);

digitalWrite(a, HIGH);

digitalWrite(b, HIGH);

digitalWrite(c, HIGH);

digitalWrite(d, HIGH);

digitalWrite(e, HIGH);

digitalWrite(f, HIGH);

digitalWrite(g, HIGH);

if (mensaje == "*Girar hacia la derecha"){


//Entre lo primero segundos encedera el piloto rojo

digitalWrite(CONTACTOR_1,LOW);

digitalWrite(CONTACTOR_2,LOW);

digitalWrite(INDICADOR_ROJO, HIGH);

digitalWrite(INDICADOR_AMARILLO, LOW);

digitalWrite(INDICADOR_VERDE, LOW);

digitalWrite(a, LOW); // 9

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, LOW);

digitalWrite(e, HIGH);

digitalWrite(f, LOW);

digitalWrite(g, LOW);

delay(2000);

digitalWrite(a, LOW); // 8

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, LOW);

digitalWrite(e, LOW);

digitalWrite(f, LOW);

digitalWrite(g, LOW);

delay(2000);

digitalWrite(a, LOW); // 7

digitalWrite(b, LOW);

digitalWrite(c, LOW);
digitalWrite(d, HIGH);

digitalWrite(e, HIGH);

digitalWrite(f, HIGH);

digitalWrite(g, HIGH);

delay(2000);

digitalWrite(a, LOW); // 6

digitalWrite(b, HIGH);

digitalWrite(c, LOW);

digitalWrite(d, LOW);

digitalWrite(e, LOW);

digitalWrite(f, LOW);

digitalWrite(g, LOW);

delay(2000);

digitalWrite(a, LOW); // 5

digitalWrite(b, HIGH);

digitalWrite(c, LOW);

digitalWrite(d, LOW);

digitalWrite(e, HIGH);

digitalWrite(f, LOW);

digitalWrite(g, LOW);

delay(2000);

digitalWrite(a, HIGH); // 4

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, HIGH);

digitalWrite(e, HIGH);
digitalWrite(f, LOW);

digitalWrite(g, LOW);

delay(2000);

digitalWrite(a, LOW); // 3

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, LOW);

digitalWrite(e, HIGH);

digitalWrite(f, HIGH);

digitalWrite(g, LOW);

delay(2000);

digitalWrite(a, LOW); // 2

digitalWrite(b, LOW);

digitalWrite(c, HIGH);

digitalWrite(d, LOW);

digitalWrite(e, LOW);

digitalWrite(f, HIGH);

digitalWrite(g, LOW);

delay(2000);

digitalWrite(a, HIGH); // 1

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, HIGH);

digitalWrite(e, HIGH);

digitalWrite(f, HIGH);

digitalWrite(g, HIGH);

delay(2000);
digitalWrite(a, LOW); // 0

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, LOW);

digitalWrite(e, LOW);

digitalWrite(f, LOW);

digitalWrite(g, HIGH);

delay(2000);

digitalWrite(CONTACTOR_1,HIGH);

digitalWrite(CONTACTOR_2,LOW);

digitalWrite(INDICADOR_ROJO, LOW);

digitalWrite(INDICADOR_AMARILLO, LOW);

digitalWrite(INDICADOR_VERDE, HIGH);

if (mensaje == "*Girar hacia la izquierda"){

//Entre lo primero segundos encedera el piloto rojo

digitalWrite(CONTACTOR_1,LOW);

digitalWrite(CONTACTOR_2,LOW);

digitalWrite(INDICADOR_ROJO, HIGH);

digitalWrite(INDICADOR_AMARILLO, LOW);

digitalWrite(INDICADOR_VERDE, LOW);

digitalWrite(a, LOW); // 9

digitalWrite(b, LOW);
digitalWrite(c, LOW);

digitalWrite(d, LOW);

digitalWrite(e, HIGH);

digitalWrite(f, LOW);

digitalWrite(g, LOW);

delay(2000);

digitalWrite(a, LOW); // 8

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, LOW);

digitalWrite(e, LOW);

digitalWrite(f, LOW);

digitalWrite(g, LOW);

delay(2000);

digitalWrite(a, LOW); // 7

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, HIGH);

digitalWrite(e, HIGH);

digitalWrite(f, HIGH);

digitalWrite(g, HIGH);

delay(2000);

digitalWrite(a, LOW); // 6

digitalWrite(b, HIGH);

digitalWrite(c, LOW);

digitalWrite(d, LOW);
digitalWrite(e, LOW);

digitalWrite(f, LOW);

digitalWrite(g, LOW);

delay(2000);

digitalWrite(a, LOW); // 5

digitalWrite(b, HIGH);

digitalWrite(c, LOW);

digitalWrite(d, LOW);

digitalWrite(e, HIGH);

digitalWrite(f, LOW);

digitalWrite(g, LOW);

delay(2000);

digitalWrite(a, HIGH); // 4

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, HIGH);

digitalWrite(e, HIGH);

digitalWrite(f, LOW);

digitalWrite(g, LOW);

delay(2000);

digitalWrite(a, LOW); // 3

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, LOW);

digitalWrite(e, HIGH);

digitalWrite(f, HIGH);

digitalWrite(g, LOW);
delay(2000);

digitalWrite(a, LOW); // 2

digitalWrite(b, LOW);

digitalWrite(c, HIGH);

digitalWrite(d, LOW);

digitalWrite(e, LOW);

digitalWrite(f, HIGH);

digitalWrite(g, LOW);

delay(2000);

digitalWrite(a, HIGH); // 1

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, HIGH);

digitalWrite(e, HIGH);

digitalWrite(f, HIGH);

digitalWrite(g, HIGH);

delay(2000);

digitalWrite(a, LOW); // 0

digitalWrite(b, LOW);

digitalWrite(c, LOW);

digitalWrite(d, LOW);

digitalWrite(e, LOW);

digitalWrite(f, LOW);

digitalWrite(g, HIGH);

delay(2000);
digitalWrite(CONTACTOR_1,LOW);

digitalWrite(CONTACTOR_2,HIGH);

digitalWrite(INDICADOR_ROJO, LOW);

digitalWrite(INDICADOR_AMARILLO, HIGH);

digitalWrite(INDICADOR_VERDE, LOW);

mensaje="";//reseteando variable

S-ar putea să vă placă și