Está en la página 1de 38

INSTITUTO POLITÉCNICO NACIONAL

ESIME ZACATENCO
INGENIERÍA EN CONTROL Y
AUTOMATIZACIÓN

INTERFASES Y MICROCONTROLADORES

PRÁCTICA 1 “SALIDAS DIGITALES”

Profesor: Mejía García Adrián Esteban

Alumno: Desales González José Carlos

Grupo: 7AM3
Objetivo
Realizar la programación para activar las salidas digitales de un microcontrolador,
empleando el IDE de programación en procesador experto, con el fin de permitir el
encendido o apagado de elementos finales de control.

Material y equipo
▪ Un microcontrolador Arduino o PIC
▪ Un cable mini USB a USB.
▪ Dos CI 74LS47
▪ Dos Displays de 7 segmentos.
▪ Un motor a pasos, unipolar o bipolar.
▪ Etapa de potencia para el motor a pasos.
▪ Un protoboard.
▪ Cables tipo dupont.

Desarrollo
1. Realizar un programa para el LED RGB de la tarjeta, que haga la función de un
semáforo.
▪ Enciende el LED verde durante cinco segundos.
▪ Parpadea el LED verde tres veces en intervalos de tiempo de 0.5 segundos.
▪ Después de los tres parpadeos del LED verde, enciende el color amarillo,
durante un lapso de dos segundos.
▪ Posteriormente se activa el LED rojo durante 8 segundos.
▪ Parpadea el LED rojo tres veces en intervalos de tiempo de 0.5 segundos.
▪ Se repite la secuencia.
2. Elaborar un contador del 0 al 9, empleando el componente Bit por Bit.
3. Realizar el conteo del 0 al 99.
4. Empleando el circuito del contador del 0 al 99, y el programa del semáforo,
realizar lo siguiente:
▪ Enciende el LED verde durante 10 segundos y los displays muestran el
conteo del 0 al 10.
▪ Parpadea el LED verde tres veces en intervalos de tiempo de 0.5 segundos
y los displays muestran el valor de 00.
▪ Después de los tres parpadeos del LED verde, enciende el color amarillo,
durante un lapso de 5 segundos y se muestra el conteo en el los dos displays.
▪ Posteriormente se activa el LED rojo durante 20 segundos y se muestra el
conteo en ambos displays.
▪ Parpadea el LED rojo tres veces en intervalos de tiempo de 0.5 segundos y
ambos displays muestran el valor de 00.
▪ Se repite la secuencia.
5. Activar el motor a pasos.
6. Combinar el programa del semáforo y el contador, con el del motor a pasos de la
siguiente manera:
▪ Enciende el LED verde durante 10 segundos y los displays muestran el
conteo del 0 al 10. El motor a pasos se mantiene en este lapso a su máxima
velocidad.
▪ Parpadea el LED verde tres veces en intervalos de tiempo de 0.5 segundos
y los displays muestran el valor de 00. Reduce la velocidad del motor a pasos
se reduce a la mitad.
▪ Después de los tres parpadeos del LED verde, enciende el color amarillo,
durante un lapso de 5 segundos y se muestra el conteo en el los dos displays.
Se detiene el motor a pasos.
▪ Posteriormente se activa el LED rojo durante 20 segundos y se muestra el
conteo en ambos displays. Se invierte la secuencia de activación del motor a
pasos y se activa a su máxima velocidad.
▪ Parpadea el LED rojo tres veces en intervalos de tiempo de 0.5 segundos y
ambos displays muestran el valor de 00. Se detiene el motor a pasos.
▪ Se repite la secuencia.

Cuestionario
1. Explique que es el teorema de muestreo y en donde se emplea.
El teorema de muestreo habla de cómo afecta a la calidad de la señal muestreada
la separación entre los puntos. Es utilizado en los osciloscopios, instrumentos de
medición, telecomunicaciones y cualquier otra cosa que manipule señales digitales.

2. ¿Qué es un IDE?
El IDE (Entorno de desarrollo integral) es un programa informático compuesto por
un conjunto de herramientas de programación. Puede dedicarse en exclusiva a un
solo lenguaje de programación o bien puede utilizarse para varios.
3. ¿Qué es un método y que características presenta?
Un método es una subrutina cuyo código es definido en una clase y puede
pertenecer tanto a una clase, como es el caso de los métodos de clase o estáticos,
como a un objeto, como es el caso de los métodos de instancia.

4. Describa cómo funciona el método para una entrada digital


Se declaran las entradas en analógicas, después se van a utilizar las funciones
pinMode, digitalWrite o digitalRead, y se va a comparar de la medición con un
valor de tensión HIGH (5V), o LOW (0).

5. ¿Cuál es el segmento de código que le permitió un lapso y que estructura tiene?


Para tener una pausa se utiliza delay, se debe de poner delay entre parentesis el
tiempo de pausa en milisegundos, al cerrar paréntesis pones punto y coma para
que se pueda hacer la función.

Resultados semáforo
Resultado contador 0 al 9

Resultado contador del 0 al 99


CÓDIGO DE SEMÁFORO
int led_verde= 4;
int led_amarillo= 5;
int led_rojo= 6;
void setup() {
//Declarar salidas
pinMode(led_verde, OUTPUT);
pinMode(led_amarillo, OUTPUT);
pinMode(led_rojo, OUTPUT);
}
void loop() {
//a. Enciende el LED verde durante cinco segundos.
digitalWrite(led_verde,HIGH);
digitalWrite(led_amarillo,LOW);
digitalWrite(led_rojo,LOW);
delay(5000);
digitalWrite(led_verde,LOW);
digitalWrite(led_amarillo,LOW);
digitalWrite(led_rojo,LOW);
delay(500);
//b. Parpadea el LED verde tres veces en intervalos de tiempo de 0.5 segundos.
digitalWrite(led_verde,HIGH);
digitalWrite(led_amarillo,LOW);
digitalWrite(led_rojo,LOW);
delay(500);
digitalWrite(led_verde,LOW);
digitalWrite(led_amarillo,LOW);
digitalWrite(led_rojo,LOW);
delay(500);
digitalWrite(led_verde,HIGH);
digitalWrite(led_amarillo,LOW);
digitalWrite(led_rojo,LOW);
delay(500);
digitalWrite(led_verde,LOW);
digitalWrite(led_amarillo,LOW);
digitalWrite(led_rojo,LOW);
delay(500);
digitalWrite(led_verde,HIGH);
digitalWrite(led_amarillo,LOW);
digitalWrite(led_rojo,LOW);
delay(500);
digitalWrite(led_verde,LOW);
digitalWrite(led_amarillo,HIGH);
digitalWrite(led_rojo,LOW);
delay(2000);
//d. Posteriormente se activa el LED rojo durante 8 segundos.
digitalWrite(led_verde,LOW);
digitalWrite(led_amarillo,LOW);
digitalWrite(led_rojo,HIGH);
delay(8000);
digitalWrite(led_verde,LOW);
digitalWrite(led_amarillo,LOW);
digitalWrite(led_rojo,LOW);
delay(500);
//e. Parpadea el LED rojo tres veces en intervalos de tiempo de 0.5 segundos.
digitalWrite(led_verde,LOW);
digitalWrite(led_amarillo,LOW);
digitalWrite(led_rojo,HIGH);
delay(500);
digitalWrite(led_verde,LOW);
digitalWrite(led_amarillo,LOW);
digitalWrite(led_rojo,LOW);
delay(500);
digitalWrite(led_verde,LOW);
digitalWrite(led_amarillo,LOW);
digitalWrite(led_rojo,HIGH);
delay(500);
digitalWrite(led_verde,LOW);
digitalWrite(led_amarillo,LOW);
digitalWrite(led_rojo,LOW);
delay(500);
digitalWrite(led_verde,LOW);
digitalWrite(led_amarillo,LOW);
digitalWrite(led_rojo,HIGH);
delay(500); }
CÓDIGO DE CONTADOR 0 AL 9
/Display A unidades
int D0=0;
int D1=1;
int D2=2;
int D3=3;
int pausa=200;
int centena=0;
void setup() {
//Display A unidades
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
}
void loop() {
//Cero
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);
//Uno
digitalWrite(D0, HIGH);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);
//Dos
digitalWrite(D0, LOW);
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);
//Tres
digitalWrite(D0, HIGH);
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);
//Cuatro
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);
//Cinco
digitalWrite(D0, HIGH);
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);
//Seis
digitalWrite(D0, LOW);
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);
//Siete
digitalWrite(D0, HIGH);
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);
//Ocho
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, HIGH);
delay(pausa);
//Nueve
digitalWrite(D0, HIGH);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, HIGH);
delay(pausa);
}
CÓGIDO CONTADOR DEL 0 AL 99
//Display A unidades
int D0=0;
int D1=1;
int D2=2;
int D3=3;
//Display B decenas
int D4=4;
int D5=5;
int D6=6;
int D7=8;
int pausa=200;
int centena=0;
void setup() {
//Display A unidades
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
//Display B decenas
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);

}
void loop() {
//Cero
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);
//Cero centena
if(centena==0 || centena==1){
digitalWrite(D4, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, LOW);
delay(pausa);
}
//Uno centena
if(centena==1){
digitalWrite(D4, HIGH);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, LOW);
delay(pausa);
}
//Dos centena
if (centena==2){
digitalWrite(D4, LOW);
digitalWrite(D5, HIGH);
digitalWrite(D6, LOW);
digitalWrite(D7, LOW);
delay(pausa);
}
//Tres centena
if(centena==3){
digitalWrite(D4, HIGH);
digitalWrite(D5, HIGH);
digitalWrite(D6, LOW);
digitalWrite(D7, LOW);
delay(pausa);
}
//Cuatro centena
if(centena==4){
digitalWrite(D4, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, HIGH);
digitalWrite(D7, LOW);
delay(pausa);
}
//Cinco centena
if(centena==5){
digitalWrite(D4, HIGH);
digitalWrite(D5, LOW);
digitalWrite(D6, HIGH);
digitalWrite(D7, LOW);
delay(pausa);
}
//Seis centena
if(centena==6){
digitalWrite(D4, LOW);
digitalWrite(D5, HIGH);
digitalWrite(D6, HIGH);
digitalWrite(D7, LOW);
delay(pausa);
}
//Siete centena
if(centena==7){
digitalWrite(D4, HIGH);
digitalWrite(D5, HIGH);
digitalWrite(D6, HIGH);
digitalWrite(D7, LOW);
delay(pausa);
}
//Ocho centena
if(centena==8){
digitalWrite(D4, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, HIGH);
delay(pausa);
}
//Nueve centena
if(centena==9){
digitalWrite(D4, HIGH);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, HIGH);
delay(pausa);
}
//Cero
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);
//Uno
digitalWrite(D0, HIGH);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);
//Dos
digitalWrite(D0, LOW);
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);
//Tres
digitalWrite(D0, HIGH);
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);
//Cuatro
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);
//Cinco
digitalWrite(D0, HIGH);
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);
//Seis
digitalWrite(D0, LOW);
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);
//Siete
digitalWrite(D0, HIGH);
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);
//Ocho
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, HIGH);
delay(pausa);
//Nueve
digitalWrite(D0, HIGH);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, HIGH);
delay(pausa);
centena=centena+1;
}
Contador con semáforo
//Display A unidades
int D0=0;
int D1=1;
int D2=2;
int D3=3;
//Display B decenas
int D4=4;
int D5=5;
int D6=6;
int D7=8;

//Leds semaforo
int LV=9;
int LA=10;
int LR=11;

int pausa=200;
int centena=0;
int pausa3=500;
void setup() {
//Display A unidades
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
//Display B decenas
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
//Semaforo
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}
void loop() {

//Enciende el LED verde durante 10 segundos y los displays muestran el conteo


del 0 al 10.

//cero
digitalWrite(LV, LOW);
digitalWrite(LA, LOW);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);
//Cero centena
if(centena==0 || centena==1){
digitalWrite(D4, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, LOW);
delay(pausa);
}
digitalWrite(LV, HIGH);
//Uno centena
if(centena==1){
digitalWrite(D4, HIGH);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, LOW);
delay(pausa);
}

//Cero
digitalWrite(LV, LOW);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa3);

//Uno
digitalWrite(LV, HIGH);
digitalWrite(D0, HIGH);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);

//Dos
digitalWrite(LV, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);

//Tres
digitalWrite(LV, HIGH);
digitalWrite(D0, HIGH);
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);

//Cuatro
digitalWrite(LV, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);

//Cinco
digitalWrite(LV, HIGH);
digitalWrite(D0, HIGH);
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);
//Seis
digitalWrite(LV, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);

//Siete
digitalWrite(LV, HIGH);
digitalWrite(D0, HIGH);
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);

//Ocho
digitalWrite(LV, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, HIGH);
delay(pausa);

//Nueve
digitalWrite(LV, HIGH);
digitalWrite(D0, HIGH);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, HIGH);
delay(pausa);
digitalWrite(LV, HIGH);

//b. Parpadea el LED verde tres veces en intervalos de tiempo de 0.5 segundos y
los displays muestran el valor de 00.
//Cero
digitalWrite(LV, LOW);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);

//cero centena
digitalWrite(D4, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, LOW);

digitalWrite(LV, HIGH);
delay(pausa3);
digitalWrite(LV, LOW);
delay(pausa3);
digitalWrite(LV, HIGH);
delay(pausa3);
digitalWrite(LV, LOW);
delay(pausa3);
digitalWrite(LV, HIGH);
delay(pausa3);
digitalWrite(LV, HIGH);
delay(pausa3);

//c. Después de los tres parpadeos del LED verde, enciende el color amarillo,
durante un lapso de 5 segundos y se muestra el conteo en el los dos displays.
digitalWrite(LA, HIGH);
//Cero
digitalWrite(LV, LOW);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa3);

//Uno
digitalWrite(LA, HIGH);
digitalWrite(D0, HIGH);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);

//Dos
digitalWrite(LA, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);

//Tres
digitalWrite(LA, HIGH);
digitalWrite(D0, HIGH);
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);

//Cuatro
digitalWrite(LA, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);

//Cinco
digitalWrite(LA, HIGH);
digitalWrite(D0, HIGH);
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);

//d. Posteriormente se activa el LED rojo durante 20 segundos y se muestra el


conteo en ambos displays.
digitalWrite(LV, LOW);
digitalWrite(LA, LOW);
//Cero
digitalWrite(LR, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa3);

//Uno
digitalWrite(LR, HIGH);
digitalWrite(D0, HIGH);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);

//Dos
digitalWrite(LR, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);

//Tres
digitalWrite(LR, HIGH);
digitalWrite(D0, HIGH);
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);

//Cuatro
digitalWrite(LR, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);

//Cinco
digitalWrite(LR, HIGH);
digitalWrite(D0, HIGH);
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);

//Seis
digitalWrite(LR, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);

//Siete
digitalWrite(LR, HIGH);
digitalWrite(D0, HIGH);
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);

//Ocho
digitalWrite(LR, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, HIGH);
delay(pausa);

//Nueve
digitalWrite(LR, HIGH);
digitalWrite(D0, HIGH);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, HIGH);
delay(pausa);
digitalWrite(LV, HIGH);

//Diez
digitalWrite(LR, HIGH);
digitalWrite(D4, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);

//Once
digitalWrite(LR, HIGH);
digitalWrite(D4, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, HIGH);
delay(pausa);

//Doce
digitalWrite(LR, HIGH);
digitalWrite(D4, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);

//TRECE
digitalWrite(LR, HIGH);
digitalWrite(D4, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
digitalWrite(D3, HIGH);
delay(pausa);

//Catorce
digitalWrite(LR, HIGH);
digitalWrite(D4, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);

//QUINCE
digitalWrite(LR, HIGH);
digitalWrite(D4, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, HIGH);
digitalWrite(D0, HIGH);
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);

//Diecieseis
digitalWrite(LR, HIGH);
digitalWrite(D4, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);

//Diesiete
digitalWrite(LR, HIGH);
digitalWrite(D4, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, HIGH);
digitalWrite(D0, HIGH);
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
digitalWrite(D3, LOW);
delay(pausa);

//Diesiocho
digitalWrite(LR, HIGH);
digitalWrite(D4, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, HIGH);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, HIGH);
delay(pausa);

//Diesinueve
digitalWrite(LR, HIGH);
digitalWrite(D4, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, HIGH);
digitalWrite(D0, HIGH);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, HIGH);
delay(pausa);

//Veinte
digitalWrite(LR, HIGH);
digitalWrite(D4, LOW);
digitalWrite(D5, HIGH);
digitalWrite(D6, LOW);
digitalWrite(D7, LOW);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
delay(pausa);

//e. Parpadea el LED rojo tres veces en intervalos de tiempo de 0.5 segundos y
ambos displays muestran el valor de 00.
//Cero
digitalWrite(LR, LOW);
digitalWrite(D0, LOW);
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);

//cero centena
digitalWrite(D4, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D7, LOW);

digitalWrite(LR, HIGH);
delay(pausa3);
digitalWrite(LR, LOW);
delay(pausa3);
digitalWrite(LR, HIGH);
delay(pausa3);
digitalWrite(LR, LOW);
delay(pausa3);
digitalWrite(LR, HIGH);
delay(pausa3);
digitalWrite(LR, HIGH);
delay(pausa3);

centena=centena+1;
}

Resultados
Motor a pasos
int l1=4;
int l2=3;
int l3=2;
int l4=1;

int t=100;

void setup() {

pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);

void loop() {

digitalWrite(l1, HIGH);
digitalWrite(l2, LOW);
digitalWrite(l3, LOW);
digitalWrite(l4, LOW);
delay(t);

digitalWrite(l1, LOW);
digitalWrite(l2, HIGH);
digitalWrite(l3, LOW);
digitalWrite(l4, LOW);
delay(t);

digitalWrite(l1, LOW);
digitalWrite(l2, LOW);
digitalWrite(l3, HIGH);
digitalWrite(l4, LOW);
delay(t);

digitalWrite(l1, LOW);
digitalWrite(l2, LOW);
digitalWrite(l3, LOW);
digitalWrite(l4, HIGH);
delay(t);

}
Resultados

También podría gustarte