.::COMUNICACIÓN SERIAL PIC A PIC::.

Conteo de tráfico vehicular

A través del procesamiento de imágenes con Matlab, este programa consigue caracterizar el tráfico de una avenida de dos carriles.

Artist's interpretation of article headline

Calificación automática de exámenes

Aplicación basada en procesamiento de imágenes con Matlab cuya entrada es un examen de opción múltiple como imagen y provee la calificación total del examen con detalle de respuestas correctas e incorrectas etiquetadas.

Artist's interpretation of article headline

Medición de distancia con una webcam y puntero láser

Cálculo de la distancia desde una webcam usando un puntero láser. El programa está diseñado para trabajar con múltiples tipos de cámaras y ser parametrizable para cada montaje.

Artist's interpretation of article headline

Spycam

Esta aplicación sirve para detectar la presencia de movimiento ya sea de una persona u objeto que esté dentro del campo de visión de la cámara instalada. Es configurable con un valor de sensibilidad para calibrar el tamaño del objeto a detectar. Asimismo, almacena cada una de las imágenes capturadas para un análisis ulterior.

Artist's interpretation of article headline

COMUNICACIÓN SERIAL PIC A PIC

Para realizar la comunicación serial entre dos pics se usará la función serin para el caso de datos de recepción y serout para el caso de transmisión.

La sintaxis de la función serin es:

Serin pin, velocidad, variable

La sintaxis de la función serout es:

Serout pin, velocidad, [variable]

En PBP es necesario incluir la librería modedefs.bas cuando se realiza comunicación serial.

El programa para el micro transmisor es:

include "modedefs.bas"
trisb=0
portb=0
serout portb.0,T2400,["A"]
end

El programa para el micro receptor es:

include "modedefs.bas"
entrada var byte
trisb=1
serin portb.0,T2400,entrada
end

La velocidad T2400 significa: 2400 baudios en valores sin invertir (True).

La siguiente figura muestra el resultado de la simulación de este programa:

serial1

Es necesario establecer la velocidad de envío del virtual terminal a 2400.

Mejorando un poco el programa, se enviará una palabra y luego una secuencia de números. Modificamos el programa de transmisión de la siguiente manera:

include "modedefs.bas"
n var byte
trisb=0
portb=0
serout portb.0,T2400,["INICIO"]
pause 500
for n=1 to 10
serout portb.0,T2400,[#n]
pause 500
next
serout portb.0,T2400,["FIN"]
end

Para el programa de recepción se añade un LCD para mostrar los datos recibidos por el micro de recepción:

include "modedefs.bas"
define lcd_dreg portb
define lcd_dbit 4
define lcd_rsreg portb
define lcd_rsbit 3
define lcd_ereg portb
define lcd_ebit 2

entrada var byte
trisb=1
while 1
serin portb.0,T2400,entrada
lcdout $fe,1,"MATPIC.com"
lcdout $fe,$c0,entrada
wend
end

El resultado de estos programas lo muestra la siguiente figura:

serial2