Está en la página 1de 3

Electrónica Automotriz.

Examen Supletorio.
Dada la siguiente tabla, obtener la forma estándar del producto de sumas, obtener el Mapa de Karnaugh,
realizar la simplificación con el mapa y graficar el diagrama lógico simplificado. (5 puntos)

A B C D X
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 1
0 1 0 0 1
0 1 0 1 1
0 1 1 0 0
0 1 1 1 1
1 0 0 0 0
1 0 0 1 1
1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0

Realizar los siguientes programas: (15 puntos)

1. Tres leds conectados al Arduino, 1 y 2 se encienden y se apagan cada 3 segundos, mientras que el
ultimo se enciende por 1 segundo y se apaga cada 2 segundos.

int led1=13;
int led2=12;
int led3=11;

void setup()
{
pinMode(led1, OUTPUT); // declaramos al pin 13 como salida
pinMode(led2, OUTPUT); //declaramos al pin 12 como salida
pinMode(led3, OUTPUT); //declaramos al pin 11 como salida
}

void loop()
{
digitalWrite(led1, HIGH); // Enciende el LED (ALTO es el nivel de voltaje)
delay(3000); // esperar 3 segundos
digitalWrite(led1, LOW); // Apague el LED cuando el voltaje este en BAJO
delay(3000); // esperar por 3 segundos
digitalWrite(led2, HIGH); // Enciende el LED (ALTO es el nivel de voltaje)
delay(3000); // esperar 3 segundos
digitalWrite(led2, LOW); // Apague el LED cuando el voltaje este en BAJO
delay(3000); // esperar 3 segundos
digitalWrite(led3, HIGH); // Enciende el LED (ALTO es el nivel de voltaje)
delay(1000); // esperar 1 segundos
digitalWrite(led3, LOW); // Apague el LED cuando el voltaje este en BAJO
delay(2000); // esperar 2 segundos
}
2. Tiene 1 led y 3 pulsadores conectados al Arduino, 1 pulsador hace que el led titile cada segundo, al
presionar el segundo pulsador el led queda encendido y al presionar el tercero apaga el led.

int LED=13; // indicamos que el LED es el pin 13


int pulsador1=12; // indicamos que el pulsador1 es el pin 12
int pulsador2=11; // indicamos que el pulsador2 es el pin 11
int pulsador3=10; // indicamos que el pulsador3 es el pin 10

void setup() {
pinMode (LED,OUTPUT); //DECLARAMOS AL LED COMO SALIDA
pinMode (pulsador1,INPUT); //DECLARAMOS AL PULSADOR1 COMO ENTRADA
pinMode (pulsador2,INPUT); //DECLARAMOS AL PULSADOR2 COMO ENTRADA
pinMode (pulsador3,INPUT); //DECLARAMOS AL PULSADOR3 COMO ENTRADA
}

void loop() {
if(digitalRead(pulsador1)==HIGH) //comprueba si el pulsador1 se encuentra en alto
{ //si es verdadero se realiza la siguiente operacion
analogWrite(LED,HIGH); //se enciende el led si se encuentra en un nivel alto
delay(1000); // espera 1 segundo
analogWrite(LED,LOW); //se apaga el led si se encuentra en un nivel bajo
delay(1000); // espera 1 segundo
}
if(digitalRead(pulsador2)==HIGH) //comprueba si el pulsador2 se encuentra en alto
{ //si es verdadero se realiza la siguiente operacion
analogWrite(LED,HIGH); // se enciende el led si se encuentra en un nivel alto
}
if(digitalRead(pulsador3)==HIGH) // comprueba si el pulsador3 se encuentra
{ //si es verdadero se realiza la siguiente operacion
analogWrite(LED,LOW); // se apaga el led si se encuentra en un nivel bajo
}
}

3. Tiene 3 leds, 1 potenciómetro y 2 pulsadores conectados al Arduino, al presionar el primer


pulsador, los leds se encienden con la intensidad que marca el potenciómetro, el 2 pulsador hace
que titilen los leds a la velocidad con la que indica el potenciómetro.

int LED1=13;
int LED2=12;
int LED3=11;
int pulsador1=8;
int pulsador2=9;
int pot= A0;
int bright= 225;
int val=0;

void setup()
{
pinMode(LED1,OUTPUT); // DECLARAMOS AL LED1 COMO SALIDA
pinMode(LED2,OUTPUT); // DECLARAMOS AL LED2 COMO SALIDA
pinMode(LED3,OUTPUT); // DECLARAMOS AL LED3 COMO SALIDA
pinMode(pulsador1,INPUT); // DECLARAMOS AL PULSADOR1 COMO ENTRADA
pinMode(pulsador2,INPUT); // DECLARAMOS AL PULSADOR2 COMO ENTRADA
pinMode(pot,INPUT); // DECLARAMOS AL POTENCIOMETRO COMO ENTRADA
}

void loop() {
if(digitalRead(pulsador1)==HIGH) // COMPRUEBA SI EL PULSADOR SE ENCUENTRA EN ALTO
{ // SI ES VERDAD SE EJECUTA LA SIGUIENTE OPERACION
bright=analogRead(pot); // LA INTENSIDAD SERA EL VALOR LEIDO DEL POTENCIOMETRO
analogWrite(LED1,bright); // EL LED SE ENCIENTE CON LA INTENSIDAD QUE LEE DEL
POTENCIOMETRO
analogWrite(LED2,bright);
analogWrite(LED3,bright);
}
if(digitalRead(pulsador2)==HIGH) // COMPRUEBA SI EL PULSADOR SE ENCUENTRA EN ALTO
{ // SI ES VERDAD SE EJECUTA LA SIGUIENTE OPERACION
val=analogRead(pot); // LA VELOCIDAD SERA EL VALOR LEIDO DEL POTENCIOMETRO
digitalWrite(LED1,HIGH); // EL LED1 SE ENCIENTE SI SE ENCUENTRA EN UN NIVEL ALTO
delay(val); // ESPERA EL VALOR DE VELOCIDAD LEIDA
digitalWrite(LED1,LOW); // EL LED1 SE APAGA SI SE ENCUENTRA EN UN NIVEL BAJO
delay(val); // ESPERA EL VALOR DE VELOCIDAD LEIDA
digitalWrite(LED2,HIGH);
delay(val);
digitalWrite(LED2,LOW);
delay(val);
digitalWrite(LED3,HIGH);
delay(val),
digitalWrite(LED3,LOW);
delay(val);
}

Criterio de evaluación para los ejercicios de ARDUINO:

TODAS las líneas de programación tienen que estar comentadas. (1 punto)

Estructura del void setup () correcta. (1 punto)

Uso correcto de variables (incluida su declaración). (1 punto)

Estructura del void loop () correcta. (1 punto)

Cumpla con lo solicitado. (1 punto)