Operadores en Arduino - Visualizador de números impares en display de 7 segmentos.

Operadores en Arduino - Visualizador de números impares en display de 7 segmentos.

entonces hoy vamos a ver un tema de programación que se convirtió en operador excitación entonces empezamos por hablar sobre el concepto de un operador y un operador básicamente es un símbolo que implementamos en la programación para llevar a cabo ciertas manipulaciones matemáticas o expresiones lógicas tales como la suma la redesta la multiplicación para la parte de operadores matemáticos si hablamos de operadores julianos pues utilizaríamos las puertas lógicas que ya hemos estado trabajando como la borla etcétera y para la parte de operadores de comparación pues utilizaríamos como el igual el diferente el mayor que el menor que o el mayor o igual a mayor o igual o menor igual etcétera entonces vamos a hablar de cada uno de estos y luego procederemos a colocar bueno perdón a colocarlo hacer una aplicación en la cual utilicemos algunos operadores entonces empezamos por los más utilizados que son los operadores aritméticos entonces aquí tenemos la suma el símbolo el arduino es el mismo suma la resta igual el mismo símbolo la multiplicación es con asterisco en el asterisco y la división con el slice inclinado hacia la derecha bueno entonces las operaciones matemáticas que nosotros efectuamos en el programa depende también del tipo de dato que nosotros estemos utilizando que ustedes saben que tenemos tipos de datos para números tal como el entero el flotante también tenemos el long el doble etcétera y dependiendo pues de estos dependiendo de la operación que queramos hacer nosotros debemos elegir adecuadamente el tipo de dato por ejemplo si vamos a realizar una división una multiplicar una división por ejemplo entre los números lo recomendable es que ustedes utilicen un tipo float o doble para poder obtener el punto decimal entonces por ejemplo aquí tenemos que si vimos 9 sobre 4 vamos a obtener 2.25 esa sería la división exacta si ustedes utilizan el tipo entero que les va a arrojar el programa del programa les va a arrojar un 2 por qué por qué un dato de tipo entero únicamente únicamente va va a arrojar los números enteros y cuál elige pues el número más cercano entonces en este caso como es 225 pues se acerca más a 2 si fuera 275 pues nos arrojaría 23 entonces dependiendo del de los datos que estemos utilizando para cada uno de los números pues vamos a nos va a arrojar el valor de acuerdo a ese dato entonces por ejemplo para esta división lo recomendable es que ustedes utilizaron un dato de tipo flotante para poder obtener el número de forma precisa también hay que tener en cuenta que si nosotros realizamos la operación utilizando distintos tipos de datos lo que va a hacer el programa es elegir el tipo de dato más grande entonces ustedes si recuerdan nosotros veíamos la cantidad de memoria que ocupaba cada tutores teníamos por ejemplo el link que ocupa 2 bytes si veamos el doble flotante éste nos arroja a 4 bytes entonces si realizamos una operación con un dato de tipo entero y con un dato de tipo doble pues se van a obtener va a obtener ese va a utilizar el tipo de dato mayor en este caso sería el doble listo entonces en este ya aquí terminaríamos la parte de los aritméticos también hay otras expresiones tal como el módulo que es un residuo de una división y ésta a ver que no me acuerdo ahorita están estas operaciones que ya las hemos utilizado se acuerdan en el foro que utilizamos el más más o el menos menos para incrementar una variable en uno de los listo el módulo es para obtener el residuo una división no creo que lo vayamos a utilizar entonces no le prestaremos mayor atención luego veremos los símbolos compuestos perdón los símbolos no los operan dos compuestos entonces tenemos que estos operando estos operadores combinan una operación aritmética con una variable entonces se utilizan para poder digamos reducirla como el código no entonces ejemplo tenemos esta expresión x + igual allí y lo que expresa este operando es esto mismo x es igual a x más fíjese que es para reducir el digamos como la operación volver el código más pequeño básicamente pues de esto se trata los pelos operan dos compuestos los operadores compuestos y se utiliza generalmente en la parte de los bucles entonces veamos otro por ejemplo x por igual y esto al final lo que nos dice es x es igual a x x ya visto aquí también tenemos aquí tenemos la tabla en donde vemos los diferentes símbolos entonces el que acabamos de ver por ejemplo asignación y multiplicación también tenían tendremos el de división el del módulo y el de asignaciones y suma que ya los vimos no pues en esta tabla pueden ver resumido pues todos los operadores que vamos a ver en la clase de hoy pero ya sí con el resto de operadores aritméticos lo que hace es pues la combinación por eso se llaman operadores compuestos porque lo que hace es una combinación listo donde de dónde se utilizan los operadores aritméticos como la suma resta multiplicación y división luego aparecen los operadores de comparación entonces estos dos operadores lo que como su nombre lo indica lo que hacen son comparaciones de una variable con otra entonces generalmente los utilizamos en las estructuras condicionales tal como el leaf el while el csif también hay otros que no hemos implementados por ejemplo como el de while o como el suitcase que pues hasta el momento no los hemos visto porque no ha habido necesidad entonces este por ejemplo este es para comparar una igualdad digamos si un dato es igual a otro este es el símbolo de diferente entonces digamos a diferente b pues ustedes colocan y paréntesis a diferente b éste es el símbolo de menor que éste es el de mayor que éste es el de menor o igual y éste es el de mayor o igual entonces básicamente serían los operadores de comparación y hemos utilizado la mayoría de ellos creo bueno entonces pasamos a hablar de los bull ya nos los julianos básicamente son aquellos operadores que están basados en la lógica booleana es decir que se expresa mediante las funciones lógicas tal como la labor la nota incluso está el axor la lectora etcétera visto esto ya lo hemos visto a lo largo del semestre y ustedes pueden escribir en el programa tanto de forma directa como por olot o utilizar el lenguaje que se utiliza en lenguajes -más más que son estos que ven ustedes acá entonces como bien como ustedes bien sabe el arduino está basado en el lenguaje de programación sea más más entonces ustedes pueden utilizar estos símbolos a determinar para utilizar cada compuerta pues aquí tenemos un recuento de lo que son las compuertas todo esto pensar la verdad ya lo hemos visto entonces no no lo veo muy necesario volverlo a ver y listo y aquí ya habría terminado la parte de la teoría de hoy entonces aquí tenemos los operadores aritméticos aquí los lógicos los que los julianos los que acabamos de mencionar estos son los de comparación y estos son los los operadores compuestos entonces la práctica que hoy lo que se va a hacer es es mostrar en un display de siete segmentos una los números impares utilizando tres bits listo entonces tengo a tengo otras entradas y mediante esas tres entradas voy colocando el número el número impar listo el programa es un poco extraño lo que quise hacer fue tratar de implementar los diferentes temas de operan de operadores que vivimos hoy entonces le agregué ciertas cositas para que para que se pudieran utilizar por ejemplo si el número que ustedes ingresan aquí es park entonces aquí se le va a graficar una p listo los números impares que ustedes coloquen si les va a salir por ejemplo el 1 el 3 el 5 y el 7 el 7 es el número máximo que se puede obtener con 3 bits si ustedes colocan entonces cualquier número digamos el 2 o el 6 o el 4 él les va a aparecer una p y otra condición que yo le coloque puede que esos números se iban ingresando con un botón o sea ustedes colocan aquí el número correspondiente y con este botón ustedes le da la orden de que tome ese dato listo porque lo hice así porque quise utilizar diferentes temas de los operadores entonces como que le fue agregando cositas en general a usted nosotros ingresamos la entrada en los pulsadores y con él con los contactos y con el pulsador activa la salida del display sí sí sí como usted lo dijo creo que lo dijo mejor que yo y el otro y el otro pulsador que el otro lado ya ya se va a explicar tal como dijo su compañero entonces eventualmente ustedes colocan aquí el número pero se va a haber registrado cuando ustedes presionen este botón listo y con este botón es para un reinicio lo que pasa es que yo quise hacer el programa pues para agregar los temas de operadores entonces tenía que agregarle como cosas para que ustedes pudieran ver la implementación de estos temas entonces agregue agregue una variable de conteo tal de que el display solo me permitiera mostrar máximo hasta me permitiera mostrar cuatro números listo entonces es decir ustedes pueden ingresar cuatro números entonces es decir con este no cuando éste llegue a 4 ya no me va a permitir el quinto o el cuarto no me acuerdo creo que no me acuerdo bien si y si me permite 4 o 3 el caso es que después de que ustedes superen el 3 o el 4 el ya no me va a dejar ingresar ningún dato y me va a arrojar una una vez acá que me dice que es un error lo hasta que ustedes leen este botón de reinicio él ya me permite volver a ingresar las cuentas y nuevamente me permite un conteo me permite entrar cuatro distintos valores listo decir ustedes aquí por ejemplo digamos aquí lean oprimen este botón entonces él me muestra el display ese es el dato luego vuelven y cambian el dato y vuelven y le dan el pulsador entonces lo muestra también ya hay bandos luego me permite el tercero y al llegar a 4 creo que no me acuerdo bien ahorita miramos el programa cualquiera al llegar a 4 él ya no me va a votar el dato sino que me va a votar una variable error y así hasta que o privamos el botón de reinicio entonces el programa es un poquito extraño porque la idea era que ustedes vieran vieran que se utilizaban diferentes tipos de operadores entonces utilizó el operador lógico utilizó y utilizó operadores aritméticos listo y bueno entonces voy a mostrarles el programa vamos a dar la simulación primero para que ustedes vayan viendo pues aquí inició fíjese en que el programa no ve no me arroja ningún dato a la salida del display porque no he presionado el botón monto que que aquí oprima entonces va a enviar el dato en este caso me voy a una p indicándome que el número es par porque es para entonces veamos es 1 y 1 y 0 esto es un 6 listo entonces el 6 es para entonces enviamos le ahora un 2 igual va a ser para enviándole más bien un 3 entonces el aquí me va a graficar el número 3 y listo digamos que le vamos a colocar el 7 lo colocamos y luego lo enviamos ahí tiene el 7 pues hay tres números no vamos a ver si me alcanzaba a tomar el cuarto y si se fijan que me empezó a botar una de error y así sucesivamente voy a seguir votando error hasta que yo presione el botón b de reinicio entonces cuando presiona el botón de reinicio ella me permite colocar el número aquí me va a graficar el 0 listo y así entonces va a 1 aníbal 2 querían tres y ya ustedes saben que el cuarto lo grafica en el cuarto si 12 aquí entonces me permite cuatro datos el quinto no me lo permite entonces toca volverlo a reiniciar entonces básicamente este es el programa y vamos a revisar el código para ver cómo lo construyen entonces bueno ahí ven bien el código lo ven pequeño o algo así y lo ven bien ahí se ve bien los compañeros y esto es muy pequeño me dicen y aumento la letra si está bien entonces continuo bueno tengo aquí las entradas estas entradas son las que vienen a la parte de los pulsadores entonces tenemos entre 12 y 13 entonces veamos acá en el programa eslabón y la 2 y la 3 pues fíjese que esto hacen referencia a los pulsadores listo del 1 al 3 son los perdón son los interruptores para colocar el número el que va al 0 y el que va al 4 son para para el botón de enviar el dato y para el botón de reinicio de corte o listo estos están acá entonces el 0 es el de bueno éste está mal esto que está mal digamos bueno no está mal esto sobraba este se toma la final como éste y en reinicio igual a 4 y el del número es el de él para enviar el dato como tal listo aquí tenemos la configuración de los pines entonces colocamos el de número como entrada y el de reinicio como entrada que es el que va al 0 y al 4 estar aquí el de los interruptores y aquí son las salidas de los segmentos del display que sólo éstas que que están acá listo y entonces voy del pin 5 al pin 11 para colocar esta parte de los para colocar esta parte de las salidas aquí lo podemos evidenciar en la simulación entonces vemos desde el pin 5 hasta el pin o un 6 vamos a tomarlos como salidas en el arduino en el montaje físico no es necesario colocar estas resistencias de hecho yo no los coloque pero generalmente cuando ustedes utilizan este tipo de de pronto en alguna otra aplicación utilizando lógica cableada siempre se ven colocar resistencias para evitar quemar los leds del dispositivo yo no lo no los coloque porque la proto bar que tengo es muy chiquita y que queda muy feo listo pero esto es para limitar la corriente y protegerlos los leds los led que van encendiendo los segmentos del display en la simulación física si tengo en él proteus físico pues no perdonen mi físico no es obligatoria si están utilizando arduino arduino aunque igualdad corriente y baja y no como los que más a menos que pronto hagan alguna conexión más si tienen si tienen un display ánodo común si deberían conectarle una resistencia a los 5 voltios para protegerlo lo más probable es que si de pronto los puedan dañar sí porque está esta salida si me arroja más voltaje está si me arroja en alrededor de 40 50 miliamperios entonces te des tienen que ver cuál compraron si compraron un cátodo como un halo común si es un cátodo como lo conectará la tierra y si es un ánodo lo conectan al veces pero le conectan una resistencia y luego cial veces para que no se les vaya a quemar bueno luego pasamos al vuelo entonces el step hoy lo vamos a ir revisando en las las condiciones para que eventualmente se enciendan los los diferentes segmentos del display entonces por ejemplo entonces aquí dice si digital y recordemos que ésta que está instrucciones para leer lo que hay en un pin entonces aquí aparece el pin o lo visto bueno sí bueno aquí aquí hubiera sido mejor que hubiera colocado directamente estas entradas de entrada de entrada 3 pero bueno no lo hice iniciación pero lo ideal es que aquí colocará mi entrada uno entra a dos grados y entrada 35 queda más ordenado así pero no cae en cuenta y lo coloque así directamente entonces aquí dice si el pino 1 y el pin 2 y el pin pero si el pin 1 está en 0 y el pin 2 están 0 y el pin 3 está en 1 entonces venga y envíeme este número si ustedes se fijan este número que está graficando aquí es uno lo entonces veamos ya ahorita les explico un poco de este tema pero 3 vea veamos esto que aparece acá este sería el segmento a este es del cnt llc y eje 3 fíjense en que el segmento b y c son los que se van a encender entonces ustedes se acuerdan de los display este es el segmento ab c d e f y g entonces va a aprender el segmento b y el segmento c tal para graficar el número uno entonces aquí está en el comentario de hecho que era para graficar el número uno listo aquí también hay otra condición fíjense que yo utilicé estos símbolos estos operadores lógicos los utilice con el lenguaje de programación temas más pero también acá quise utilizar para destacó utilicé la de cualquiera de las dos pueden utilizar ambas funciones lo hice fue para que ustedes vieran que pueden utilizar cualquiera cualquiera significan lo mismo profundo sí exactamente lo mismo o sea el lenguaje les permite digamos alquilar ruido les permite colocar cualquiera de los dos no hay ningún problema entonces aquí entonces aquí básicamente lo que le está diciendo venga si éste está en cero y éste está en cero y éste está en uno y éste está en uno es decir estos abiertos y éste en uno que pasa 0 0 y 1 eso eventualmente es 11 en pues en la parte del número binario no y también tiene que evaluar si éste sea se ha presionado entonces por eso ustedes ven aquí una en donde lee el número listo este número es el este número es el 0 es decir el pin 0 listo entonces que a un poco confuso colocar digamos esto así con un 1 con el 2 con un 3 lo más recomendable es utilizar directamente las variables que ustedes crean por ejemplo aquí hubiera sido bueno haber colocado que estas variables digamos dato 1 dato 2 de datos 3 por ejemplo vino bit 2003 para que quedara un poco más más ordenado y aquí colocar bit 1 2003 para que ustedes lo vieran mucho mejor pero si tienen dudas me pueden verlas pueden hacer esto se conoce como vector lo vamos a ver la siguiente clase y ese sería el último tema ya para la parte de arduino listo vamos a ver la otra clase entonces vectores y matrices y aquí lo utilice debido a que quería que el código no fuera muy extenso porque si no utilizó vectores entonces tocaría enviarle la información de forma más extensa pues que lo que significan estos vectores un vector creo que ustedes ya lo han visto en sus cursos de cálculo entonces los vectores ustedes pueden colocar varios digamos diferentes números o si son símbolos diferentes símbolos pues aquí dice que este vector es de tipo entero y tiene una cantidad de siete elementos entonces fíjense que si ustedes cuentan mira hay dos tres cuatro cinco seis siete son siete elementos entonces este es el elemento 1 del vector el 9 todos del vector el elemento 3 del vector el 45 esencia el 7 claro que en el lenguaje se más más ustedes deben iniciar desde el elemento 0 no usaba iría desde el evento será hasta el evento 6 si ustedes empiezan desde el elemento 1 él lo va a tomar este sino que a tomar este listo entonces para ustedes llamar a estos elementos que están utilizando este es el elemento 0 el 1 el 2 extra el señor señor 22 yardas te has perdido tu verdad con entiendo el vector ai entidad y que en caso de defunción llama ese vector ya listo qué pasa es que con los vectores podemos hacer podemos hacer aplicaciones mucho más cortas una forma de usted es hacerlo listo una forma por ejemplo entonces ustedes crean pueden crear varias variables número uno número 2 número 3 y así así hasta el número 7 visto y a cada uno de esos asignarle ese valor estos 30 que se esté este sería el 1 y este sería el otro 1 y hasta llegar al 7 el 7 es este eso es esto no es esto mismo lo que pasa entonces fíjense en que todos ustedes tendrían que crear 77 variables para poder enviar para poder agregar digamos para poder enviar esos datos al a la otra función que vamos a explicar ahora así pues básicamente es esto mismo no tenga la término si quiere un 4 sería el 10 el número 5 que es también otro 0 el número 6 que es igual a un 0 también entonces básicamente eso es esto mismo listo esto que acá es esto mismo pero fíjense que yo aquí estoy utilizando una sola variable y una sola línea de código entonces creo que quintero porque me pregunto haga de cuenta que es esto mismo que tenemos acá sólo que con los vectores podemos entonces reducir esa cantidad de código y reducir esa cantidad de variables la siguiente clase lo vamos a ver con mucho más detalle para que ustedes puedan aprender a utilizar vectores hacer operaciones con vectores o con matrices listo pues yo creo que con esto le queda claro esto es básicamente ese es domingo viene el elemento 0 lo colocamos a cada elemento uno destaca el otro elemento 3 destaca el elemento 4 está acá y así sucesivamente es esto mismo listo profe sr qué significa y dónde está abajo del vector 7 eso que hizo y displays en al paréntesis víctor ya lo aplican vamos para allá listo entonces respondían ya habiendo respondió la pregunta pero continuamos pues la siguiente sentencia entonces aquí que estoy haciendo esto lo va a relacionar con los segmentos del display listo entonces este va a ser el segmento a ver aquí aparece el n 0 que es el primero va a ser el segmento a que es este el segmento el elemento 1 va a ser el segmento b tal como está acá y así sucesivamente esto se hace para que el código sea mucho más corto bueno y que ustedes pues vean otras digamos como que se expanda un poco el conocimiento y no se queden como lo habitual que estamos haciendo bueno entonces esto es una función lo que me pregunta su compañero es una función una función que yo creé esa función la llave display sé que es una función que yo cree así se llama pueden colocar display segmentos como quieran como ustedes quieran llamar la variable el identificador de la función que la tengo acá yo aquí lo que estoy haciendo es llamar esa función y fíjense en que en esta ocasión si estamos enviando un dato yo en las clases pasa que la pasada ya les había mostrado un ejemplo donde creamos una función y lo enviamos datos si no estoy mal nosotros vemos aquí el de cuál fue el ejercicio que vimos la clase pasada me puedes recordar por favor desde el control de velocidad sin el control del inversor de giro no señor no señor o sea yo creo que sí hemos utilizado funciones estoy seguro qué funciones hemos utilizado la verdad no profe o sea bueno vale entonces aquí tenemos una función que la llame d de esta manera y las funciones son se crean para reducir el código o digamos para reducir el código porque fíjese en una manera de hacer esto es que yo coloqué todo este código en cada uno de estos y listo en cada uno de estos y lo colocó y lo colocó en todos estos pero entonces dicen que el programa va a quedar muy muy extenso y la idea no es esa la idea es que pues el código sea corto entonces por eso se utilizan las funciones las funciones generalmente se utilizan para reducir el código es decir cuando usted va útil por ejemplo eso que ustedes prender y apagar o prender y apagar un led prender y apagar un led digamos en la secuencia prende este edad para el otro le prende este le está pagando otro led y digamos si ustedes van cambiando la velocidad por ejemplo con un botón entonces tienen que volver a escribir otro el código pero con otros delays prenda y apague prenda y apague pero con un delay distinto y si vuelven y cambian entonces con otra velocidad distinta entonces piensen que tendría que copiar pues varias veces apago y encendido de los leds es lo que ustedes hacen es crear funciones para que el código quede más corto entonces debe en un momento voy a revisar algo fíjense en que yo si les he enseñado a hacer funciones del compañero que dijo que no fíjese que si en la clase pasada creamos una función le está listo y esto era para apagar y profe que pueden hacer que funcione es lógico pensar que esas funciones listo entonces básicamente el domingo es una función tal como la que creamos la vez pasada sólo que en esta ocasión vamos a enviar un dato listo entonces en este caso le vamos a enviar este dato del vector que yo estoy diciendo aquí venga llámeme la función y envíeme el estado este acto es el vector que yo crea acá entonces prometer yo señor que previamente rompió la pregunta le di cuando dice inyector significa que es una variable que sólo funcionan es en este ciclo en esta función si solo a colocar en esa función para la marca de vectores toca crearlos ha sido la verdad yo no pude crearlo como una de tipo global y luego agregarle los elementos no la verdad no no me funcionó entonces a la creen cada uno de los 6 yo creo que seguramente sí sí hay manera de crear la función de tipo global y luego pues llenar el vector desde acá pero la verdad no lo encontré como entonces dándome más de la cabeza y continuando listo entonces sí entonces es bueno el aporte que hace su compañero desde entonces en este caso sería una variable de tipo global y únicamente funcionaría dentro de éste tiff bueno entonces aquí estamos llamando la función le enviamos el dato del vector y él inmediatamente salta salta todo este código que acaban lo salta y viene aquí directamente listo y aquí es donde recibimos y el código entonces aquí tenemos que crear entonces aquí como el dato que estamos recibiendo es de tipo entero entonces nosotros tenemos que crear en la función como tipo entero que recuerden que la pasada nosotros colocamos voy porque porque era una función que no recibía ningún dato los elementos datos entonces se colocan como wojtyla y la función y el paréntesis sólo sí pero en este caso como vamos a enviar un dato pues toca colocar el tipo de dato de la función entonces estamos enviando un tipo de dato entero entonces fíjese que el tipo de dato del vector es entero y aquí pues tenemos que crear la variable que nosotros vamos vamos a recoger entonces pies en que aquí enviamos aquí cuando llamamos le estamos enviando el dato no el dato que contiene el vector y tenemos que recibir lo tenemos que recibirlo acá entonces para recibirlo colocamos de esta manera creamos la variable y creamos el vector entonces en este caso sería el nombre que ustedes quieran no se pueden colocar vector 2 lo que quieran como ustedes quiere incluso puede utilizar el mismo inventor inventor también pueden crearlo igual como están creando una nueva variable no van a tener conflicto con el anterior inspector porque el otro era también de tipo local pero esto es para que no se enrede con lo que creó un nuevo un nuevo vector con un nombre distinto para que ustedes pues sepan que es son digamos diferentes variables listo entonces y colocamos en la cantidad de los de los datos del vector 3 aquí le están viendo un 97 entonces debe recibir 1 de 7 entonces ignoremos por ahora esto que hay acá no haremos esta parte vamos a proceder acá ahorita explicamos el resto entonces aquí recuerden que con la sentencia digital bright nosotros enviamos datos a la salida de los pines 30 o 5 voltios entonces aquí qué pasa entonces estamos colocando digital bright segmento up al segmento aa similares lo que tenga el elemento del vector el elemento 0 cuál es el elemento 0 el vector esté listo nosotros le estamos enviando este conjunto de datos a esta n estã n recibe recibe esos mismos datos no da cuenta que este vector n 7 es y ese es exactamente el mismo que tiene el vector 7 digamos esto sé exactamente lo vendo él recibe estos datos que acá nos recuerden que el elemento discúlpeme está ahí donde está víctor 7 igual 0 1 1 2 3 4 5 6 7 son siete segmentos hay allá o sea que cada porque va en ese orden me disculpo profe porque va en ese orden esto ya esto lo ha explicado así como 20 minutos vuelvo y lo retó esto esto es vana van a ir relacionados con el 37 segmentos entonces para explicar eso debo retomar nuevamente esto pues aquí se evalúa la condición si en la entrada 1 y la entrada 2 y la entrada 3 tienen estos valores la entrada 1 con 0 a la entrada 2 con 0 y la trata 3 con 1 que es este número 001 esto es un 11 es decir cuando ustedes vienen aquí al arduino y tienen este número está en 0 es tercero y está en 1 ustedes saben que esto en binario de su número o por ejemplo si colocaran este sería 0 11 en este caso sería un 3 pero entonces esa condición que estamos evaluando si éste están 0 este están 0 y éste está en 1 implica que es uno entonces para poder dibujar un 1 en el display tiene que aprenderse el segmento b y el segmento c el resto de segmentos van a estar apagados entonces el b y el c son los que se van a encender entonces por eso fíjese en este serial al que va a corresponder al a aquí corresponde al este al c est el de tele al fg y lo que estamos haciendo aquí es relacionando exactamente eso que les estoy diciendo entonces aquí le estoy diciendo venga al segmento aa simplemente lo que tiene el elemento 0 del vector en este caso es un ser luego la sentencia dice venga al segmento b asigne ml lo que tenga el elemento 1 del vector el evento 1 del vector sf listo y así sucesivamente hasta llegar hasta el elemento 6 entonces algo que tienen que tener muy en cuenta cuando ustedes utilizan estos vectores no arranquen desde el número 1 porque si no no se van a matar a la cabeza creyendo que no les funciona y es porque para recorrer estos elementos ustedes tienen que arrancar desde el cero entonces si son 7 en este caso que son 7 elementos pues ustedes arrancan desde el 0 y llegarían hasta el elemento 6 si 0 1 2 3 4 5 6 eso a un total de siete elementos bueno listo entonces aquí ya estaría explicado esta parte voy a proceder a analizar el otro el save entonces digamos que lo que no se cumple esta condición que tenemos esta condición 0 1 y 1 es decir que tenemos esta condición entonces qué pasa al evaluar acá pues no no cumple estas condiciones que es este debe estar en 0 y este estar en 0 y este estar en 1 entonces no lo cumple porque porque yo coloqué esté en este ahora lo coloque en 1 es decir este dato está en 1 entonces va a saltar y va a venir acá y va a preguntar venga él el primer de los bit está en 0 y el segundo está en 1 y el tercer estado es decir aquí 0 1 y 1 entonces si en este caso sí si funciona entonces él va a entrar a bala pues a estas sentencias obviamente para poder entrar a ese a este el safe tiene que haber este tiene que cumplirse esto de qué la variable número recuerden que el número es el trasero es decir el botón para ingresar el dato es acuerdes en que para enviar el dato siempre teníamos que presionar este es este sino lo presionamos él no va a entrar acá no por eso es que coloca la condición alto que tiene que cumplirse esto y a su vez tiene que cumplirse de que ustedes deben presionar el botón de esto si ustedes lo colocan esto que pasa pues directamente les va a graficar el en el display de siete segmentos el número y la idea era poner un poquito más complejo en el ejercicio para ver otras otras cosas listo bueno entonces aquí tenemos el número tres si ustedes se fijan de 0 11 este sería el 3 entonces como es el tres veces como dibujamos el 3 pues el 3 como es entonces el a el b el cd y el g están en 1 únicamente el e y el f estar en 0 l y el f serían estos a b c d e y f estos dos están en ser el resto se encienden y al igual que que de la anterior caso nuevamente entonces display segmentos para llamar la función envíele el vector cual vector éste y aquí hace exactamente igual entonces dice al segmento up es el segmento a es este en la salida 11 es decir esta salida 11 este es el segmento a el display al segmento up envíeme le lo que tenga el elemento pero el vector cuál es el elemento 0 del vector en este caso este entonces a este segmento de enviar un 1 es decir me va a encender en el segmento y luego aparece el segmento luego colocamos el segmento b agreguen lo que tenga el elemento 1 del vector en este caso es este y así sucesivamente o sea todo esto es lo mismo es la repetirá en la repitiera t si nosotros no utilizamos los vectores pues fíjense que voy a voy a tener 77 variables como cuando ahorita que le respondí a quintero entonces número uno igual a cero número dos igual a 103 igual a uno número cuatro igual a cero entonces fíjense todo este código acá y luego acá y luego acá en todo esto entonces sería grandísimo por otro lado si no utilizamos la función pues tendría que yo hacer esto también acá en cada uno esto es más grande todavía el core el código entonces por eso es que se utiliza tanto las funciones y un vector en este caso listo y así con el resto de condiciones entonces por el pro para el número 5 pues también el 5 ustedes saben que es 10 1 entonces ficción aquí está el 10 para él para la entrada 2 y 1 para lanzada 3 y el 7 también se puede graficar pues aquí el 7 ustedes saben que es las 3 los 3 bits en 1 pero bueno entonces ahora qué pasa sí no es un número impar cuando les decía entonces si no es un número impar el leve les debe graficar una p que indica no el número spark no se puede visualizar pues ustedes tienen que colocar las otras condiciones y listo y el 0 lo tome como si fuera como si lo fuera impar y par pero matemáticamente el 0 es un número par pero bueno hagamos de cuenta que el 0 no pertenece a ninguna de las dos esto lo hice para poder utilizar las condiciones en este caso por visto digamos 20 de eso únicamente para para poder utilizar eso señor con esto escribiendo los variables podemos no son números pares no si ya es ideal ya te aproximas explicar es entonces estos dos últimos el save son este para evaluar si el número es par y este para evaluar si el número es cero listo vamos a evaluar los números pares entonces cuáles son los números pares pues ese sería el 2 el 4 y el 6 en este caso fíjense que este es el número 2 porque por esto es el 0 la segunda entrada en 1 y la tercera entrada en 0 se saben que el 010 esos 12 entonces él pregunta venga si el número es si el número es 2 entonces pues graphic m aquí que esto es el número par de si ustedes ven aquí pues la pgr y acá se emprenden estos listo para colocar la p se prendería en estos y únicamente no se emprenderían estos dos segmentos que sería el c y el d entonces piensen que aquí sería a b c y el d el 6 el de esos los únicos que se apagan listo una forma sería colocar el el el signo más acá de esto y luego abajo volver a colocar otro el save con el siguiente con el que corresponde al número cuatro y luego otro del ceip con el que corresponde al número seis pero entonces sería una gran cantidad de código innecesaria porque ustedes pueden utilizar la misma sentencia para enviar el él pues para enviarla porque porque el 2 y el 4 y el 6 a la final nos votan el mismo resultado una p entonces en vez de estar construyendo un el save para el 2 y otro del 6 para el 4 y otro del 6 para el 6 pues lo que hacemos es colocarlo en uno solo entonces cómo podemos hacer utilizamos en este caso la condición ella entiende muy bien esto sea así de pronto alguien no entiende cómo funciona una hora una es porque no ha prestado no ha prestado atención a lo largo del curso porque duramos alrededor de dos meses viendo compuertas pero recuerden que la hora es para si se cumple una o se cumple la otra él va para la final va a entrar al bucle soy puedo poner ahora en vez de los dos padres de los dos líneas siempre profeco claro que aunque empiecen que el programa se la reconoce si ven te sale colorcito por ejemplo si es creado otra cosa no lo reconoce pero piensa que con el colocador el mismo programa se la está reconociendo así también como quiera no se ha ido ahí no hay problema listo ustedes pueden colocar así como tal como dice el compañero bueno entonces continua entonces aquí este es el número 2 y dice oh sí este sería el 4 o velo o si no es el 2 en 3.017 4 y como es el 4 el 4 recuerden que es 100 entonces él dice venga si se cumple esto o si se cumple esto o si se cumple el 6 recuerden que el 66 110 o si se cumple el 6 entonces siempre con cualquiera de esos tres valores entre y megrahi conape obviamente debe estar la an con el con el número no con el botón del número porque recuerden que la idea es que únicamente nos envíe el dato cuando el otro le decimos venga ahora sí gráficamente el dato listo porque hice este programa así bueno la verdad no es que tenga mucho sentido únicamente lo que quería era que ustedes vieran cómo aplicar diferentes cosas pues si nos fijamos aquí ya utilizamos ex operadores lógicos bull ya nos los hemos utilizado en la y hemos utilizado dolor y ahorita utilizaremos un operador aritmético pues bueno entonces si se cumple alguna de estas condiciones es decir que a la entrada tenemos 12 14 16 hemos colocado con estos interruptores hemos colocado el 2 y el 4 en 6 por empleado sería así o el 4 sería así listo o el 6 sería así pues si alguna de esas tres se ha cumplido y si se ha presionado el botón entonces entre a la estructura condicional entre acá y me gráficas entonces ya les dije que estará la para verlo y nos viene aquí y eventualmente entonces hace lo mismo el elemento 0 lo que tiene la edad y así sucesivamente entonces ya aquí está explicado el otro del ceip es únicamente para el 03 fíjense aquí que este es el 0 0 0 esto es un cero entonces si la entrada es cero y se ha presionado el botón entonces envíeme el el ser usted sabe que el ser únicamente el segmento g el de la mitad es el que está apagado el resto están encendidos entonces ya hemos analizado toda esta parte de los el safe y vamos a evaluar estas pequeñas condiciones que hay acá listo esto que acá que no la hemos visto únicamente les mostré la primera parte pero bueno entonces recuerden que habíamos colocado una condición de corte o listo que yo les dije hasta 4 él me va el media graficar si se pasan de 4 desde alameda graficar nada y me votaron ar listo entonces pero tenemos acá entonces él dice si el conteo es bueno creamos la variable conteo visto aquí está una variable global a la llame conteo y la inicial y cero de la variable inicia en cero y termina pues se evalúan se evalúa aquí con la condición hasta cuatro pues cada vez que le entra esta función es decir que cada vez que el gráfica un número va a contar una vez digamos si el aquí tienes tendríamos el número 7 y en la entrada y ustedes presionaron el 1 él viene aquí me llama a la función y lo primero que hace es aumentar la variable contento de la variable de conteo inicial 0 3 0 11 entonces la variable en este caso se va a llenar en un valor de 1 listo pues aquí estamos utilizando un operador aritmético de suma listo bueno igual podrían utilizar un operador aritmético no un operador con compuesto también podría colocar aquí x conteo más igual uno es listo pero bueno así es más entendible entonces los días pero listo entonces lo primero que le hace ahorita explicó este delay por ahora ignoremos lo tengamos acá y entonces el aumento a la variable no no es decir que el estado está el 1 y viene y analiza steve entonces él pregunta venga la variable conteo es menor o igual a 41 si la variable es menor o igual a 4 en este caso es 1 es el primer número que está bien graficando piensen que aquí ya estamos viendo un operador estamos estamos viendo un operador de comparación instantes este programa fue hecho con la intención de que utilizáramos en los diferentes tipos de operadores en este caso estamos utilizando el menor o igual también pueden colocarlo como menor a 5 también si es menor a menor a 5 esto si es menor a 5 igual funcionaría tal cual como menor o igual a 4 cuales son los menores a 5 hasta 4 el 1 2 3 4 si llegas 5 ya no es menor 5 los menor a 5 son iguales y también significa lo vengo aquí porque le hice menor o igual si no sabes decir que va a ir hasta el número 4 pues bueno entonces sí claro si el menor o igual a 4 entonces por eso es que él entra acá y me le asigna estos pues segmentos tal como lo hemos analizado a lo largo del de la clase pues ahora digamos que enviamos otro número enviamos el 5 que están con lo que configuramos las entrada de los 3 bits se configuraron para para colocar el 5 y luego presionamos el botón de de enviar el dato pues claro entonces él inmediatamente entra a su bucle bien y me llama la función display segmentos él viene y salta acá y viene y nuevamente conteo conteo estaban uno entonces él dice bueno uno más uno cuánto es 200 la variable conteo ahora se colocó en 2 entonces viene aquí preguntan el ibge venga en la variable es menor a 4 si 12 es menor o igual a 4 y bien y me las zinc a los digamos los los elementos al display eso lo hemos visto entonces continuamos en la hora que vamos a colocar el luna park colocamos un número par es decir entró acá esto entró acá y presionamos el botón de enviar datos y viena canto es ahora la variable estaban 2 entonces 2 más 1 3 ahora conteo es 33 es menor o igual a 4 si y nuevamente viene arriba le colocamos otro número entonces el conteo ahora están 33 más 14 y entra nuevamente cuatro es menor o igual a cuatro si es igual a cuatro entonces se entra y por último vamos a volver a enviar otro número digamos el 7 vamos a enviar el 7 entonces viene acá le hemos presionado el botón de enviar el dato me llama la función entonces contengo estaba el 44 15 y aquí pregunta venga 5 es menor o igual a 4 no no es menor o igual a 4 entonces viene y se va por el leds entonces si no se cumple la condición viene y entra leds y en él el que está haciendo aquí piensen veamos primero esta parte fíjese en que le está asignando unos valores ya de forma definida y que está enviando el piensen que estás lae entonces veamos la ley de error pues sería estos aquí activos para la que se está invertida únicamente el segmento b y el segmento c se apaga en el resto se encienden entonces aquí el b y el c son los que estarían en cero listo y eso se va a ser hasta qué el botón de reinicio se presione es decir que ustedes llegan a 4 entonces fíjese que enviamos nos enviamos los datos suficientes hasta que llega a error piensen que por más que ustedes intenten enviar un dato él siempre les va a montar un error siempre les va a decir error en error negro alrededor entonces por eso coloque un while para decir que que desea y votando error hasta que reiniciar el sistema hasta que reinicio la variable contador y el seguir así ha sido dándoles la variable error hasta que ustedes envíen este dato y ahí sí el me permite dibujar otro números y ver entonces por eso está este while este while lo que hace es estancar lo hasta que se presione la variable de reinicio es cuando se presiona la barra la variable reinicio es decir por el pin 43 lee el pin 4 y si no es así es diferente de cero porque fíjense el dice mientras no se presione es decir mientras lo que esté leyendo por el pin 4 sea 0 haga esto arrojes a ella por lo que sabe que sea el momento en que ustedes presionan el botón de reinicio entonces ya no se cumple que es igual a 0 y se sale este while se sale de acá y bien y salta y que debe hacer reiniciar la variable sin porque se acabó se acabó de accionar el botón de reinicio entonces me inicializar la variable 0 listo entonces ya aquí habría habría terminado explicar todo esto ya lo único que me falta es este y ley este delay se coloca para que ustedes den cierto tiempo para presionar el botón porque qué pasa donde nuestro este de ley entonces imagen usted saben que esto esto se está ejecutando ejecutando en cuestión de milisegundos es muy rápido si todo esto entonces si ustedes no le dan un tiempo que pasa él va a entrar muchas veces acá claro entonces él viene acá ustedes presionar digamos como a adecuar los los bits y presionar el botón pues claro él viene acá viene acá viene entra y hace todo esto y nuevamente va a volver a entrar y va a volver a entrar varias veces porque el botón está en ese momento accionado entonces claro la variable de conteo pues se va a llenar se va a llenar a 4 y solo nos va a dejar ingresar un tanto nomás siempre sí me entienden si me hago entender si ustedes no colocar este delay él va a entrar varias veces acá y me va a llenar la variable hasta 4 y ya no me va a poder graficar otro otro número si únicamente intentando graficar 1 1 2 básicamente sería entonces ustedes con esta ley le están diciendo venga él está la persona presionó el botón de enviar el dato y espérese medio segundo para que lo suelten puede ser más puede ser un segundo como quiera no hay problema eso sí ya es como el diseño de ustedes entonces espere un poquito para garantizar de que ya lo dejó de presionar porque si no lo hacemos es decir si yo me pongo a si yo me pongo a los esperó vamos a ver si qué pasa si si lo dejo varias veces lo hecho se aprueba no sé si lo hago varias veces el 100 aquí que pasó porque me pase del tiempo que sí sí vieron que lo de hecho lo que decía exactamente uno de sus compañeros que si no lo coloco él siempre me mandaría una por qué porque entraría varias veces ustedes aunque esto es muy rápido no todo esto es muy rápido entonces si ustedes no le garantizan un tiempo siempre que usted lo presionen es suficiente para que el ejecutado entonces por ejemplo aquí envió va a enviar el datos de envío este dato la p y si lo mantengo encendido es decir que pues como él únicamente tiene hasta punto cinco segundos pues qué pasa que el base va a llenar porque porque él espera los el medio segundo entra y evaluar y como el botón está y ha activado entonces vuelve y entra otra vez y vuelve y entra aquí otra vez a la función y me sube a la variable como el botón sigue activo vuelve nuevamente entra acá y vuelve y me subo a la variable otra vez entonces por eso es que están programados esos 5 esos 5 ese medio segundo podría ser más un segundo no sé en la práctica yo creo que en un segundo sería suficiente listo y ya habría terminado el programa entonces no sé si tengan dudas inquietudes para proceder a mostrarles en el circuito [Música] pues digamos en mi caso yo no sé si de pronto se pudiera no sé si a usted le tiene que fácil que nos dé o por lo menos no sé digamos sería que sería este que este es el código digamos que por lo menos hasta ahora hemos visto más complejos ya que lleva más cositas una con la otra sí sería bueno digamos un poco más de tiempo para analizarlo ver otra vez la clase paso a paso tomar datos y cómo armar lo digamos como para hacerlo hoy mismo mañana siempre me parece un poco doloroso es que no no lo que vamos a evaluar en la clase es lo que les dije eres de la clase pasada esto ahorita más rato les dejaré la tarea para la siguiente clase y obviamente no les bajará algo está con tal complejo obviamente tranquilícese por eso únicamente aquí fue para que ustedes vieran los distintos las distintas cosas que se pueden hacer entonces porque hemos hecho sólo programas básicos entonces aquí les quería mostrar que pueden hacer cosas mucho más complejas y piensen que todo este código únicamente nos llenó el 5% o sea ustedes no hemos llenado absolutamente nada podemos hacer cosas muy complejas con esto y como bien saben arduino es un microcontrolador sencillo si lo comparamos con otro tipo de tecnologías entonces de menos momento voy a proceder a a mostrarles el montaje físico bueno bueno el circuito estar viendo porque luego aquí en la pantalla no tengo ni ideas para ver a que parece es listo es aquí está el circuito tenemos el arduino tenemos el display de siete segmentos tenemos aquí los motores hitos el de enviar y el del reinicio y aquí ya tenemos el de tweets en este caso ya no estamos utilizando para este no utilizamos pulsadores sino que utilizamos interruptores y en este caso pues si utilizamos el litro los botoncitos tal como lo hicimos ahora programa es para financiar digamos piensen que aquí tengo dibujado un 5 en el revés entonces para graficar los números 7 entonces todos estos 13 reveses así como están estos tres datos empiecen que ahí está el gráfico el 7 entonces tengo está al revés el display entonces ese sería el siete es listo ahora ahora quiero enviar el 33 por empleo de esos 33 muy malo porque generalmente bien y el león es el dato en el gráfico el 3 y ahora ahora graphic hemos one para desocupar podría ser con este abajo y altos de colocar ahora volvamos a oprimir creo que haya señor 4s que ahora ya luego tu error es triste y me sigue no tan bueno kameda tomará parte hasta que el reinicio yo lo vi el botón de reinicio y ahora ahora sí de armar el par básicamente es esto el programa es difícil en inglés difícil es porque son cosas nuevas pero a la final no sólo es un programa complejo uno ha mostrado con el wii cumple entonces la clase hoy

Noticias relacionadas