Está en la página 1de 6

TRABAJO EN CLASE ARDUINO

Nombre: Christian Carpio

APLICACIÓN 1. Condicional

El semáforo funciona con tiempos y en el siguiente orden:

 Verde: 15 segundos

 Amarillo: 2 Segundos

 Rojo: 15 Segundos

El funcionamiento del semáforo cumple la siguiente lógica, tenemos 4 botones (P1, P2, P3
y P4):

 El semáforo se enciende solo si presionamos simultáneamente los botones P1 y P2.

 El semáforo se detiene cuando presionamos cualquiera de los botones P3 y P4.

CODIGO:

//SEMAFORO

int VERDE = 11;

int AMARILLO = 12;

int ROJO = 13;

int BOTONA = 7;

int BOTONB = 6;

int BOTONC = 5;

int BOTOND = 4;

void setup()

pinMode(VERDE, OUTPUT);
pinMode(AMARILLO, OUTPUT);

pinMode(ROJO, OUTPUT);

pinMode(BOTONA, INPUT);

pinMode(BOTONB, INPUT);

pinMode(BOTONC, INPUT);

pinMode(BOTOND, INPUT);

digitalWrite(VERDE, LOW);

digitalWrite(AMARILLO, LOW);

digitalWrite(ROJO, LOW);

void loop()

if (digitalRead(BOTONA)==HIGH)

if (digitalRead(BOTONB)==HIGH)

if (digitalRead(BOTONC)==LOW)

if (digitalRead(BOTOND)==LOW)

digitalWrite(VERDE, HIGH);

delay(15000); // TIEMPO LUZ VERDE

digitalWrite(VERDE, LOW);

digitalWrite(AMARILLO, HIGH);

delay(2000); // TIEMPO LUZ AMARILLO


digitalWrite(AMARILLO, LOW);

digitalWrite(ROJO, HIGH);

delay(15000); // TIEMPO LUZ ROJO

digitalWrite(ROJO, LOW);

else if (digitalRead(BOTONC)==LOW||digitalRead(BOTOND)==LOW)

digitalWrite(VERDE, LOW);

digitalWrite(AMARILLO, LOW);

digitalWrite(ROJO, LOW);

SIMULACION:

https://www.tinkercad.com/things/fPSGENPK6v3-semaforo/editel?
sharecode=7HwxnYsh-u3dvT4XtiLqRYJNiw13XNPy67C4VDqmyFo=
APLICACIÓN 2. Parqueadero inteligente

Al detectar un vehículo, el conductor presiona un pulsador y la barrera controlada mediante


un servo motor se levanta hasta 90º. Una vez que el auto cruzó la barrera se coloca en
posición inicial 0º. Para la salida es el mismo procedimiento.

Dentro del parqueadero que encienden una luz verde, si está disponible. Existen 3
parqueaderos disponibles.

CODIGO:

//PARQUEADERO

#include<Servo.h>

Servo servomotor;

int angulo = 0;

int ARRIBA = 6;

int ABAJO = 5;

void setup()

servomotor.attach(7);

pinMode(ABAJO,INPUT);

pinMode(ARRIBA,INPUT);
servomotor.write(90);

void loop()

if(digitalRead(ARRIBA) == LOW)

angulo++;

if(angulo>=90)

angulo = 90;

if(digitalRead(ABAJO) == LOW);

angulo--;

if(angulo<=0)

angulo=0;

}
}

servomotor.write(90);

delay(1000);

SIMULACION:

https://www.tinkercad.com/things/h2ycFuiJtuV-estacionamiento/editel?
sharecode=vkwo9H7X8lj633EAnwsVN2j059tjgvHDtw6hLgevhkQ=

También podría gustarte