practica 1, semÁforo de 4 vias

Upload: anon263386170

Post on 08-Oct-2015

163 views

Category:

Documents


4 download

DESCRIPTION

practica

TRANSCRIPT

Informe Prctica 1. Semforo de cuatro vas

IntroduccinPor medio del presente informe se quiere dar a conocer lo realizado en la primera prctica con Arduino. En esta primera prctica se muestra la elaboracin de un semforo de cuarto vas, se muestran cueles fueron las conexiones que se necesitaron hacer para la realizacin de esta prctica.Adems se muestra cual fue cdigo implementado para darle funcionamiento a la simulacin en programa Proteus.

Practica 1. Semforo de cuatro vas 1. Primero se buscaron cules son las posibles combinaciones que se podran llegar a tener en el semforo, para esto se realizaron tablas en las cuales un 1 significaba encendido y un 0 apagado

No. de SemforoVerdeAmarilloRojo

1100

2001

3001

4001

No. de SemforoVerdeAmarilloRojo

1001

2100

3000

4001

No. de SemforoVerdeAmarilloRojo

1001

2001

3100

4001

No. de SemforoVerdeAmarilloRojo

1001

2001

3001

4101

No. de SemforoVerdeAmarilloRojo

1100

2001

3001

4001

Realizacin de conexiones y cableado en Proteus2. 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.

Programacin en Arduino8. Realizamos la programacin en el programa Arduino, para hacer funcionar nuestro semforo. int interruptor=0; //Declaracin 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 () { //Configuracin// 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 instruccionesvoid loop () { //Bucle de funcionamiento. loop este se ejecuta de forma cclica.interruptor=digitalRead(53); // Interruptor obtiene el valor ledo del pin 53, digitalRead (lectura digital) leer el valor de un pin en este caso el del 53. if (interruptor==HIGH) { //Condicin, si (if indica si a condicin 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 semforo (rojo1).digitalWrite(verde1,HIGH); digitalWrite(rojo2,HIGH);digitalWrite(rojo3,HIGH);digitalWrite(rojo4,HIGH);//Usamos un retardo (delay significa retardo) al final para detener la ejecucin 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 rpido.digitalWrite(verde1,LOW); //Apagamos el pin verde1.delay(100); //Damos un retardo corto para que se apague rpido.// 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 semforo el color amarillo dura poco se debe de asignar un retardo pequeo.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 rpido.digitalWrite(verde2,LOW); //Apaga el ping verde2. delay(100); // Damos un retardo corto para que se apague rpido.//Hacemos lo mismo que en lo anterior copiamos varias veces el cdigo 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 rpido.digitalWrite(verde3,LOW); delay(100); //Damos un retardo corto para que se apague rpido.//Hacemos lo mismo que en lo anterior copiamos varias veces el cdigo 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 rpido.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 cdigo 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