Practica 1, SEMÁFORO DE 4 VIAS

June 19, 2018 | Author: anon_263386170 | Category: Traffic Light, Arduino, Technology, Computing, Computer Engineering
Share Embed Donate


Short Description

Descripción: practica...

Description

Introducción Por medio del presente informe se quiere dar a conocer lo realizado en la primera práctica con Arduino. En esta primera práctica se muestra la elaboración de un semáforo de cuarto vías, se muestran cueles fueron las conexiones que se necesitaron hacer para la realización de esta práctica.  Además se muestra cual fue código implementado para darle funcionamiento a la simulación en programa Proteus.

Practica 1. Semáforo de cuatro vías 1. Primero se buscaron cuáles son las posibles combinaciones que se podrían llegar a tener en el semáforo, para esto se realizaron tablas en las cuales un 1 significaba encendido y un 0 apagado

No. de

No. de

Verde

Amarillo

Rojo



0

1

0

1



0

0

1

0

1



0

0

1

0

0

1



0

0

1

Verde

Amarillo

Rojo

Verde

Amarillo

Rojo



0

0

1



0

0

1



1

0

0



0

1

0



0

0

0



0

0

1



0

0

1



0

0

1

Verde

Amarillo

Rojo



1

0

0



0

0



0



Semáforo

No. de Semáforo

Semáforo

No. de Semáforo

No. de

No. de

Verde

Amarillo

Rojo



0

0

1

1



0

0

1

0

0



0

1

0

0

0

1



0

0

1

Verde

Amarillo

Rojo



0

0

1



0

0



0



Verde

Amarillo

Rojo



0

0

1



0

0



1



Semáforo

No. de

Semáforo

No. de

Verde

Amarillo

Rojo



0

0

1

1



0

0

1

0

1



0

0

1

1

0

1



0

1

0

Verde

Amarillo

Rojo



1

0

0



0

0

1



0

0

1



0

0

1

Semáforo

No. de Semáforo

Semáforo

Realización de conexiones y cableado en Proteus

2. Comenzamos a realizar las conexiones en el software Proteus. Para esto se utilizaron los siguientes componentes: 

Arduino Mega 2560

  Resistencia



  VSOURCE



  Switch





LED Verde



LED Amarillo



LED Rojo

  Ground



3. Comenzamos colocando nuestros componentes en el área de trabajo.  Acomodamos los componentes de tal forma que parezca como si fuera en la calle.

4. Cambiamos las resistencias a 220, para esto dimos doble clic sobre estas y cambiamos el valor a 220.

5. Empezamos a realizar las conexiones, en la parte del Arduino donde dice Digital conectamos las resistencias, las acomodamos en orden para no tener problemas al comenzar a programar. 6. Conectamos las resistencias a los LEDS y los LEDS a tierra (Ground).

7. Por ultimo conectamos el VSOURCE a tierra (Ground) y al switch, el switch lo conectamos en el último pin Arduino para no tener problemas con el cableado.

Programación en Arduino

8. Realizamos la programación en el programa Arduino, para hacer funcionar nuestro semáforo. int interruptor=0; //Declaración del interruptor como tipo entero con un valor de 0. int verde1=22;

// Se asigna a verde1 el valor del pin 22, este está declarado

como tipo entero. int amarillo1=23; // Se asigna amarillo1 el valor del pin 23, este está declarado

como tipo entero. int rojo1=24;

// Se asigna a rojo1 el valor del pin 24, este está declarado

como tipo entero. int verde2=25;

// Se asigna a verde2 el valor del pin 25, este está declarado

como tipo entero. int amarillo2=26; // Se asigna a amarillo2 el valor del pin 26, este está declarado

como tipo entero. int rojo2=27;

// Se asigna a rojo2 el valor del pin 27, este está declarado como

tipo entero. int verde3=28; // Se asigna a verde3 el valor del pin 28, este está declarado

como tipo entero.

int amarillo3=29; // Se asigna a amarillo3 el valor del pin 29, este está declarado

como tipo entero. int rojo3=30;

// Se asigna a rojo3 el valor del pin 30, este está declarado

como tipo entero. int verde4=33;

// Se asigna a verde4 el valor del pin 33, este está declarado

como tipo entero. int amarillo4=32; // Se asigna a amarillo4 el valor del pin 32, este está declarado

como tipo entero. int rojo4=31; // Se asigna a rojo4 el valor del pin 31, este está declarado como

tipo entero. void setup () {  //Configuración

// Designar la salida digital a los PINES que tengan un LED ( OUTPUT indica salida) pinMode(verde1,OUTPUT); pinMode(amarillo1,OUTPUT); pinMode(rojo1,OUTPUT); pinMode(verde2,OUTPUT); pinMode(amarillo2,OUTPUT); pinMode(rojo2,OUTPUT); pinMode(verde3,OUTPUT); pinMode(amarillo3,OUTPUT); pinMode(rojo3,OUTPUT); pinMode(verde4,OUTPUT); pinMode(amarillo4,OUTPUT); pinMode(rojo4,OUTPUT);

pinMode(53,INPUT); //El pin del Switch es de entrada ( INPUT indica entrada) } //Cierra el bloque de instrucciones void loop () { //Bucle de funcionamiento. loop este se ejecuta de forma cíclica. interruptor=digitalRead(53); // Interruptor obtiene el valor leído del pin 53, digitalRead (lectura digital) leer el valor de un pin en este caso el del 53. if (interruptor==HIGH) { //Condición, si ( if  indica si a condición se ha alcanzado)

el interruptor es igual a encendido ( HIGH significa Alto o encendido). digitalWrite(rojo1,LOW); //Apaga el LED (LOW significa apagado). digitalWrite significa escritura digital

//Poner los pines de color rojo como apagados excepto el pin del primer semáforo (rojo1). digitalWrite(verde1,HIGH); digitalWrite(rojo2,HIGH); digitalWrite(rojo3,HIGH); digitalWrite(rojo4,HIGH);

//Usamos un retardo ( delay significa retardo) al final para detener la ejecución del programa, la cantidad de tiempo en ms, este caso usamos 2000. delay(2000); //Debemos darle un tiempo algo grande para que no se apaguen

demasiado rápido. digitalWrite(verde1,LOW); //Apagamos el pin verde1. delay(100); //Damos un retardo corto para que se apague rápido.

// Tenemos que ir encendiendo cada uno de nuestro pines. // Copiamos varias veces el encendido y apagado del ping amarillo1 para que este parpadee. //Como en un semáforo el color amarillo dura poco se debe de asignar un retardo pequeño.

digitalWrite(amarillo1,HIGH); delay(100); digitalWrite(amarillo1,LOW); delay(100); digitalWrite(amarillo1,HIGH); delay(100); digitalWrite(amarillo1,LOW); delay(100); digitalWrite(amarillo1,HIGH); delay(100); digitalWrite(amarillo1,LOW); delay(100); digitalWrite(rojo1,HIGH); //Enciende el pin rojo1. digitalWrite(rojo2,LOW); // Apagamos el pin rojo2 porque es el que se usará

ahora. digitalWrite(verde2,HIGH); // Enciende el ping verd2. delay(2000); //Debemos darle un tiempo algo grande para que no se apaguen

demasiado rápido. digitalWrite(verde2,LOW); //Apaga el ping verde2. delay(100); // Damos un retardo corto para que se apague rápido.

//Hacemos lo mismo que en lo anterior copiamos varias veces el código de encendido y apagado del pin amarillo2 para que parpadee. digitalWrite(amarillo2,HIGH); delay(100);

digitalWrite(amarillo2,LOW); delay(100); digitalWrite(amarillo2,HIGH); delay(100); digitalWrite(amarillo2,LOW); delay(100); digitalWrite(amarillo2,HIGH); delay(100); digitalWrite(amarillo2,LOW); delay(100); digitalWrite(rojo2,HIGH); //Enciende el pin rojo2. digitalWrite(rojo3,LOW); //Apaga el ping rojo3, porque es el que se usara ahora. digitalWrite(verde3,HIGH); delay(2000); //Debemos darle un retardo algo largo para que no se apaguen

demasiado rápido. digitalWrite(verde3,LOW); delay(100); //Damos un retardo corto para que se apague rápido.

//Hacemos lo mismo que en lo anterior copiamos varias veces el código de encendido y apagado el ping amarillo3 para que parpadee. digitalWrite(amarillo3,HIGH); delay(100); digitalWrite(amarillo3,LOW); delay(100); digitalWrite(amarillo3,HIGH);

delay(100); digitalWrite(amarillo3,LOW); delay(100); digitalWrite(amarillo3,HIGH); delay(100); digitalWrite(amarillo3,LOW); delay(100); digitalWrite(rojo3,HIGH);  //Enciende el ping rojo3. digitalWrite(rojo4,LOW);  //Apaga el ping rojo3, porque es el que se usara. digitalWrite(verde4,HIGH);  //Enciende el ping verde4. delay(2000); //Debemos darle un retardo algo largo para que no se apaguen

demasiado rápido. digitalWrite(verde4,LOW); delay(100); //Le damos un tiempo menor para que no tarde tanto en apagarse.

//Hacemos lo mismo que en lo anterior copiamos varias veces el código de encendido y apagado del ping amarillo3 para que parpadee. digitalWrite(amarillo4,HIGH); delay(100); digitalWrite(amarillo4,LOW); delay(100); digitalWrite(amarillo4,HIGH); delay(100); digitalWrite(amarillo4,LOW); delay(100);

digitalWrite(amarillo4,HIGH); delay(100); digitalWrite(amarillo4,LOW); delay(100); digitalWrite(rojo4,HIGH); //Enciende el pin rojo4 para iniciar nuevamente el ciclo. } //Cierra el bloque de instrucciones } //Cierra el bloque de instrucciones

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF