top of page

Want to generate your own video summary in seconds?

Programación de Semáforos con el Microcontrolador PIC16F886: Una Guía Práctica

Explora la guía práctica del Profesor Juan de Dios Garza Muraira sobre la programación de semáforos utilizando el microcontrolador PIC16F886 con el software MPLAB XID.

Video Summary

En el ámbito de la programación de microcontroladores, el profesor Juan de Dios Garza Muraira ha realizado avances significativos al presentar un ejercicio práctico que utiliza el software MPLAB XID. Este ejercicio se centra en la programación de un sistema de semáforos dual utilizando el microcontrolador PIC16F886, una opción popular entre entusiastas y profesionales de la electrónica. El proceso de configuración comienza con la configuración del microcontrolador a través de la opción 'Set Configuration Bits' que se encuentra en el menú 'Production'. Aquí, se deben ajustar varios bits críticos, incluyendo FUSC para el oscilador interno, LVP para la Programación a Baja Tensión, y el Temporizador Watchdog, que debe ser desactivado para evitar reinicios automáticos que podrían interrumpir el funcionamiento del semáforo.

El proceso de configuración es meticuloso, requiriendo que la frecuencia del oscilador se establezca en 4 MHz mientras se definen los puertos como digitales. Se emplean comandos esenciales como TRIS y PORT para configurar de manera efectiva las entradas y salidas del microcontrolador. El programa está diseñado dentro de un bucle infinito que rige el estado de los semáforos, comenzando con todos los puertos apagados. Los semáforos están conectados a pines específicos, con RA1 designado para la luz roja y RC3 para la luz verde, mostrando la aplicación práctica del microcontrolador en escenarios del mundo real.

En un video instructivo, Juan Díez Garza Moraira elabora sobre la programación de semáforos utilizando el microcontrolador PIC16F886. El programa está estructurado para controlar dos semáforos, denominados RA para la primera luz y RC para la segunda. Cada luz opera en tres estados distintos: rojo, amarillo y verde, representados por RA1, RA2, RA3 para la primera luz y RC1, RC2, RC3 para la segunda. La secuencia comienza con la primera luz iluminada en rojo mientras la segunda luz brilla en verde, seguida de un retraso de 5 segundos para permitir un paso seguro.

Para mejorar la experiencia visual, se incorpora un bucle for para hacer que la luz verde parpadee dos veces antes de pasar a amarillo, que permanece encendida durante 3 segundos antes de volver a rojo. Esta secuencia se refleja luego en el segundo semáforo, asegurando una operación sincronizada. El tutorial en video también profundiza en la compilación del programa y su posterior carga en el software de simulación Proteus, donde los espectadores pueden observar la secuencia del semáforo en acción, incluyendo la funcionalidad de reinicio.

A lo largo del tutorial, se enfatiza el papel crítico del tiempo en la programación, particularmente el uso de milisegundos para los retrasos. Esta atención al detalle es esencial para lograr un funcionamiento fluido de los semáforos. El objetivo general del tutorial es proporcionar a los espectadores una comprensión integral de la lógica de programación involucrada y los pasos necesarios para simular efectivamente el funcionamiento de los semáforos.

Click on any timestamp in the keypoints section to jump directly to that moment in the video. Enhance your viewing experience with seamless navigation. Enjoy!

Keypoints

00:00:00

Introducción

Juan de Dios Garza Muraira se presenta como el profesor de la práctica de microcontroladores, que utilizará el software MPLAB XID.

Keypoint ads

00:00:21

Resumen del Proyecto

La práctica consiste en programar un sistema de dos semáforos utilizando el lenguaje de programación C, centrándose en la configuración de puertos para el microcontrolador PIC seleccionado.

Keypoint ads

00:01:01

Selección de PIC

El microcontrolador elegido para esta práctica es el PIC 16F886, que se utilizará a lo largo del curso. La configuración del PIC es esencial para un funcionamiento adecuado.

Keypoint ads

00:01:14

Bits de Configuración

Para configurar el PIC, el profesor navega al menú 'Producción' y selecciona 'Establecer Bits de Configuración', donde se deben ajustar bits específicos según el modelo de PIC seleccionado.

Keypoint ads

00:01:36

Configuración del oscilador

El bit FUSC, que determina la frecuencia del oscilador, se establece en interno, lo que permite el uso del oscilador interno en lugar de un oscilador de cuarzo externo, eliminando así los costos adicionales de hardware.

Keypoint ads

00:02:06

Configuración del temporizador de vigilancia

El temporizador de vigilancia y los bits de programación de bajo voltaje (LVP) están configurados en APAGADO para evitar reinicios automáticos que podrían interrumpir el sistema de semáforos, mientras que el Master Clear está configurado en ENCENDIDO para reinicios manuales.

Keypoint ads

00:03:44

Configuración de la fuente de alimentación

El profesor explica que el PIC se puede alimentar con baja tensión (3.3 voltios) para la programación, pero opta por 5 voltios para cargar el programa, asegurando la compatibilidad con la configuración.

Keypoint ads

00:04:12

Generación de Código Fuente

Después de configurar los bits, el profesor genera el código fuente para la configuración y enfatiza la importancia de incluir este código de encabezado en el programa para el PIC16F886.

Keypoint ads

00:05:13

Inclusión Bibliotecaria

La biblioteca XE está incluida en el programa para facilitar la compilación, y el profesor reitera la necesidad de definir la frecuencia del oscilador interno para un funcionamiento adecuado.

Keypoint ads

00:05:51

Configuración de Frecuencia

El oscilador interno está configurado para operar a 4 MHz, equivalente a 4 millones de hertz, lo cual es crucial para el temporizador y la funcionalidad del sistema de semáforos.

Keypoint ads

00:05:59

Función de Retraso

La discusión comienza con la definición de la función de retraso en milisegundos, que es crucial para crear pausas en el programa. La efectividad de esta función depende de la velocidad de oscilación del microcontrolador. El orador enfatiza la importancia de utilizar una función larga para asegurar cálculos precisos de estas pausas, que deben ser divididas por 4000.0 para obtener resultados correctos en milisegundos.

Keypoint ads

00:07:05

Estructura de BotMain

El BotMain se presenta como el núcleo del programa, donde reside el código principal y se ejecuta cíclicamente. El hablante explica la importancia de configurar los bits y usar el comando TRIS para determinar el tipo de señal, específicamente si los puertos funcionarán como entradas o salidas. Se destaca la configuración de ANSEL y ANSEL H, indicando que ambas mitades de los pines del PIC deben configurarse como digitales para un funcionamiento adecuado.

Keypoint ads

00:09:00

Configuración de puertos

El orador elabora sobre el papel esencial de PORT y TRIS en la distinción entre configuraciones de entrada y salida. El PIC se divide en grupos de 8 bits, mencionándose específicamente TRIS A y PORT A. También se discute la configuración de PORT C, indicando que tanto PORT A como PORT C serán utilizados. Se propone un bucle WHILE para asegurar un funcionamiento continuo, con TRIS configurado en 1 para una repetición infinita.

Keypoint ads

00:10:34

Configuración del Estado Inicial

El orador explica la configuración inicial de los puertos, enfatizando que tanto el PUERTO A como el PUERTO C deben comenzar en un estado 'apagado'. El comando TRIS se utiliza para definir si los puertos son entradas o salidas, mientras que el comando PUERTO determina su estado inicial. Configurar ANSEL a 0 indica una configuración digital, asegurando que los puertos estén listos para operaciones digitales.

Keypoint ads

00:11:22

Programación de Semáforos

La discusión comienza con la programación de semáforos, centrándose específicamente en las conexiones para dos semáforos. El hablante explica que RA1 corresponde a la luz roja del primer semáforo, mientras que RC3 corresponde a la luz verde del segundo semáforo. Se demuestra la programación, enfatizando que establecer un valor de 1 encenderá la luz, y un valor de 0 la apagará. El hablante aclara que RA está designado para el primer semáforo y RC para el segundo, con RA1 para rojo, RA2 para amarillo, RA3 para verde, y de manera similar para RC. El estado inicial del programa está configurado para tener la primera luz roja y la segunda luz verde, seguido de una espera de 5,000 milisegundos (5 segundos).

Keypoint ads

00:13:05

Lógica de Control y Temporización

El hablante introduce un bucle 'for' en la programación, donde una variable 'i' comienza en 0 e incrementa hasta que es menor que 2. Este bucle está diseñado para ejecutar la acción de encender y apagar la luz verde dos veces, simulando un efecto de parpadeo. Después de esto, se introduce un retraso de 250 milisegundos antes de que la luz verde se apague y la luz amarilla se encienda. La luz amarilla permanece encendida durante 3 segundos antes de apagarse, permitiendo que la luz roja se encienda. La secuencia se refleja luego para el segundo semáforo, donde la luz roja se apaga y la luz verde se enciende, seguida de una espera de 5 segundos antes de repetir la secuencia de parpadeo para el primer semáforo.

Keypoint ads

00:16:30

Operaciones Simultáneas

El orador concluye explicando cómo ejecutar operaciones simultáneamente en la programación. Al colocar los comandos secuencialmente sin retrasos entre ellos, el microcontrolador puede realizar acciones tan rápidamente que parecen ocurrir al mismo tiempo. Esta técnica es crucial para garantizar que los semáforos funcionen de manera coordinada, mejorando la funcionalidad general del sistema de control de tráfico.

Keypoint ads

00:16:51

Programación de Semáforos

El hablante explica cómo programar los semáforos, específicamente apagando la luz verde del primer semáforo y encendiendo la luz roja mientras se activa simultáneamente la luz verde del segundo semáforo. Esto requiere una secuencia específica para asegurar que los cambios parezcan ocurrir simultáneamente.

Keypoint ads

00:17:21

Preparación de la simulación

Se discute el proceso de preparación para la simulación en Proteus, enfatizando la importancia de compilar el programa primero. El hablante menciona que la compilación es sencilla y consiste en verificar la sintaxis del programa, que mostrará 'carga completa' en letras verdes una vez que sea exitosa.

Keypoint ads

00:18:00

Configuración del circuito en Proteus

En Proteus, el hablante describe la configuración del circuito, que incluye el microcontrolador PIC16F886 y tres semáforos conectados a los puertos RA y RC. También se incluye un botón de reinicio, alimentado por 5 voltios, para facilitar una función de borrado maestro.

Keypoint ads

00:19:04

Cargando archivo del programa

El hablante detalla cómo cargar el archivo del programa compilado en el PIC en Proteus. El archivo del programa, que está en formato hexadecimal, se encuentra en una carpeta específica en el dispositivo de memoria del hablante. El hablante guía a la audiencia a través de la navegación hacia el directorio correcto para encontrar y abrir el archivo.

Keypoint ads

00:20:24

Ejecución de Simulación

Después de cargar el archivo del programa, el hablante ejecuta la simulación, demostrando la secuencia del semáforo. Las luces cambian de rojo a amarillo a verde en un patrón cíclico, con el hablante anotando el tiempo de cada cambio de luz y la capacidad de reiniciar la simulación para reiniciar la secuencia.

Keypoint ads

00:21:47

Propósito de la demostración

El hablante aclara que el video sirve como una demostración en lugar de un tutorial completo sobre programación. Su objetivo es mostrar cómo cargar el programa y configurar los puertos y bits, proporcionando un ejemplo práctico para que los espectadores lo sigan en su propia práctica.

Keypoint ads

00:22:06

Conclusión

Juan Díez Garza Moraira concluye la sesión, expresando la esperanza de que la explicación haya sido útil e invitando a los espectadores a ver futuros videos.

Keypoint ads

Did you like this Youtube video summary? 🚀

Try it for FREE!

bottom of page