{"id":16082,"date":"2022-07-16T14:42:27","date_gmt":"2022-07-16T14:42:27","guid":{"rendered":"https:\/\/blogs.ugto.mx\/rea\/?p=16082"},"modified":"2022-08-25T14:36:41","modified_gmt":"2022-08-25T14:36:41","slug":"clase-digital-7-desarrollo-de-primera-aplicacion","status":"publish","type":"post","link":"https:\/\/blogs.ugto.mx\/rea\/clase-digital-7-desarrollo-de-primera-aplicacion\/","title":{"rendered":"Clase digital 7. Desarrollo de primera aplicaci\u00f3n"},"content":{"rendered":"\n\n\n<div class=\"wp-block-cover\" style=\"min-height:284px;aspect-ratio:unset;\"><span aria-hidden=\"true\" class=\"wp-block-cover__background has-background-dim-40 has-background-dim\"><\/span><img decoding=\"async\" class=\"wp-block-cover__image-background wp-image-18361\" alt=\"blue circuit board\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" data-src=\"https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/jxd2fsvcrr8.jpg\" style=\"object-position:46% 84%\" data-object-fit=\"cover\" data-object-position=\"46% 84%\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"1067\" class=\"wp-block-cover__image-background wp-image-18361\" alt=\"blue circuit board\" src=\"https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/jxd2fsvcrr8.jpg\" style=\"object-position:46% 84%\" data-object-fit=\"cover\" data-object-position=\"46% 84%\" srcset=\"https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/jxd2fsvcrr8.jpg 1600w, https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/jxd2fsvcrr8-300x200.jpg 300w, https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/jxd2fsvcrr8-1024x683.jpg 1024w, https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/jxd2fsvcrr8-768x512.jpg 768w, https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/jxd2fsvcrr8-1536x1024.jpg 1536w, https:\/\/blogs.ugto.mx\/rea\/wp-content\/uploads\/sites\/71\/2022\/08\/jxd2fsvcrr8-272x182.jpg 272w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/noscript><div class=\"wp-block-cover__inner-container is-layout-flow wp-block-cover-is-layout-flow\">\n<p class=\"has-text-align-center has-base-3-color has-text-color has-large-font-size wp-block-paragraph\">Desarrollo de primera aplicaci\u00f3n<\/p>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"introduccion\">Introducci\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u00a1Hola!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Me da gusto encontrarte de nuevo en este ambiente de aprendizaje, espero que te encuentres con mucho \u00e1nimo por seguir adelante ya que faltan nuevos e interesantes temas que te servir\u00e1n en el futuro. Es por ello que te doy la bienvenida a la clase siete del curso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ya que terminaste las pr\u00e1cticas y has hecho los ejercicios de las mismas has logrado un conocimiento claro de la mayor\u00eda de los m\u00f3dulos con los que cuenta el microcontrolador. El trabajo hasta ahora ha sido mayormente de an\u00e1lisis. En esta clase el enfoque es que trabajes un proceso mental m\u00e1s retador que es el proceso de s\u00edntesis. En este proceso desarrollar\u00e1s un primer c\u00f3digo enfocado a realizar un c\u00f3digo que realice una tarea espec\u00edfica.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al ser este el primer c\u00f3digo que desarrollar\u00e1s de forma personal, debes entender claramente lo que se te est\u00e1 pidiendo. Despu\u00e9s deber\u00e1s desarrollar el diagrama de flujo que plasme el funcionamiento del programa y, por \u00faltimo deber\u00e1s implementar mediante funciones en el lenguaje de programaci\u00f3n XC8, el c\u00f3digo correspondiente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No habiendo nada m\u00e1s que agregar, \u00a1empecemos nuestras actividades de aprendizaje-ense\u00f1anza!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00a1Comenzamos!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"desarrollo-del-tema\">Desarrollo del tema <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para este proyecto utilizar\u00e1s el microcontrolador y 16 LEDs conectados 8 a los pines del puerto A y a los 8 pines del puerto D. Ambos puertos deben configurarse como salidas digitales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deber\u00e1s generar un c\u00f3digo que realice el control de luces LED de la siguiente manera:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Los LEDs estar\u00e1n conectados a los puertos A y D del microcontrolador (16 LEDs).<\/li><li>Al encenderse el microcontrolador, los LEDs estar\u00e1n prendiendo y apagando de forma alterna cada medio segundo. Primero los LEDs nones. encender\u00e1n y los pares estar\u00e1n apagados. Despu\u00e9s se apagan los nones y se encienden los pares.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Si alineas todos los LEDs en una sola hilera debe verse la siguiente secuencia (los 1s representar\u00e1n los LEDs encendidos y los 0s los LEDs apagados)<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\">PUERTO A<\/td><td class=\"has-text-align-center\" data-align=\"center\">PUERTO D<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">01010101<\/td><td class=\"has-text-align-center\" data-align=\"center\">0101010101<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">10101010<\/td><td class=\"has-text-align-center\" data-align=\"center\">10101010<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">01010101<\/td><td class=\"has-text-align-center\" data-align=\"center\">01010101<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">10101010<\/td><td class=\"has-text-align-center\" data-align=\"center\">10101010<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">\u205e<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u205e<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Si se presiona un push-button, que deber\u00e1 estar conectado a un pin del puerto B (configurados sus pines como entradas digitales),cambiar\u00e1 a una secuencia en que se incrementan de dos en dos, esto es, se encienden primero los bits 0 1 4\u00a0 5, despu\u00e9s 1 2 5 6, continua 2 3 6 7, sigue 3 4 7 0 y se vuelve a repetir. Cada secuencia dura medio segundo.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\">PUERTO A<\/td><td class=\"has-text-align-center\" data-align=\"center\">PUERTO D<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">00110011<\/td><td class=\"has-text-align-center\" data-align=\"center\">00110011<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">01100110<\/td><td class=\"has-text-align-center\" data-align=\"center\">01100110<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">11001100<\/td><td class=\"has-text-align-center\" data-align=\"center\">11001100<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">00110011<\/td><td class=\"has-text-align-center\" data-align=\"center\">00110011<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">\u205e<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u205e<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Si se vuelve a presionar el push-button, entonces cambiar\u00e1 a todos encendidos y todos apagados con medio segundo en cada caso.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\">PUERTO A<\/td><td class=\"has-text-align-center\" data-align=\"center\">PUERTO D<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">11111111<\/td><td class=\"has-text-align-center\" data-align=\"center\">11111111<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">00000000<\/td><td class=\"has-text-align-center\" data-align=\"center\">00000000<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">11111111<\/td><td class=\"has-text-align-center\" data-align=\"center\">11111111<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">00000000<\/td><td class=\"has-text-align-center\" data-align=\"center\">00000000<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">\u205e<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u205e<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Al presionar nuevamente el push-button se apagar\u00e1n todas las luces.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finalmente, con otra presi\u00f3n del push-button, se comenzar\u00e1 con la primera rutina (prenden y apagan de forma alterna nones y pares)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El enfoque de este proyecto es que puedas plasmar en un c\u00f3digo un conjunto de instrucciones espec\u00edficas. Para ello, y de acuerdo a los c\u00f3digos que ya has visto y modificado puedes tomar algunos de los siguientes tips:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Generar una variable tipo global (fuera de todas las funciones, incluida main().<\/li><li>Esa variable se va a incrementar en 1 cada que se genere una interrupci\u00f3n por disparo positivo de se\u00f1al digital externa (puedes utilizar cualquiera de las interrupciones externas INT0, INT1 o INT2.<\/li><li>Cuando la variable se incremente a 4 debe limpiarse. Por lo tanto solo tomar\u00eda, con cada interrupci\u00f3n, los valores 0, 1, 2 y 3.<\/li><li>Implementar una estructura tipo case y en cada caso llamar a una funci\u00f3n diferente. Cada funci\u00f3n generar\u00e1 una vez cada una de las secuencias solicitadas. Regresar\u00e1 al programa principal y, si la variable global no ha cambiado de valor (no se ha generado una nueva interrupci\u00f3n) volver\u00e1 a ejecutar la misma funci\u00f3n.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"conclusion\">Conclusi\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Este ha sido tu primer gran reto. Al lograr generar el comportamiento solicitado del microcontrolador has realizado un salto muy grande en tu comprensi\u00f3n de los microcontroladores y su programaci\u00f3n. Esto ha implicado un esfuerzo mental mayor a lo que se te hab\u00eda solicitado hasta antes de esta clase. Has reforzado conexiones y hecho nuevas conexiones entre much\u00edsimas de tus neuronas. Disfruta de tu logro y revisa su comportamiento y las instrucciones implementadas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfSe pudo haber hecho alguna de las partes de forma m\u00e1s eficiente? \u00bfQued\u00f3 clara cada parte del c\u00f3digo? \u00bfPodr\u00edas agregar otra funci\u00f3n que genere una secuencia de encendido de los 16 LEDs diferente a las solicitadas?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Estas son algunas de las preguntas que nos ayudan a concluir este primer proceso de s\u00edntesis. Espero que te hagas algunas m\u00e1s y busques implementarlas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00a1Felicidades, est\u00e1s avanzando muy bien! Espero que el tema te haya gustado y despierte tu inter\u00e9s para seguir investigando sobre ello. Recuerda elaborar y mandar la consigna de esta clase, te espero en la pr\u00f3xima sesi\u00f3n donde aprender\u00e1s un tema relevante para tu formaci\u00f3n acad\u00e9mica. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hasta pronto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"fuentes-de-informacion\">Fuentes de informaci\u00f3n<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.youtube.com\/watch?v=2amYhdTNjDM\" target=\"_blank\" rel=\"noreferrer noopener\">C\u00f3mo crear un proyecto en MPLAB con el compilador XC8<\/a>: <\/li><li><a href=\"https:\/\/www.youtube.com\/watch?v=AO_Eief349E\" target=\"_blank\" rel=\"noreferrer noopener\">\u00bfC\u00f3mo programar un pic utilizando Pickit3? <\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n \u00a1Hola! Me da gusto encontrarte de nuevo en este ambiente de aprendizaje, espero que te encuentres con mucho \u00e1nimo por seguir adelante ya que faltan nuevos e interesantes temas que te servir\u00e1n en el futuro. Es por ello que te doy la bienvenida a la clase siete del curso. Ya que terminaste las pr\u00e1cticas &#8230; <a title=\"Clase digital 7. Desarrollo de primera aplicaci\u00f3n\" class=\"read-more\" href=\"https:\/\/blogs.ugto.mx\/rea\/clase-digital-7-desarrollo-de-primera-aplicacion\/\" aria-label=\"Leer m\u00e1s sobre Clase digital 7. Desarrollo de primera aplicaci\u00f3n\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":142,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_crdt_document":"","episode_type":"","audio_file":"","podmotor_file_id":"","podmotor_episode_id":"","cover_image":"","cover_image_id":"","duration":"","filesize":"","filesize_raw":"","date_recorded":"","explicit":"","block":"","itunes_episode_number":"","itunes_title":"","itunes_season_number":"","itunes_episode_type":"","footnotes":""},"categories":[6,467],"tags":[41,463,462],"class_list":["post-16082","post","type-post","status-publish","format-standard","hentry","category-ingenieria-mecatronica","category-uda-microprocesadores-y-microcontroladores-licenciatura-en-artes-digitales","tag-clase-digital","tag-gustavo-cerda-villafana","tag-iili06089"],"acf":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/posts\/16082","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/users\/142"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/comments?post=16082"}],"version-history":[{"count":4,"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/posts\/16082\/revisions"}],"predecessor-version":[{"id":18634,"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/posts\/16082\/revisions\/18634"}],"wp:attachment":[{"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/media?parent=16082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/categories?post=16082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ugto.mx\/rea\/wp-json\/wp\/v2\/tags?post=16082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}