Traffic Light">
Nothing Special   »   [go: up one dir, main page]

Trabajo en Clase ARDUINO

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

UNIVERSIDA POLITECNICA SALESIANA

NOMBRE: Alex Caiza

AULA: 10mo Mecánica

Trabajo en Clase ARDUINO

APLICACIÓN 1. Semáforo inteligente.

El semáforo funciona normalmente hasta que el peatón presiona el botón para cruzar.

 Si al presionar el botón existen autos cruzando, el semáforo se pone en rojo luego de


30 segundos.
 Si al presionar el botón NO existen autos cruzando, el semáforo cambia a amarillo y
a rojo inmediatamente.

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

 Verde: 15 segundos
 Amarillo: 2 Segundos
 Rojo: 15 Segundos

Los autos son detectados mediante sensor de presencia, escogido de acuerdo a


disponibilidad.

DIAGRAMA
CODIGO

// EJERCICIO 1

int VERDE = 5; // Define las salidas de los LED ́s

int AMARILLO = 6;

int ROJO = 7;

int sensor = 8;

int button = 9;
void setup() { // Configura las SALIDAS

pinMode(VERDE, OUTPUT); // declarar LEDs como SALIDAS

pinMode(AMARILLO, OUTPUT);

pinMode(ROJO, OUTPUT);

pinMode(sensor, INPUT);

pinMode(button, INPUT);

digitalWrite(VERDE, LOW); // Apaga los LEDs

digitalWrite(AMARILLO, LOW);

digitalWrite(ROJO, LOW);

void loop(){ //Bucle de Funcionamiento

if (digitalRead(button)==LOW &&(digitalRead(sensor)==LOW));

digitalWrite(VERDE, HIGH);

delay(15000);

digitalWrite(VERDE, LOW);

digitalWrite(AMARILLO, HIGH);

delay(2000);

digitalWrite(AMARILLO, LOW);
digitalWrite(ROJO, HIGH);

delay(15000);

digitalWrite(ROJO, LOW);

if (digitalRead(button)==HIGH &&(digitalRead(sensor)==LOW));

digitalWrite(AMARILLO, HIGH);

delay(2000);

digitalWrite(AMARILLO, LOW);

digitalWrite(VERDE, LOW);

digitalWrite(ROJO, HIGH);

delay(15000);

digitalWrite(ROJO, LOW);

delay(15000);

if (digitalRead(button)==HIGH &&(digitalRead(sensor)==HIGH));

digitalWrite(ROJO, LOW);

delay(15000);
digitalWrite(ROJO, HIGH);

https://www.tinkercad.com/things/9djYsOSoVQm-fantastic-
amur/editel?sharecode=5zG2VaHoI_mMdxhjYgapBmYv0Zj6hO8YHvtAUadDQgw=

APLICACIÓN2. 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.

CIRCUITO
CODIGO

//EJERCICIO 2

#include<Servo.h> //Se incluye la librería Servo.

int Angulo = 0;

Servo servo;

int pulsador=5;

int led1=8;

int led2=9;

int led3=10;

void setup() {

pinMode(led1, OUTPUT); // declarar LEDs como SALIDAS

pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);

pinMode(pulsador, INPUT);

servo.attach(4);

servo.write(0);

delay(500);

void loop() {

if (digitalRead(pulsador==LOW));

digitalWrite(led1, HIGH);

digitalWrite(led2, HIGH);

digitalWrite(led3, HIGH);

while (digitalRead(5) == HIGH && Angulo < 90) {

Angulo++;

if(Angulo > 89)

Angulo = 90;

servo.write(Angulo);

delay(25);
}

if (digitalRead(pulsador==HIGH));

digitalWrite(led1, LOW);

digitalWrite(led2, LOW);

digitalWrite(led3, LOW);

while (digitalRead(5) == LOW && Angulo > 0) {

Angulo--;

if(Angulo < 1)

Angulo = 0;

servo.write(Angulo);

delay(25);

https://www.tinkercad.com/things/bvediH8TAkV-daring-sango-
trug/editel?tenant=circuits?sharecode=OJCcSUpMzbfaDXTZFgwit21v8EhqbSKmCvIVYMacxGE=

También podría gustarte