IV. PROGRAMACIÓN DE MICROCONTROLADORES - ACTIVIDADES EXTRA
ACTIVIDADES EXTRAS
- 16/07/2024
Aavril Hitzel Díaz Ramírez
Dania Cortes Domínguez
José Jair Galicia Corona
INTRODUCCIÓN
Estas actividades extras fueron indicadas durante el periodo de clase, si bien, cada actividad se mostrara en lista con su respectiva indicación y posteriormente se mostrará su procedimiento que se hizo, dentro de las herramientas digitales que se realizaron fue con Tinkercad que en lo personal ha sido de bastante ayuda para el aprendizaje y entendimiento de los distintos circuitos que se hicieron. Así como tambien, dentro de este blog tendremos un indice sobre las actividades que se realizaron con étixo. La evidencia de que se realizo satisfactoriamente las actividades estarpan mostradas en multimedia de video, ya que es mucho más convencional mostrarlo de esa forma, ya que se puede apreciar el resultado que se queria llegar con los requerimientos dados por el docente.
ÍNDICE
ACTIVIDADES:
- Cuenta descendiente leds
- Activar leds pares e impares
- Cuenta ascendente en display de 7 segmentos
- Cuenta descendente en display de 7 segmentos
- Cuenta del número 0 al número 99 cada 250 ms
- Cuenta del 999 al 0.
ACTIVIDADES EN FÍSICO:
- Leds pares e impares
- Contador ascendente - descendente de 2 botones
- Cuenta ascendente del 0 al 9
- Cuenta descendente del 9 al 0
- Cuenta del 0 al 99
Cuenta descendiente leds
ACTIVIDAD: Hacer en tinkercad un circuito que haga una cuenta de manera descendiente con 8 leds de colores, en ese orden (8-2).
Aqui se muestra el circuito realizado en Tinkercad:
int tiempo = 1000;
int pin;
void setup() {
for (pin = 2; pin <= 9; pin++) {
pinMode(pin, OUTPUT);
}
}
void loop() {
secuencia_descendente();
}
void secuencia_descendente() {
for (pin = 2; pin <= 9; pin++) {
digitalWrite(pin, HIGH);
delay(tiempo);
digitalWrite(pin, LOW);
delay(tiempo);
}
}
Aquí evidencia de multimedia de que sí funciona correctamente como debe hacerlo:
Leds impares e pares
ACTIVIDAD: Hacer en tinkercad un circuito que active leds pares y luego impares, así como, apagar los impares al mismo tiempo y luego apagar los pares uno por uno.
Aqui se muestra el circuito realizado en Tinkercad:
int i;
void setup() {
// Configurar los pines del 2 al 9 como salidas para 8 LEDs
for (int i = 2; i < 10; i++) {
pinMode(i, OUTPUT);
}
}
void loop() {
// Encender LEDs en pines pares del 2 al 8
for (i = 3; i < 10; i = i + 2) {
digitalWrite(i, HIGH); // Encender el LED
delay(1000); // Esperar 400 milisegundos
}
// Encender LEDs en pines impares del 3 al 9
for (i = 2; i < 10; i = i + 2) {
digitalWrite(i, HIGH); // Encender el LED
delay(1000); // Esperar 400 milisegundos
}
// Apagar LEDs en pines impares del 3 al 9
for (i = 2; i <= 10; i = i + 2) {
digitalWrite(i, LOW); // Apagar el LED
delay(200); // Esperar 400 milisegundos
}
// Apagar LEDs en pines pares del 2 al 8
for (i = 3; i < 10; i = i + 2) {
digitalWrite(i, LOW); // Apagar el LED
delay(1000); // Esperar 400 milisegundos
}
}
Aquí evidencia de multimedia de que sí funciona correctamente como debe hacerlo:
Cuenta ascendente en display 7 segmentos
ACTIVIDAD: Hacer en tinkercad un circuito que haga una cuenta de manera ascendente utilizando un display de 7 segmentos.
Aqui se muestra el circuito realizado en Tinkercad:
Aqui está el código utilizado:
int a= 5;
int b= 6;
int c= 7;
int d= 8;
int e= 9;
int f= 10;
int g= 11;
int tiempo = 1000;
void setup() {
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
}
void loop(){
digitalWrite(a, 1); // empieza en numero 0
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 1);
digitalWrite(g, 0);
delay(tiempo);
digitalWrite(a, 0); //luego numero 1
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 0);
digitalWrite(e, 0);
digitalWrite(f, 0);
digitalWrite(g, 0);
delay(tiempo);
digitalWrite(a, 1); //luego numero 2
digitalWrite(b, 1);
digitalWrite(c, 0);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 0);
digitalWrite(g, 1);
delay(tiempo);
digitalWrite(a, 1); //luego numero 3
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 0);
digitalWrite(f, 0);
digitalWrite(g, 1);
delay(tiempo);
digitalWrite(a, 0); //luego numero 4
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 0);
digitalWrite(e, 0);
digitalWrite(f, 1);
digitalWrite(g, 1);
delay(tiempo);
digitalWrite(a, 1); //luego numero 5
digitalWrite(b, 0);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 0);
digitalWrite(f, 1);
digitalWrite(g, 1);
delay(tiempo);
digitalWrite(a, 1); //luego numero 6
digitalWrite(b, 0);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 1);
digitalWrite(g, 1);
delay(tiempo);
digitalWrite(a, 1); //luego numero 7
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 0);
digitalWrite(e, 0);
digitalWrite(f, 0);
digitalWrite(g, 0);
delay(tiempo);
digitalWrite(a, 1); //luego numero 8
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 1);
digitalWrite(g, 1);
delay(tiempo);
digitalWrite(a, 1); //luego numero 9
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 0);
digitalWrite(f, 1);
digitalWrite(g, 1);
delay(tiempo);
}
Aquí evidencia de multimedia de que sí funciona correctamente como debe hacerlo:
Cuenta descendente en display 7 segmentos
ACTIVIDAD: Hacer en tinkercad un circuito que haga una cuenta de manera descendente utilizando un display de 7 segmentos.
Aqui se muestra el circuito realizado en Tinkercad:
Aqui está el código utilizado:
// Primera parte: asigno segmentos del display a los pines
// del arduino
int a= 5;
int b= 6;
int c= 7;
int d= 8;
int e= 9;
int f= 10;
int g= 11;
int velo = 1000; //variable de tiempo que muestra el numero
// en el display
void setup() // Segunda parte: configuración de los pines
// de arduino
{
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
}
void loop() //Tercera parte lista de instrucciones o
// programa principal
{
digitalWrite(a, 1); //bloque del numero 9
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 0);
digitalWrite(f, 1);
digitalWrite(g, 1);
delay(velo);
digitalWrite(a, 1); //bloque del numero 8
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 1);
digitalWrite(g, 1);
delay(velo);
digitalWrite(a, 1); //bloque del numero 7
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 0);
digitalWrite(e, 0);
digitalWrite(f, 0);
digitalWrite(g, 0);
delay(velo);
digitalWrite(a, 1); //bloque del numero 6
digitalWrite(b, 0);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 1);
digitalWrite(g, 1);
delay(velo);
digitalWrite(a, 1); //bloque del numero 5
digitalWrite(b, 0);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 0);
digitalWrite(f, 1);
digitalWrite(g, 1);
delay(velo);
digitalWrite(a, 0); //bloque del numero 4
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 0);
digitalWrite(e, 0);
digitalWrite(f, 1);
digitalWrite(g, 1);
delay(velo);
digitalWrite(a, 1); //bloque del numero 3
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 0);
digitalWrite(f, 0);
digitalWrite(g, 1);
delay(velo);
digitalWrite(a, 1); //bloque del numero 2
digitalWrite(b, 1);
digitalWrite(c, 0);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 0);
digitalWrite(g, 1);
delay(velo);
digitalWrite(a, 0); //bloque del numero 1
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 0);
digitalWrite(e, 0);
digitalWrite(f, 0);
digitalWrite(g, 0);
delay(velo);
digitalWrite(a, 1); //bloque del numero 0
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 1);
digitalWrite(g, 0);
delay(velo);
}
Aquí evidencia de multimedia de que sí funciona correctamente como debe hacerlo:
Cuenta del 0 al 99
ACTIVIDAD: Hacer en tinkercad un circuito en el que se use dos display de 7 segmentos, en la que se muestre la cuenta a partir de 0 al número 99 en cada 250 ms.
Aqui se muestra el circuito realizado en Tinkercad:
Aqui está el código utilizado:
//const int l = 1, d = 0; // Display 7 segmentos (catodo comum)
const int l = 0, d = 1; // Display 7 segmentos (anodo comum)
int unidades[] = {0, 1, 2, 3, 4, 5, 6};
int decenas[] = {7, 8, 9, 10, 11, 12, 13};
byte digito[10][7] = {
{ l,l,l,l,l,l,d }, // DIGITO 0
{ d,l,l,d,d,d,d }, // DIGITO 1
{ l,l,d,l,l,d,l }, // DIGITO 2
{ l,l,l,l,d,d,l }, // DIGITO 3
{ d,l,l,d,d,l,l }, // DIGITO 4
{ l,d,l,l,d,l,l }, // DIGITO 5
{ l,d,l,l,l,l,l }, // DIGITO 6
{ l,l,l,d,d,d,d }, // DIGITO 7
{ l,l,l,l,l,l,l }, // DIGITO 8
{ l,l,l,d,d,l,l } // DIGITO 9
};
const int SEGMENTOS = 7;
const int NUMEROS = 10;
void setup() {
for(int i = 0; i < SEGMENTOS; i++) {
pinMode(decenas[i], OUTPUT);
pinMode(unidades[i], OUTPUT);
}
}
void loop() {
for(int dez = 0; dez < NUMEROS; dez++) {
acende(decenas, dez);
for(int uni = 0; uni < NUMEROS; uni++) {
acende(unidades, uni);
delay(250); // Retraso de 250 ms
}
}
}
void acende(int* pino, int dig) {
for(int i = 0; i < SEGMENTOS; i++) {
digitalWrite(pino[i], digito[dig][i]);
}
}
Aquí evidencia de multimedia de que sí funciona correctamente como debe hacerlo:
ACTIVIDADES EN FÍSICO:
Leds impares e pares
ACTIVIDAD: Hacer en tinkercad un circuito que active leds pares y luego impares, así como, apagar los impares al mismo tiempo y luego apagar los pares uno por uno.
Aquí evidencia de multimedia de que sí funciona correctamente como debe hacerlo:
Cuenta del 999 al 0
ACTIVIDAD: Usar tres display de 7 segmentos o una lsd de 4 digitos de 7 segmentos, para mostrar la cuneta del número 999 al 0.
Aquí evidencia de multimedia de que sí funciona correctamente como debe hacerlo:
Cuenta del 0 al 99
ACTIVIDAD: Hacer en tinkercad un circuito en el que se use dos display de 7 segmentos, en la que se muestre la cuenta a partir de 0 al número 99 en cada 250 ms.
Aquí evidencia de multimedia de que sí funciona correctamente como debe hacerlo:
Cuenta ascendente en display 7 segmentos
ACTIVIDAD: Hacer en tinkercad un circuito que haga una cuenta de manera ascendente utilizando un display de 7 segmentos.
Aquí evidencia de multimedia de que sí funciona correctamente como debe hacerlo:
Cuenta descendente en display 7 segmentos
ACTIVIDAD: Hacer en tinkercad un circuito que haga una cuenta de manera descendente utilizando un display de 7 segmentos.
Aquí evidencia de multimedia de que sí funciona correctamente como debe hacerlo:
Contador ascendente - descendente
ACTIVIDAD: Hacer un contador ascendente - descendente de 2 pulsador (botón), uno para cada cuenta ascendente y descendente, de manera que incremente con un boton y con el otro decremente.
Aquí evidencia de multimedia de que sí funciona correctamente como debe hacerlo:
Conclusión
Dentro de la retroalimentación sobre estas cinco actividades que se han entregado durante clase, es que se cumplió correctamente con los objetivos establecidos que se propusieron al inicio de estas actividades que se han documentado en este blog, esto con el fin de tener puntos adicionales a la calificación de este equipo que trabajo colaborativamente al realizar estas actividades, tanto digitales como físicas, surante los periodos de horario escolar y también durante perdiodos fuera de la escuela, con el fin de tomar venyaja y acreditación por el compromiso que tenemos como equipo a la materia y así poder tener una calificación muy buena.
Comentarios
Publicar un comentario