Sei sulla pagina 1di 6

UNIVERSIDAD DON BOSCO

FACULTAD DE INGENIERIA

“EJERCICIOS DE DECODIFICADORES”

Materia: EJERCICIOS DE ALGORITMOS

PRESENTADO POR:

GILLERMO ELIZANDRO MARTÍNEZ VÁSQUEZ MV182065

JOSE FABRICIO LOPEZ RAMIREZ LR171513

Docente: Ing. Eduardo Rivera

Grupo Teórico: 01T

Soyapango, 10 de septiembre de 2019


1. Leer datos de un puerto de 4 bits y si es una de 4 opciones, se aplica encender 4 ledes, apagar
4 leds, encender de izquierda a derecha 4 leds y encender de derecha a izquierda 4 leds.
int pinLed[4]={5,6,7,8}; // definimos las salidas de los leds

int tiempo = 200; // creamos una variable tiempo de valor 200

void setup() {

int i=0;

for(i=0;i<4;i++) // creamos la varialble i que será asignada a cada uno de los leds

pinMode(pinLed[i],OUTPUT); // configuramos los pinleds como salida

void loop() {

switch (serial.read())// lee bits de entrada

case 1: //si es bit 1 se encienden los 4 leds

int i=0;

for(i=0;i<4;i++)

digitalWrite(pinLed[i],HIGH); //enciende led

delay(1000);

break; //sale del switch

case 2: // si es bit 2 apaga los leds

int i=0;

for(i=0;i<4;i++)
{

digitalWrite(pinLed[i],LOW); //apaga led

delay(1000);

break; //sale del switch

case 3: // es bit , se enciende de izquierda a derecha

int i=0;

for(i=0,i<=4,i++)

digitalWrite(pinLed[i],HIGH)

delay(1000)

digitalWrite(pinLed[i],LOW)

delay(1000)

break;

case 4: // es bit 4, se enciende de derecha a izquierda

int i=0;

for(i=4,i<=0,i--)

digitalWrite(pinLed[i],HIGH)

delay(1000)

digitalWrite(pinLed[i],LOW)

delay(1000)

break; //fin

}
2. el algoritmo para controlar un motor que maneja 4 líneas en una secuencia de 4 pasos •
Paso1: 1001 • Paso 2: 1010 • Paso 3: 1100 • Paso 4: 0000

int motorLinea1 = 8; // 4 lineas del motor

int motorLinea2 = 9;

int motorLinea3 = 10;

int motorLinea4 = 11;

int delayTime = 500; // Delay que determina la velocidad de giro

void setup()

pinMode(motorLinea1, OUTPUT); // Configuración de PIN-es como salida digital

pinMode(motorLinea2, OUTPUT);

pinMode(motorLinea3, OUTPUT);

pinMode(motorLinea4, OUTPUT);

void loop() {

// Los pines se activan en secuencia

digitalWrite(motorLinea1, HIGH); // Paso 1001

digitalWrite(motorLinea2, LOW);

digitalWrite(motorLinea3, LOW);

digitalWrite(motorLinea4, HIGH);

delay(delayTime);

digitalWrite(motorLinea1, HIGH); // Paso 1010

digitalWrite(motorLinea2, LOW);

digitalWrite(motorLinea3, HIGH);

digitalWrite(motorLinea4, LOW);

delay(delayTime);
digitalWrite(motorLinea1, HIGH); // Paso 1100

digitalWrite(motorLinea2, HIGH);

digitalWrite(motorLinea3, LOW);

digitalWrite(motorLinea4, LOW);

delay(delayTime);

digitalWrite(motorLinea1, LOW); // Paso 0000

digitalWrite(motorLinea2, LOW);

digitalWrite(motorLinea3, LOW);

digitalWrite(motorLinea4, LOW);

delay(delayTime);

}
3-) se pide leer tres canales de conversión análoga, cada canal será leído al pulsar un botón y
dicho valor deberá ser mostrado al terminar la conversión correspondiente.

Potrebbero piacerti anche