0% encontró este documento útil (0 votos)
17 vistas17 páginas

Pract-3 Duran Flores Lopez Soriano

Practica lcd microcontroladores

Cargado por

caca caca
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas17 páginas

Pract-3 Duran Flores Lopez Soriano

Practica lcd microcontroladores

Cargado por

caca caca
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

R08-PC01REPORTE DE PRÁCTICA

1. Nombre de la Práctica:
Comunicación Serial.

2. No. de Práctica: 3

3. Fecha: 15 de Noviembre de 2024.

4. Materia: Microcontroladores.

5. Integrantes del Equipo:


 Durán Díaz Jorge Osvaldo.
 Flores Zempoalteca Ismael.
 López Quijano Benjamín.
 Soriano Davila Karen Krystell.

6. Nombre del Docente:


Ing. Raúl Eusebio Grande.

R04/22
7. Introducción
La comunicación serial es uno de los métodos más utilizados para el intercambio
de datos entre dispositivos. Este método permite enviar información bit a bit a
través de un canal, lo que lo hace eficiente en términos de costos y simplicidad en
comparación con otros protocolos como la comunicación paralela. Entre los
estándares más conocidos, el RS232 destaca por su amplia adopción en
aplicaciones industriales, educativas y de desarrollo de hardware.

El presente proyecto explora cómo implementar la comunicación serial mediante


el estándar RS232 para interactuar con un microcontrolador PIC18F4550. Este
dispositivo, equipado con el módulo EUSART (Enhanced Universal Synchronous
Asynchronous Receiver Transmitter), permite establecer una conexión confiable
y sencilla con otros dispositivos, como computadoras, a través de un puerto serial.
Por otro lado, se utiliza la librería pyserial en Python para gestionar la
comunicación desde la computadora, actuando como interfaz maestro.

El objetivo principal es configurar el PIC18F4550 para controlar un LED RGB


según los comandos enviados desde la computadora:

Letras (r, v, a) para encender los LED rojo, verde y azul, respectivamente.

Números (1, 2, 3) para apagar cada LED.

Este enfoque demuestra cómo combinar las capacidades de hardware del


microcontrolador con la flexibilidad de un lenguaje de alto nivel como Python
para diseñar sistemas interactivos. Además, destaca la importancia del estándar
RS232 como una solución accesible para la comunicación entre dispositivos,
especialmente en aplicaciones donde la simplicidad, la fiabilidad y el control son
fundamentales.

R04/22
8. Objetivo
Programar el microcontrolador PIC18f4550 para comunicarse vía RS232 con
una computadora y recibir órdenes.

9. Competencias Alcanzadas
 Comprensión del protocolo RS232 y su implementación.
 Uso de la librería pyserial para establecer comunicación entre la computadora
y el microcontrolador.

10. Material y Equipo


 Microcontrolador PIC18F4550.
 Módulo de comunicación RS232 a USB.
 Equipo de cómputo con Software Python y librería pyserial instalado.

11. Marco Teórico


¿Qué es la comunicación serial?
La comunicación serial es un método de transmisión de datos en el cual los bits de
información se envían de manera secuencial, uno tras otro, a través de un solo
canal de comunicación. Es una de las formas más comunes de transmisión de
datos en sistemas embebidos, ya que reduce el número de líneas de conexión
necesarias en comparación con la comunicación paralela.
En la comunicación serial, los datos se envían bit a bit a través de un solo cable, lo
que hace que sea más sencillo y económico en términos de cableado y conexiones.
Dependiendo de la dirección de transmisión, puede ser unidireccional (solo envía

R04/22
datos) o bidireccional (envía y recibe datos). Se pueden utilizar diferentes
estándares para la comunicación serial, como RS232, RS485 y USB, cada uno con
sus características y aplicaciones específicas.

El estándar RS232 es uno de los más utilizados en la comunicación serial,


especialmente en aplicaciones de control y monitoreo de dispositivos a través de
puertos de serie, como en los microcontroladores. Este protocolo utiliza niveles
de voltaje específicos para representar los valores lógicos 0 y 1, asegurando la
correcta interpretación de los datos transmitidos entre dispositivos [1].

RS232

R04/22
El estándar RS232 (Recommended Standard 232) es un protocolo de
comunicación serial utilizado para la transmisión de datos entre dos dispositivos
electrónicos, generalmente entre una computadora y un periférico (como un

módem, impresora, microcontrolador, etc.). Se basa en la transmisión de datos en


forma de bits secuenciales, a través de un solo canal de comunicación. El
funcionamiento de RS232 implica varios aspectos clave que garantizan una
transmisión efectiva y fiable [1].

Microcontrolador PIC18F4550
El PIC18F4550 es un microcontrolador de la familia PIC18 de Microchip
Technology, basado en una arquitectura RISC de 8 bits. Es ampliamente utilizado
en aplicaciones embebidas debido a su facilidad de programación, eficiencia
energética y versatilidad, ofreciendo un amplio rango de características, como
puertos de entrada/salida (GPIO), comunicación serial (USART), control de

R04/22
interrupciones, y capacidades de conversión analógica-digital [2].

Programación en Python
Python es un lenguaje de programación de alto nivel muy utilizado para el
desarrollo de aplicaciones de control y comunicación entre dispositivos. La
librería pyserial facilita la comunicación serial entre un computador y un
microcontrolador o dispositivo que utilice un puerto serial, como el PIC18F4550.
Esta librería es compatible con los estándares de comunicación serial como
RS232, y permite la configuración y transmisión de datos de manera sencilla [3].

12. Metodología o Desarrollo


o Instalación de Python y librería Pyserial.

Se configuró un entorno de programación adecuado para la interacción


con el microcontrolador. Para ello, se instaló la librería pyserial en Python,
lo que permitió establecer una comunicación serial con el PIC18F4550 a
través del puerto COM de la computadora. Se verificó que el
microcontrolador estuviera correctamente alimentado y configurado para
recibir y transmitir datos.

R04/22
MODULO rs232

La comunicación serial funciona mediante el envío de datos bit a bit de forma


secuencial a través de un único canal, reduciendo la cantidad de conexiones
necesarias. En el caso del protocolo RS232, se utiliza para conectar una computadora
y un microcontrolador (en este caso, el PIC18F4550) mediante un puerto serial. La
computadora envía comandos en forma de caracteres ASCII, que el microcontrolador
interpreta para controlar salidas, como el encendido o apagado de LEDs.

El microcontrolador se programa para recibir los datos a través de los pines


designados para la comunicación serial, en este caso RC6 y RC7. Los comandos
recibidos (como 'r', 'v', 'a', etc.) activan funciones específicas, como encender o apagar
los LEDs. El protocolo RS232 define la velocidad de transmisión (en este caso, 9600
baudios), el número de bits por palabra de datos (8 bits), y si se utiliza paridad
(ninguna en este caso).

Información sobre el uso del módulo Bluetooth y su comunicación al puerto RS232

1. Integración del Bluetooth

Un módulo Bluetooth puede utilizarse para reemplazar el cableado físico de RS232. Se


conecta al puerto serial del microcontrolador, actuando como un puente inalámbrico.

El módulo Bluetooth convierte los datos enviados por un dispositivo remoto (como
un smartphone o computadora) en señales compatibles con el estándar RS232,
permitiendo que el microcontrolador los procese como si vinieran de un puerto serial
convencional.

. Configuración típica:

El módulo Bluetooth se empareja con el dispositivo remoto y se establece una


R04/22
comunicación utilizando un puerto virtual COM.

Configuración de parámetros como velocidad en baudios (generalmente 9600


baudios para compatibilidad), bits de datos, paridad y stop bits.

Ventajas:

Elimina la necesidad de cables, aumentando la flexibilidad.

Mantiene la simplicidad del protocolo RS232 mientras extiende su funcionalidad para


aplicaciones inalámbricas.

4. Código de ejemplo: En el lado del microcontrolador, el código no necesita cambios


significativos. El módulo Bluetooth simplemente reemplaza el medio físico:

#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)

R04/22
o Programación.
Se desarrolló el programa para que el PIC18F4550 pueda gestionar la
recepción de datos a través del puerto serial. El microcontrolador debía
interpretar los caracteres específicos enviados desde la computadora
(como 'r', 'v', 'a', '1', '2', '3') y accionar los LED RGB conectados al mismo
según el comando recibido.

#include <18F4550.h>
#fuses HS, NOWDT, NOPROTECT, NOLVP, PUT
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, parity=N, bits=8)

void main() {
set_tris_e(0x00); // Configurar el puerto E como salida
output_e(0x00); // Apagar todos los LEDs al inicio

while (TRUE) {
if (kbhit()) { // Comprobar si se recibió un dato
char dato = getc(); // Leer el dato recibido

switch (dato) {
case 'r':
output_high(PIN_E0); // Encender LED en RE0
break;
case 'v':
output_high(PIN_E1); // Encender LED en RE1
break;

R04/22
case 'a':
output_high(PIN_E2); // Encender LED en RE2
break;
case '1':
output_low(PIN_E0); // Apagar LED en RE0
break;
case '2':
output_low(PIN_E1); // Apagar LED en RE1
break;
case '3':
output_low(PIN_E2); // Apagar LED en RE2
break;
default:
// No hacer nada si se recibe un comando no reconocido
break;
}
}
}
}

Se configura al RS232 con la siguiente línea:

#use RS232(BAUD = 9600, BITS = 8, PARITY = N, XMIT = PIN_C6, RCV =


PIN_C7)

Velocidad de 9600 baudios, 8 bits de información y sin bit de paridad.

R04/22
o Envío de comandos.
Se utilizó Python con pyserial para enviar comandos a través del puerto
serial del ordenador.

o Pruebas y verificación.
Se realizaron varias pruebas para verificar la correcta recepción de datos
por parte del PIC18F4550 y la respuesta apropiada de los LED RGB. Los
resultados fueron observados en tiempo real, ajustando el código según
fuera necesario para garantizar la correcta funcionalidad del sistema.

13. Tratamiento de Residuos


N/A.

14. Equipo de Seguridad Utilizado.


N/A.

15. Resultados y Conclusiones


A continuación, se muestra la tabla con los caracteres y valores ASCII de cada
función.

R04/22
R04/22
Ilustración 7. Interfaz para envío y recepción de datos.

R04/22
R04/22
En esta práctica, se exploró el uso de la comunicación serial RS232 para la

transmisión de datos entre un microcontrolador PIC18F4550 y la


computadora, empleando la librería pyserial en Python para facilitar el
intercambio de información. Se estableció una comunicación efectiva
mediante el puerto serial, enviando comandos específicos desde la
computadora hacia el microcontrolador para controlar el LED RGB de la
Miuva. Esta experiencia proporcionó una comprensión más profunda de los
aspectos técnicos y prácticos involucrados en la implementación de

R04/22
comunicación serial en un entorno controlado.

16. Referencias Consultadas.


[1]. EIA, "Interfacing Between Data Terminal Equipment and Data Communication
Equipment Employing Serial Binary Data Interchange," RS232 Standard, 1997.
[2]. Microchip Technology Inc., PIC18F4550 Data Sheet: 8-bit Microcontroller with
USB, Rev. DS39632E, 2010.
[3]. Python Software Foundation, "pyserial - Python Serial Port Extension," [En
Línea], [Link] Consultado: Nov. 18, 2024.

R04/22
R04/22

También podría gustarte