 
{"id":4255,"date":"2021-12-22T23:51:24","date_gmt":"2021-12-22T23:51:24","guid":{"rendered":"http:\/\/132.248.251.218\/wpArduino\/index.php\/modulo-7-segmentos\/visualizacion-de-numeros-copy\/"},"modified":"2023-05-04T22:43:29","modified_gmt":"2023-05-04T22:43:29","slug":"contador_de_vidas","status":"publish","type":"page","link":"https:\/\/iaciduino.enp.unam.mx\/index.php\/modulo-7-segmentos\/contador_de_vidas\/","title":{"rendered":"Contador de vidas"},"content":{"rendered":"\n<p>Pr\u00e1cticas M\u00f3dulo 7-segmentos<\/p>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-center has-background is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\" style=\"background-color:#f2f2f2\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:20%\">\n<figure class=\"wp-block-image alignfull size-large\"><img decoding=\"async\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/01\/ArmandoCircuitosAnimado-1.gif\" alt=\"\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-table is-style-regular\"><table class=\"has-background\" style=\"background-color:#e7f5fe\"><tbody><tr><td>T\u00edtulo de la pr\u00e1ctica:<\/td><td>Contador de vidas<\/td><\/tr><tr><td>Objetivo:<\/td><td>El alumno codificar\u00e1 un programa en Arduino que visualice un contador en un display de 7 segmentos controlado por 2 botones pulsadores.<\/td><\/tr><tr><td>Tiempo estimado:<\/td><td>50 minutos<\/td><\/tr><tr><td>Nivel de dificultad:<\/td><td>Intermedio <\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#002a7b\" class=\"has-inline-color\">Materiales<\/mark><\/h2>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-4 wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"600\" data-id=\"3888\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/computadora-1.png\" alt=\"computadora\" class=\"wp-image-3888\" srcset=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/computadora-1.png 798w, https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/computadora-1-300x226.png 300w, https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/computadora-1-768x577.png 768w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><figcaption class=\"wp-element-caption\">Computadora<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" data-id=\"3782\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/tarjeta_arduino-1024x768.png\" alt=\"tarjeta_arduino\" class=\"wp-image-3782\" srcset=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/tarjeta_arduino-1024x768.png 1024w, https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/tarjeta_arduino-300x225.png 300w, https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/tarjeta_arduino-768x576.png 768w, https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/tarjeta_arduino-1536x1152.png 1536w, https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/tarjeta_arduino-2048x1536.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Tarjeta Arduino UNO<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" data-id=\"3784\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/modulo_7segmentos-1024x768.png\" alt=\"M\u00f3dulo 7-segmentos\" class=\"wp-image-3784\" srcset=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/modulo_7segmentos-1024x768.png 1024w, https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/modulo_7segmentos-300x225.png 300w, https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/modulo_7segmentos-768x576.png 768w, https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/modulo_7segmentos-1536x1152.png 1536w, https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/modulo_7segmentos-2048x1536.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">M\u00f3dulo 7-segmentos<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" data-id=\"3877\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/cable-usb-1024x768.png\" alt=\"cable-usb\" class=\"wp-image-3877\" srcset=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/cable-usb-1024x768.png 1024w, https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/cable-usb-300x225.png 300w, https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/cable-usb-768x576.png 768w, https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/cable-usb-1536x1152.png 1536w, https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/cable-usb-2048x1536.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Cable USB-AB<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" data-id=\"3879\" src=\"http:\/\/132.248.251.218\/wpArduino\/wp-content\/uploads\/2021\/12\/elemento_vacio.png\" alt=\"\" class=\"wp-image-3879\"\/><\/figure>\n<figcaption class=\"blocks-gallery-caption wp-element-caption\">Haz clic sobre la imagen del material del cual desees obtener mayor informaci\u00f3n.<\/figcaption><\/figure>\n\n\n\n<h4><span style=\"color: #002b7a;\">Programas<\/span><\/h4>\n<p>Arduino IDE. Disponible en: <a href=\"https:\/\/www.arduino.cc\/en\/software\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.arduino.cc\/en\/software<\/a><\/p>\n\n\n\n<p><\/p>\n<\/div><\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#002a7b\" class=\"has-inline-color\">Introducci\u00f3n<\/mark><\/h2>\n\n\n\n<p>Los videojuegos utilizan una barra de vida o contador de energ\u00eda para mostrar cu\u00e1ntas vidas llevas. Si ganas puntos aumenta una vida, si te pegan o te lastiman, pierdes una vida.&nbsp; Te has preguntado, \u00bfc\u00f3mo es que la barra de vida aumenta o disminuye? Para que las barras de vida funcionen utilizan un contador,&nbsp; que es una variable que lleva la cuenta del n\u00famero de veces que se ha cumplido una condici\u00f3n.&nbsp;<\/p>\n<p>De acuerdo al n\u00famero de vidas es el tama\u00f1o de la barra de vidas, la cual puede aumentar su tama\u00f1o o disminuir&nbsp; de acuerdo al valor de la variable contador.&nbsp; Esta variable puede incrementar o disminuir.&nbsp; En esta pr\u00e1ctica, programar\u00e1s un display de 7 segmentos que muestre el aumento o disminuci\u00f3n de una variable contador de acuerdo a una condici\u00f3n.<\/p>\n\n\n\n<p><\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#002a7b\" class=\"has-inline-color\">Desarrollo<\/mark><\/h2>\n\n\n\n<p>Primero, vamos a analizar c\u00f3mo funciona la variable contador con el uso del M\u00f3dulo de 7 segmentos. Al inicio, el display mostrar\u00e1 el n\u00famero 0 que es el valor de inicio de la variable contador. Cada vez que presionas el bot\u00f3n B2 del M\u00f3dulo de 7 segmentos, la variable contador aumentar\u00e1 su valor en 1 y lo mostrar\u00e1 en el display. Cuando presiones el bot\u00f3n B1, el valor de la variable disminuir\u00e1 en 1 y el display volver\u00e1 a desplegar el valor actual. Cuando el valor de la variable llegu\u00e9 al valor m\u00e1ximo que es el n\u00famero 9, el contador reiniciar\u00e1 en 0. Si el contador disminuye hasta llegar a el valor 0, se mantendr\u00e1 en ese valor.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2021\/12\/PracticaContador-1-1024x739.png\" alt=\"\" width=\"512\" height=\"370\"\/><figcaption class=\"wp-element-caption\">Figura 1. Pr\u00e1ctica contador de vidas<\/figcaption><\/figure><\/div>\n\n\n<p>Si no cuentas con el M\u00f3dulo de 7 segmentos, puedes realizar el circuito que se muestra a continuaci\u00f3n que corresponde a la pr\u00e1ctica del contador:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2022\/01\/circuitoP3Contador-938x1024.png\" alt=\"\" width=\"469\" height=\"512\"\/><figcaption class=\"wp-element-caption\">Figura 2. Circuito pr\u00e1ctica contador<\/figcaption><\/figure><\/div>\n\n\n<p><\/p>\n<h4><span style=\"color: #0000ff;\">Declaraci\u00f3n del arreglo PINES&nbsp;<\/span><\/h4>\n<p>Para el desarrollo de esta pr\u00e1ctica primero se van a definir las constantes que se van a utilizar. Utilizaremos un arreglo unidimensional que&nbsp; corresponde a los pines del Arduino que est\u00e1n enlazados a cada segmento del display (6, 7, 8, 9, 10, 11, 12, 13). Es un arreglo de enteros de 8 elementos llamado PINES.<\/p>\n<p>Responde las siguientes preguntas que te ayudar\u00e1n a declarar el arreglo PINES. Puedes ayudarte con la Figura 2 del circuito electr\u00f3nico.&nbsp;<\/p>\n<p><strong>Ejercicio 1. Declaraci\u00f3n del arreglo PINES<\/strong><\/p>\n\n\n\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-50\" class=\"h5p-iframe\" data-content-id=\"50\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Display 7 segmentos. Declaraci\u00f3n arreglo PINES\"><\/iframe><\/div>\n\n\n\n<h4><span style=\"color: #0000ff;\">Declaraci\u00f3n del arreglo DIGITOS&nbsp;<\/span><\/h4>\n<p>Para la visualizaci\u00f3n de los n\u00fameros del contador, se utilizar\u00e1 un arreglo bidimensional llamado DIGITOS de tipo byte con una longitud de [10] [8] que contendr\u00e1 los d\u00edgitos que encienden cada segmento del display de 7 segmentos y que formar\u00e1n cada uno de los n\u00fameros del 0 al 9. Te puedes apoyar con la Figura 3 que muestra la tabla de valores por segmento para el display. Si no est\u00e1s familiarizado con el manejo de arreglos, te sugerimos realizar primero la pr\u00e1ctica <a href=\"http:\/\/132.248.251.218\/wpArduino\/index.php\/manual-de-programacion-con-arduino\/arreglos-bidimensionales\">Arreglos bidimensionales<\/a> del Manual de Programaci\u00f3n con Arduino.&nbsp;<\/p>\n<p><strong>Ejercicio 2. Declaraci\u00f3n del arreglo DIGITOS<\/strong><\/p>\n<p>Responde las las siguientes preguntas que te ayudar\u00e1n&nbsp; a identificar los elementos necesarios para declarar el arreglo:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2020\/12\/MatrizDisplay.png\" alt=\"\" width=\"568\" height=\"334\"\/><figcaption class=\"wp-element-caption\">Figura 3. Tabla de valores por segmento para el display<\/figcaption><\/figure><\/div>\n\n\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-53\" class=\"h5p-iframe\" data-content-id=\"53\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Display 7 segmentos. Declaraci\u00f3n arreglo DIGITOS\"><\/iframe><\/div>\n\n\n\n<p>Ya declarados los arreglos PINES y DIGITOS, vamos a declarar las variables que se van a utilizar en el desarrollo de la pr\u00e1ctica, revisa la siguiente tabla que te muestra las variables a utilizar:<\/p>\n\n\n\n<figure class=\"wp-block-table aligncenter is-style-stripes\"><table><tbody><tr><td><strong>Variable<\/strong><\/td><td><strong>Tipo de dato<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>Comentarios<\/strong><\/td><\/tr><tr><td>col<\/td><td>entero<\/td><td class=\"has-text-align-left\" data-align=\"left\">\/\/ Permite llevar el \u00edndice de las columnas de los arreglos PINES y DIGITOS<\/td><\/tr><tr><td>valBtn1<\/td><td>entero<\/td><td class=\"has-text-align-left\" data-align=\"left\">&nbsp;<br>\/\/ Guardamos el estado del bot\u00f3n B1<\/td><\/tr><tr><td>valBtn2<\/td><td>entero<\/td><td class=\"has-text-align-left\" data-align=\"left\">\/\/ Guardamos el estado del  bot\u00f3n B2<\/td><\/tr><tr><td>vContador<\/td><td>entero<\/td><td class=\"has-text-align-left\" data-align=\"left\">\/\/ Almacenar el valor que se despliega en el display  <\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\"><br>Tabla 1. variables. dela pr\u00e1ctica contador de vidas<\/figcaption><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Ejercicio 3. Declaraci\u00f3n de las variables&nbsp;<\/strong><\/p>\n\n\n\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-60\" class=\"h5p-iframe\" data-content-id=\"60\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Display 7 segmentos. Variables contador\"><\/iframe><\/div>\n\n\n\n<h4><span style=\"color: #0000ff;\">Configuraci\u00f3n de los pines de conexi\u00f3n&nbsp;<\/span><\/h4>\n<p>Ahora vamos a configurar los pines que se van a utilizar, primero configuramos los pines del arreglo PINES. Recuerda las instrucciones que se utilizan para configurar resolviendo el siguiente ejercicio:<\/p>\n<p><span style=\"font-weight: 400;\">Ejercicio 4. Configuraci\u00f3n de los pines de conexi\u00f3n del display de 7 segmentos&nbsp;<\/span><\/p>\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-51\" class=\"h5p-iframe\" data-content-id=\"51\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Display 7 segmentos. Configuraci\u00f3n arreglo PINES\"><\/iframe><\/div>\n<p>Ya tenemos configurados como salida (OUTPUT)&nbsp; los pines del display 7 segmentos, procedamos a realizar la identificaci\u00f3n y configuraci\u00f3n de los pines que utilizan los botones pulsadores.<\/p>\n<h4><span style=\"color: #0000ff;\">Configuraci\u00f3n de los&nbsp; pines de conexi\u00f3n de los botones pulsadores<\/span><\/h4>\n<p>El M\u00f3dulo 7 segmentos cuenta con 4 botones pulsadores (B0, B1, B2, B3).&nbsp; Funcionan como un sensor digital y&nbsp; pueden&nbsp; enviar a la tarjeta Arduino el valor HIGH (1) si est\u00e1 presionado y el valor LOW (0) si no est\u00e1 presionado. Para utilizar un bot\u00f3n debemos configurar el pin al que est\u00e1 conectado en modo entrada.<\/p>\n<p>Revisa en la Figura 2 los pines de la tarjeta Arduino a los que est\u00e1n conectados los botones B1 y B2 que se utilizan en la pr\u00e1ctica y resuelve el siguiente ejercicio:<\/p>\n<p>Nota:&nbsp; Aunque no aparece en el circuito,&nbsp; el Bot\u00f3n B0 est\u00e1 conectado al pin 1 y el bot\u00f3n B3 al pin 4&nbsp;<\/p>\n\n\n\n<p><strong>Ejercicio 5. Identificaci\u00f3n y conexi\u00f3n de los pines de conexi\u00f3n de los botones pulsadores<\/strong><\/p>\n\n\n\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-54\" class=\"h5p-iframe\" data-content-id=\"54\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Display 7 segmentos. Configuraci\u00f3n botones pulsadores\"><\/iframe><\/div>\n\n\n\n<p><span style=\"font-weight: 400;\">La \u00faltima configuraci\u00f3n corresponde al&nbsp; pin del transistor NPN.<\/span><\/p>\n<p>El transistor NPN&nbsp; es el componente que&nbsp; permite activar o desactivar el display de 7 segmentos. Vamos a codificar las instrucciones para configurar el pin al cual est\u00e1 conectado el transistor para que se comporte como una salida y posteriormente activar el display. Observa la Figura 2 y responde las siguientes preguntas:<\/p>\n<p><strong>Ejercicio 6. Activaci\u00f3n del display de 7 segmentos<\/strong><\/p>\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-52\" class=\"h5p-iframe\" data-content-id=\"52\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Display 7 segmentos. Activaci\u00f3n del display\"><\/iframe><\/div>\n<h4><span style=\"color: #0000ff;\">Lectura de los valores de un bot\u00f3n pulsador<\/span><\/h4>\n<p>Una vez configurado el bot\u00f3n pulsador, debemos codificar las instrucciones para &nbsp;leer nuestra entrada digital del bot\u00f3n. El resultado de la lectura se almacenar\u00e1 en una variable (valBtn) que permitir\u00e1 despu\u00e9s validar el estado del bot\u00f3n. Si el bot\u00f3n pulsador es presionado su valor cambia a el estado HIGH (pulsado, 1), si el pulsador no es presionado est\u00e1 en LOW (0).<\/p>\n<p><strong>Ejercicio 7. Lectura del valor de un bot\u00f3n pulsador<\/strong><\/p>\n\n\n\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-55\" class=\"h5p-iframe\" data-content-id=\"55\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Display 7 segmentos. Lectura bot\u00f3n pulsador\"><\/iframe><\/div>\n\n\n\n<p>Ya que obtuvimos el valor del bot\u00f3n, vamos a verificar cu\u00e1l se presion\u00f3 para determinar si nuestro contador aumenta o disminuye, para hacerlo requerimos realizar una comparaci\u00f3n con una estructura selectiva donde la comparaci\u00f3n consiste en verificar si la variable valBtn# tienen el valor HIGH.<\/p>\n<p><strong>Ejercicio 8. Validaci\u00f3n del valor del bot\u00f3n pulsador<\/strong><\/p>\n\n\n\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-57\" class=\"h5p-iframe\" data-content-id=\"57\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Display 7 segmentos. Evaluaci\u00f3n del estado del bot\u00f3n\"><\/iframe><\/div>\n\n\n\n<p>Recuerda que en esta pr\u00e1ctica, usamos de los botones B2 que aumentar\u00e1 el contador y B1 que lo disminuir\u00e1.&nbsp;<\/p>\n<h4><span style=\"font-weight: 400; color: #0000ff;\">Generaci\u00f3n de la variable contador<\/span><\/h4>\n<p>Ya identificado el bot\u00f3n que fu\u00e9 presionado (B1 o B2),&nbsp; ahora se debe programar que la variable contador aumente o disminuye su valor. Lo primero que hacemos es declarar la variable. La variable contador generalmente inicializa en el valor 0 y puede incrementar de 1 en 1 o de acuerdo a tus necesidades es el incremento que va a tener.<\/p>\n<p>La sintaxis de una variable contador para incrementar es la siguiente:<\/p>\n\n\n\n<p class=\"has-white-color has-text-color has-background\" style=\"background-color:#002b7a\">varContador=varContador+constante;<\/p>\n\n\n\n<p><strong>Par\u00e1metros<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><strong>varContador &#8211; variable que incrementa o disminuye&nbsp; su valor de acuerdo a una condici\u00f3n de tipo entero.<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><strong>constante &#8211; cantidad que siempre se le suma o resta<\/strong><\/p>\n<p>La instrucci\u00f3n para generar la variable contador ser\u00eda:<\/p>\n<pre><span style=\"font-weight: 400;\">vContador=vContador+1;<\/span><\/pre>\n<p>y para disminuir su valor la instrucci\u00f3n es la siguiente:<\/p>\n<pre><span style=\"font-weight: 400;\">vContador=vContador-1;<\/span><\/pre>\n<h4><span style=\"color: #0000ff;\">Uso del operador compuesto<\/span><\/h4>\n<p>Otra forma de incrementar una variable en Arduino es con el uso del los operadores compuestos. Son aquellos que combinan una operaci\u00f3n aritm\u00e9tica con una variable especifica asignada.&nbsp; De esta forma se puede realizar una operaci\u00f3n matem\u00e1tica asignada a una variable o constante. Algunos operadores compuestos son:<\/p>\n<p><\/p>\n\n\n\n<figure class=\"wp-block-table aligncenter is-style-stripes\"><table><tbody><tr><td><strong>Operador<\/strong><\/td><td><strong>Operaci\u00f3n <\/strong><\/td><td><strong>Ejemplo<\/strong><\/td><\/tr><tr><td>++<\/td><td>incremento<\/td><td>variable++<\/td><\/tr><tr><td>&#8212;<\/td><td>decremento<\/td><td>variable&#8211;<\/td><\/tr><tr><td>+=<\/td><td>suma compuesta<\/td><td>variable+=<\/td><\/tr><tr><td>-=<\/td><td>resta compuesta<\/td><td>variable-=<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Tabla1. Operadores compuestos de Arduino<\/figcaption><\/figure>\n\n\n\n<p class=\"has-white-color has-text-color has-background\" style=\"background-color:#002b7a\">varContador<\/p>\n\n\n\n<p><strong style=\"font-family: Roboto, sans-serif; font-size: inherit;\">Par\u00e1metros<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><strong>varContador &#8211; variable que incrementa o disminuye de tipo entero. Devuelve el valor original o reci\u00e9n incrementado de la variable<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><strong>operador &#8211; operador compuesto que incrementa en uno la variable<\/strong><\/p>\n<p>La instrucci\u00f3n para generar la variable contador que incrementa usando operador compuesto ser\u00eda:<\/p>\n<pre>vContador++;<\/pre>\n\n\n\n<p>y la instrucci\u00f3n para generar el decremento de la variable contador es la siguiente:<\/p>\n<pre>vContador--;<\/pre>\n\n\n\n<h4><span style=\"color: #0000ff;\">Validaci\u00f3n del valor de la variable contador<\/span><\/h4>\n<p>Es importante considerar que el display de 7 segmentos visualizar\u00e1 el n\u00famero 9 como m\u00e1ximo y el 0 como valor m\u00ednimo por lo que es importante validar el valor de la variable <em>vContador<\/em> dependiendo de las siguientes condiciones que se pueden presentar al presionar los botones pulsadores:<\/p>\n<ol>\n<li>Si el valor de la variable vContador&nbsp; es 9 y se contin\u00faa presionando&nbsp; el bot\u00f3n de aumento (B02),&nbsp; que la variable vContador reinicie a 0.<\/li>\n<li>Si el valor de la variable vContador es 0 y se&nbsp; contin\u00faa presionando el bot\u00f3n de disminuci\u00f3n&nbsp; (B01),&nbsp; &nbsp;que la variable vContador conserve el 0.<\/li>\n<\/ol>\n<p><strong>Ejercicio. 9 Validaci\u00f3n e inicializaci\u00f3n del contador&nbsp;<\/strong><\/p>\n<p>Realiza el siguiente ejercicio para codificar las instrucciones que permitan validar e inicializar la variable contador a 0.<\/p>\n\n\n\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-58\" class=\"h5p-iframe\" data-content-id=\"58\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Display 7 segmentos variable contador\"><\/iframe><\/div>\n\n\n\n<h4><span style=\"color: #0000ff;\">Visualizaci\u00f3n del contador en el display de 7 segmentos<\/span><\/h4>\n<p>Cada vez que&nbsp; se presiona el bot\u00f3n B1, el valor de la variable <em>vContador<\/em> aumenta y se despliega el valor en el display de 7 segmentos, de igual forma, si se presiona el bot\u00f3n B2, el valor de la variable disminuye y despliega el valor en el display de 7 segmentos.&nbsp;<\/p>\n<p>La variable <em>vContador<\/em> aumenta o disminuye en un rango de 0 a 9, y los n\u00fameros que se pueden visualizar en el Display tambi\u00e9n van del 0 al 9,&nbsp; observa la figura 4 y responde lo siguiente:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/iaciduino.enp.unam.mx\/wp-content\/uploads\/2022\/01\/contador-Y-DIGITOS-1024x595.png\" alt=\"\" width=\"668\" height=\"388\"\/><figcaption class=\"wp-element-caption\">Figura 4. Visualizaci\u00f3n variable vContador<\/figcaption><\/figure><\/div>\n\n\n<p><strong>Ejercicio 10. Observaciones importantes<\/strong><\/p>\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-61\" class=\"h5p-iframe\" data-content-id=\"61\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Display 7 segmentos. visualizaci\u00f3n variable contador\"><\/iframe><\/div>\n<p>Muy bien,&nbsp; estos detalles son importantes para&nbsp; codificar las instrucciones que permitan visualizar el valor de la variable contador en el display. Resuelve el siguiente ejercicio que te ayudar\u00e1 a construir parte del c\u00f3digo para realizar un&nbsp; recorrido entre las columnas del arreglo DIGITOS.<\/p>\n<p><strong>Ejercicio 11. Recorrido de fila arreglo DIGITOS<\/strong><\/p>\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-62\" class=\"h5p-iframe\" data-content-id=\"62\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Display 7 segmentos. Codificaci\u00f3n for\"><\/iframe><\/div>\n<p>Ya que codificamos la estructura for, ahora comenzamos con la instrucci\u00f3n que se repetir\u00e1 y que consiste en indicar los segmentos del display que deben&nbsp; encender&nbsp; &nbsp;para visualizar el n\u00famero de la variable contador. Retomemos la imagen 4 y observa los siguientes detalles:<\/p>\n<p><strong>Ejercicio 12. Encendido de los segmentos display&nbsp;<\/strong><\/p>\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-63\" class=\"h5p-iframe\" data-content-id=\"63\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"display 7 segmentos. Repetici\u00f3n for\"><\/iframe><\/div>\n<p>Muy bien, ahora ya podemos codificar todo el programa.<\/p>\n<h4><span style=\"color: #0000ff;\">Codificaci\u00f3n del programa de Arduino<\/span><\/h4>\n<p>Muy bien, ahora ya podemos codificar todo el programa y escribir en la funci\u00f3n <em>setup<\/em>. las instrucciones de configuraci\u00f3n de los pines de la tarjeta Arduino, la inicializaci\u00f3n o activaci\u00f3n de los dispositivos y en la funci\u00f3n&nbsp; <em>loop e<\/em>l c\u00f3digo que&nbsp; se ejecutar\u00e1 de manera repetitiva mientras la tarjeta Arduino permanezca encendida.<\/p>\n<p>Con los elementos de los ejercicios,&nbsp; &nbsp;vamos a codificar el programa de Arduino que encienda el segmento A del display. Para ello, sustituye en el siguiente programa el texto <span style=\"color: #ff0000;\">&lt;&lt;bloque de instrucciones Ejercicio n&gt;&gt;<\/span> con las instrucciones que corresponda.<\/p>\n<pre>\/* Pr\u00e1ctica contador de vidas<br>* Programa que visualiza un d\u00edgito en el display de 7 segmentos <br>* de acuerdo a un aumento o disminuci\u00f3n<br>*\/<br><br>\/\/ Declaraci\u00f3n de los arreglos PINES y DIGITOS como constantes<br><span style=\"color: #ff0000;\">&lt;&lt;bloque de instrucciones ejercicio 1&gt;&gt; <br>&lt;&lt;bloque de instrucciones ejercicio 2&gt;&gt;<\/span><br><br>\/\/ declaraci\u00f3n de las variables<br> <span style=\"color: #ff0000;\">&lt;&lt;bloque de instrucciones ejercicio 3&gt;&gt;<\/span><br><span style=\"color: #3366ff;\"><br>void<\/span> <span style=\"color: #339966;\">setup<\/span>() {<br>\/\/ Configuraci\u00f3n de los pines del arreglo PINES como salida<br><span style=\"color: #ff0000;\">&lt;&lt;bloque de instrucciones ejercicio 4&gt;&gt;<\/span><br>\/\/ Configuraci\u00f3n de los botones pulsadores<br><span style=\"color: #ff0000;\">&lt;&lt;bloque de instrucciones ejercicio 5&gt;&gt;<\/span><br>\/\/ Configuraci\u00f3n del pin de conexi\u00f3n del transistor NPN de salida y activaci\u00f3n del display<br><span style=\"color: #ff0000;\">&lt;&lt;bloque de instrucciones ejercicio 6&gt;&gt;<\/span> <br><br>}<br><br><span style=\"color: #3366ff;\">void<\/span> <span style=\"color: #339966;\">loop<\/span>() {<br><br>\/\/ Lectura del valor de los botones pulsadores<br><span style=\"color: #ff0000;\">&lt;&lt;bloque de instrucciones ejercicio 7&gt;&gt;<\/span> <br>\/\/ Validaci\u00f3n del bot\u00f3n B1<br><span style=\"color: #ff0000;\">&lt;&lt;bloque de instrucciones ejercicio 8&gt;&gt;<\/span> <br>     vContador ++; \/\/Variable contador aumentando<br>\/\/ Validaci\u00f3n e inicializaci\u00f3n de la variable contador <br><span style=\"color: #ff0000;\">&lt;&lt;bloque de instrucciones ejercicio 9&gt;&gt;<\/span> <br>\/\/ Validaci\u00f3n del bot\u00f3n B2<br><span style=\"color: #ff0000;\">&lt;&lt;bloque de instrucciones ejercicio 8&gt;&gt;<\/span> <br>     vContador --; \/\/Variable contador aumentando<br>\/\/ Validaci\u00f3n e inicializaci\u00f3n de la variable contador <br><span style=\"color: #ff0000;\">&lt;&lt;bloque de instrucciones ejercicio 9&gt;&gt;<\/span> <br>\/\/ Ciclo para recorrer las columnas del arreglo DIGITOS[][]<br><span style=\"color: #ff0000;\">&lt;&lt;bloque de instrucciones ejercicio 10&gt;&gt;<\/span> <br>\/\/ Encendido de del segmento del display con valores[contador][columna]<br><span style=\"color: #ff0000;\">&lt;&lt;bloque de instrucciones ejercicio 11&gt;&gt;<\/span> <br>}<\/pre>\n<p>Captura, compila y ejecuta tu programa por medio de siguientes acciones:<\/p>\n<ol>\n<li>Abre el IDE de Arduino.<\/li>\n<li>Crea un nuevo sketch.<\/li>\n<li>Captura las instrucciones del programa.<\/li>\n<li>Guarda tu programa.<\/li>\n<li>Compila tu programa. En caso necesario, dep\u00faralo hasta que no tenga ning\u00fan error.<\/li>\n<li>Conecta la tarjeta Arduino a tu computadora.<\/li>\n<li>Selecciona el puerto serial (COM) de la computadora asociado a la tarjeta.<\/li>\n<li>Sube el programa a la memoria de la tarjeta Arduino UNO.<\/li>\n<li>Ejecuta tu programa.<\/li>\n<\/ol>\n<h4><span style=\"color: #0000ff;\">Probando el contador.<\/span><\/h4>\n<p>Realiza pruebas a tu programa y responde las preguntas<\/p>\n<ul>\n<li>Presiona el Bot\u00f3n B2 hasta llegar al l\u00edmite\n<ul>\n<li>\u00bfCu\u00e1l fue el n\u00famero m\u00e1ximo desplegado en el display?<\/li>\n<li>\u00bfQu\u00e9 n\u00famero se despliega despu\u00e9s del&nbsp; alcanzar el valor m\u00e1ximo?<\/li>\n<\/ul>\n<\/li>\n<li>Presiona el Bot\u00f3n B1 hasta llegar al l\u00edmite\n<ul>\n<li>\u00bfCu\u00e1l fue el n\u00famero m\u00ednimo desplegado en el display?<\/li>\n<li>\u00bfQu\u00e9 pasa si presionas el B1 despu\u00e9s del valor m\u00ednimo?<\/li>\n<li>\u00bfQu\u00e9 n\u00famero se despliega despu\u00e9s del&nbsp; alcanzar el valor m\u00ednimo?<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2><span style=\"color: #002b7a;\">Resultados<\/span><\/h2>\n<p>Ahora ya puedes programar la visualizaci\u00f3n de un contador de vidas en el display de 7 segmentos. Prueba tus nuevas habilidades:<\/p>\n<ul>\n<li>Presiona el B2 para aumentar el contador y el bot\u00f3n B1\n<ul>\n<li>\u00bfFunciona correctamente el programa?<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2><span style=\"color: #002b7a;\">Conclusiones<\/span><\/h2>\n<p>Una contador es una variable de tipo entero que aumenta o disminuye su valor de forma progresiva durante la ejecuci\u00f3n de un programa. Se utilizan principalmente para llevar el conteo de una acci\u00f3n. En el caso de los juegos, se utiliza un contador para llevar la cuenta de las vidas que se ganan o se pierden.<\/p>\n<p>Finalmente, te invitamos a que respondas las siguientes preguntas:<\/p>\n<ol>\n<li>\u00bfPor qu\u00e9 crees que es \u00fatil conocer c\u00f3mo se programa una variable contador?<\/li>\n<li>Identifica al menos 5 dispositivos que utilices en tu vida diaria que tengan integrado un contador.<\/li>\n<li>\u00bfEn qu\u00e9 proyectos puedes aplicar el uso de un contador con el display de 7 Segmentos?<\/li>\n<\/ol>\n<\/div><\/div>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group has-background\" style=\"background-color:#f2f2f2\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#002b7a\" class=\"has-inline-color\">Retos Arduino<\/mark><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Escribe un programa en Arduino que muestre un contador en en el display de 7 segmentos donde cada incremento o decremento sea diferente a 1.<\/li>\n\n\n\n<li>Escribe un programa en Arduino que muestre un contador de n\u00fameros pares o de n\u00fameros impares en el display de 7 segmentos.<\/li>\n<\/ol>\n\n\n\n<p><\/p>\n<\/div><\/div>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<h2><span style=\"color: #002b7a;\">Referencias<\/span><\/h2>\n<p>Arduino. (2021). Language Reference.&nbsp;<a href=\"https:\/\/www.arduino.cc\/reference\/en\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/www.arduino.cc\/reference\/en\/<\/a><\/p>\n<p>Ba\u00f1uelos, M., Pacheco, M. y Villegas, R. (2021). M\u00f3dulo 7-segmentos. Manual de Usuario.&nbsp;<\/p>\n<p>Ba\u00f1uelos, M., Pacheco, M. y Villegas, R. (2021). Arduino. Manual de programaci\u00f3n con Arduino.&nbsp;<\/p>\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><a href=\"https:\/\/iaciduino.enp.unam.mx\/index.php\/modulo-7-segmentos\/dado-electronico\/\">&lt; Pr\u00e1ctica Dado electr\u00f3nico<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-right\"><a href=\"https:\/\/iaciduino.enp.unam.mx\/index.php\/modulo-7-segmentos\/numeros-suerte\/\">Pr\u00e1ctica N\u00famero de la suerte &gt;<\/a><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Pr\u00e1cticas M\u00f3dulo 7-segmentos T\u00edtulo de la pr\u00e1ctica: Contador de vidas Objetivo: El alumno codificar\u00e1 un programa en Arduino que visualice un contador en un display de 7 segmentos controlado por 2 botones pulsadores. Tiempo estimado: 50 minutos Nivel de dificultad:<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":3736,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4255","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages\/4255","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/comments?post=4255"}],"version-history":[{"count":165,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages\/4255\/revisions"}],"predecessor-version":[{"id":6769,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages\/4255\/revisions\/6769"}],"up":[{"embeddable":true,"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/pages\/3736"}],"wp:attachment":[{"href":"https:\/\/iaciduino.enp.unam.mx\/index.php\/wp-json\/wp\/v2\/media?parent=4255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}