GPSGSMPIC1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 153

PIC BASIC PROCOMPILER

VISUAL STUDIO 2008

AUTORES
ING. FRANKLIN BARRA ZAPATA ING. OMAR ENRIQUE BARRA ZAPATA
F.B.Z. / O.E.B.Z.

APLICACIONES GPS GSM CON


MICROCONTROLADORES PIC16F877A

F.B.Z. / O.E.B.Z.

CONTENIDO:
1. Descripcin del PIC16F877A
2. Tecnologa GSM
3. Modem GSM
4. Comandos AT
5. Modem GSM Enfora 1218
6. Configuracin Inicial del Modem
7. Tarjeta General para las Aplicaciones
GSM - GPS
8. Test Inicial de la Tarjeta General de
Aplicaciones GSM-GPS
9. Aplicaciones GSM - PIC con Envo y
recepcin de SMS
10. Tecnologa GPS
11. Descripcin del GPS SIRF
12. Comunicacin GPS PC (uso del
Hyperterminal)
13. Comunicacin GPS PC (Uso
COMPIM)
14. Desarrollo de Programa en Visual
BASIC 2008 8 para seguimiento.
15. Aplicaciones GPS - PIC
16. Aplicaciones GPS-GSM -PIC para
seguimiento mediante SMS

AUTORES
ING. FRANKLIN BARRA ZAPATA ING. OMAR ENRIQUE BARRA ZAPATA

F.B.Z. / O.E.B.Z.

Microcontrolador PIC
Los microcontroladores PIC (Peripheral Interface
Controller) son fabricados por la empresa Arizona
Microchip.
Dicha empresa y en la direccin www.microchip.com,
dispone de amplia informacin de todos los productos
que fabrica, tambien y desde su pgina web podemos
descargar gratuitamente los simuladores para dichos
microcontroladores.
Los PIC, y en funcin de los recursos y nmero de
trminales del chip en el que se encuentran
integrados, se dividen en varias familias.

F.B.Z. / O.E.B.Z.

Modelos de los
microcontroladores PIC
PIC12CXXX gama baja (8 pines, palabra de programa
de 12 bits/14 bits):
Bajo consumo.
Memoria de datos EEPROM.
PIC16C5X, gama baja o clsica (palabra de programa
de 12 bits):
Encapsulados de 14, 18, 20 y 28 pines.
ptimo para aplicaciones que trabajan con
bateras (bajo consumo).
PIC16CXXX, gama media (palabra de programa de 14
bits).
Convertidores A/D y puerto serie.
Encapsulados desde 18 a 68 pines.
PIC17CXXX, gama alta (palabra de programa de 16
bits).
Arquitectura abierta, memoria ampliable.

F.B.Z. / O.E.B.Z.

Modelos de los
microcontroladores PIC
PIC18XXX, gama alta (palabra de programa de 16 bits).
Conjunto de instrucciones mejorado.
Deteccin de bajo voltaje programable (PLVD).

Dentro de cada gama se dispone de una gran variedad


de modelos y encapsulados, pudiendo seleccionar el que
mejor se adapte a cada proyecto .
Cada uno de los componentes de estas familias comparte
el mismo juego de instrucciones, arquitectura interna,
interrupciones, etc., aunque puede variar la capacidad de
la memoria tanto de programa como de datos, as como
el tipo de memoria de programa que utiliza.
Evidentemente segn aumentamos en la numeracin lo
que hacemos es seleccionar dispositivos ms complejos
que incorporan nuevos recursos, como puede ser
conversores AD, comparadores, mayor nmero de
interrupciones, entre otros.
Todos los PIC independientemente de la familia a la que
pertenezcan y de los recursos que tenga implementados, poseen
unas caractersticas que les son comunes

F.B.Z. / O.E.B.Z.

Microcontrolador PIC16F877

Arquitectura Interna
El PIC16F877 es un microcontrolador de Microchip de la
familia media y al igual que los dems miembros de su
familia se caracteriza por:
Su procesador es tipo RISC (35 instrucciones).
Velocidad de operacin de hasta 20MHz y 200ns por ciclo
de instruccin.
Memoria de programa Flash de 8k x 14 palabras.
Modo sueo de ahorro de energa.
Vas de entrada de lectura y escritura del procesador.
Tiene una arquitectura HARVARD.
Perro guardin Timer (WDT) con propio oscilador RC.
La proteccin de cdigo programable.

F.B.Z. / O.E.B.Z.

Microcontrolador PIC16F877

Recursos especiales
Adems de las caractersticas anteriormente sealadas,
se puede resaltar lo siguiente:
Timer0: El temporizador/contador de 8 bits con
preescalador de 8 bits.
Timer1: El temporizador/contador de 16 bits con
preescalador, puede ser incrementado durante el modo
SUEO por crystal/clock externa.
Timer2: El timer/counter de 8 bits con registro de perodo
de 8 bits, preescalador y postescalador.
Dos mdulos Capture, Compare, PWM.
El convertidor multicanal de Analgico a Digital de 10 bits.
Serial sncrono Port (SSP) con SPI (Domine con maestra
modo) e I2C? (Master/Slave)
USART.

F.B.Z. / O.E.B.Z.

Microcontrolador PIC16F877
Pines y funciones:
El microcontrolador PIC16F877, como se ve en la
figura 1, dispone de 40 pines. Los puertos son el
puente entre el microcontrolador y el mundo exterior.
Son lneas digitales y otras analgicas que trabajan
entre cero y cinco voltios y se pueden configurar como
entradas o como salidas.
El PIC16F877 tiene cinco puertos. El puerto A con 6
lneas, el puerto B, C, D con 8 lneas y el puerto E con
3 lneas. Cada pin se puede configurar como entrada o
como salida independiente programado por un par de
registros diseados para tal fin. En ese registro un "0"
configura el pin del puerto correspondiente como
salida y un "1" lo configura como entrada.

F.B.Z. / O.E.B.Z.

Microcontrolador PIC16F877

Fig.1 . Diagrama de Pines del PIC16F877

F.B.Z. / O.E.B.Z.

10

Microcontrolador PIC16F877

Puerto A: Puerto bidireccional o de entrada/salida (TTL) u


otra funcin como:
A0/AN0 = Pin de entrada analgica 0.
A1/AN1 = Pin de entrada analgica 1.
A2/AN2/VREF - = Pin de entrada analgica 2 o voltaje de
referencia negativo.
A3/AN3/VREF+ = Pin de entrada analgica 3 o voltaje de
referencia positivo.
A4/T0CK1 = Pin de Entrada/Salida o entrada de Reloj
Externo para el TMR0, cuando este pin se configura como
salida es de tipo Open Drain (ST), cuando funciona como
salida se debe conectar a VCC (+5V) a travs de una
resistencia.
A5/AN4/SS = Pin de entrada analgica 4 o esclavo para
puerto serial asncrono.

F.B.Z. / O.E.B.Z.

11

Microcontrolador PIC16F877

Puerto B: Puerto bidireccional o de entrada/salida (TTL) u


otra funcin como:
B0/INT = Pin de Entrada/Salida o entrada de interrupcin
externa. (TTL/ST).
B1 = Pin de Entrada/Salida (TTL).
B2 = Pin de Entrada/Salida (TTL).
B3/PGM = Pin de Entrada/Salida (TTL) o entrada de
programacin de bajo voltaje.
B4 = Pin de Entrada/Salida con Interrupcin por cambio
de Flanco (TTL).
B5 = Pin de Entrada/Salida con Interrupcin por cambio
de Flanco (TTL).
B6/PGC = Pin de Entrada/Salida con Interrupcin por
cambio de Flanco (TTL/ST). Reloj de programacin serial.
Entrada de alta velocidad.
B7/PGD = Pin de Entrada/Salida con Interrupcin por
cambio de Flanco (TTL/ST). Reloj de programacin serial.
Entrada de alta velocidad.

F.B.Z. / O.E.B.Z.

12

Microcontrolador PIC16F877

Puerto C: Puerto bidireccional o de entrada/salida (TTL),


entrada de alta velocidad, u otra funcin como
C0/T1OSO/T1CK1= Pin de salida de oscilador o
temporizador de entrada.
C1/T1OSI/CCP2 = Pin de entrada de oscilador, entrada de
captura 2, salida de comparacin 2 o salida por ancho de
pulso 2 (PWM).
C2/CCP1 = Pin de entrada de captura 1, salida de
comparacin 1 o salida por ancho de pulso 1 (PWM).
C3/SCK/SCL = Pin de entrada serial sncrona de reloj o
salida para modos SPI y I2C.
C4/SDI/SDA = Pin de entrada de dato en SPI o de
entrada/salida de dato en I2C.
C5/SDO = Pin de salida de dato en SPI.
C6/TX/CK = Pin usado como USART transmisin
asncrona o reloj sncrono.
C7/RX/DT = Pin usado como USART recepcin asncrona
o datos sncronos.

F.B.Z. / O.E.B.Z.

13

Microcontrolador PIC16F877

Puerto D:Puerto bidireccional o de entrada/salida (TTL), o


puerto paralelo esclavo para interactuar con un bus de un
microprocesador.
D0/PSP0 = Pin de entrada/Salida (TTL).
D1/PSP1 = Pin de entrada/Salida (TTL).
D2/PSP2 = Pin de entrada/Salida (TTL).
D3/PSP3 = Pin de entrada/Salida (TTL).
D4/PSP4 = Pin de entrada/Salida (TTL).
D5/PSP5 = Pin de entrada/Salida (TTL).
D6/PSP6 = Pin de entrada/Salida (TTL).
D7/PSP7 = Pin de entrada/Salida (TTL).

F.B.Z. / O.E.B.Z.

14

Microcontrolador PIC16F877

Puerto E: Puerto bidireccional o de entrada/salida (TTL) u


otra funcin como:
E0/RD/AN5 = Pin de entrada para el control de lectura del
bus paralelo esclavo o entrada analgica 5.
E1/WR/AN6 = Pin de entrada para el control de escritura
del bus paralelo esclavo o entrada analgica 6.
E2/CS/AN7 = Pin de entrada para la habilitacin del
circuito integrado del bus paralelo esclavo o entrada
analgica 7.

F.B.Z. / O.E.B.Z.

15

Microcontrolador PIC16F877

Pines adicionales:
MCLR = Pin de Reset del Microcontrolador (Master
Clear). Se activa (el pic se resetea) cuando tiene un "0"
lgico en su entrada.
VSS = Ground o Tierra.
VDD = Fuente Positiva (+5V).
OSC1/CLKIN = Entrada del Oscilador del Cristal / Entrada
de reloj de una Fuente Externa.
OSC2/CLKOUT = Entrada del Oscilador del Cristal. Se
conecta al Cristal o Resonador en modo XT (Oscilador de
Cristal). En modo RC (Resistencia-Condensador), este pin
acta como salida el cual tiene 1/4 de la frecuencia que
entra por el pin OCS1/CLKIN.

F.B.Z. / O.E.B.Z.

16

COMPILADOR PICBASI PRO


COMPILER
Usando este compilador se edita el programa en
PICbasic PRO y al compilar se genera el archivo. Hex
el cual se graba en el microcontrolador PIC.

Editar
Prueba.p
bp
Compilar
Prueba.h
ex,Prueb
a.asm

Grabar
Prueba.h
ex

Figura 2. Proceso para desarrollar un proyecto con


microcontrolador. Editar, compilar, grabar y probar el
proyecto.
F.B.Z. / O.E.B.Z.

17

GSM
El
Sistema
Global
para
las
Comunicaciones Mviles (GSM, proviene
de "Groupe Special Mobile") es un sistema
estndar, completamente definido, para la
comunicacin mediante telfonos mviles que
incorporan tecnologa digital. Por ser digital
cualquier cliente de GSM puede conectarse a
travs de su telfono con su ordenador y
puede hacer, enviar y recibir mensajes por email, faxes, navegar por Internet, acceso
seguro a la red informtica de una compaa
(LAN/Intranet), as como utilizar otras
funciones digitales de transmisin de datos,
incluyendo el Servicio de Mensajes Cortos
(SMS) o mensajes de texto.

F.B.Z. / O.E.B.Z.

18

GSM
GSM se considera, por su velocidad de
transmisin y otras caractersticas, un estndar
de segunda generacin (2G). Su extensin a 3G
se denomina UMTS y difiere en su mayor
velocidad de transmisin, el uso de una
arquitectura de red ligeramente distinta y sobre
todo en el empleo de diferentes protocolos de
radio (W-CDMA).

Logotipo Para Identificar las terminales y sistemas


compatibles

F.B.Z. / O.E.B.Z.

19

Modem GSM
El modem GSM es un dispositivo que permite
una comunicacin entre distintas redes
analgicas aplicando el sistema estandard GSM
para una comunicacin con telfonos mviles.

Enfora GSM1218
Quad-Band SA-GL

F.B.Z. / O.E.B.Z.

20

Modem GSM
SISTEMA GSM

F.B.Z. / O.E.B.Z.

21

Modem GSM
Modem GSM para impresos MultiTech

F.B.Z. / O.E.B.Z.

22

Comandos AT
Los comandos AT son instrucciones codificadas
que conforman un lenguaje de comunicacin
entre el hombre y un terminal modem.
En un principio, el juego de comandos AT fue
desarrollado en 1977 por Dennis Hayes como
un interfaz de comunicacin con un modem
para as poder configurarlo y proporcionarle
instrucciones, tales como marcar un nmero de
telfono. Ms adelante, con el avance del
baudio, fueron las compaas Microcomm y US
Robotics las que siguieron desarrollando y
expandiendo el juego de comandos hasta
universarlo.
Los comandos AT se denominan as por la
abreviatura de attention.

F.B.Z. / O.E.B.Z.

23

Comandos AT
Aunque la finalidad principal de los comandos
AT es la comunicacin con modems, la telefona
mvil GSM tambin ha adoptado como estandar
este lenguaje para poder comunicarse con sus
terminales. De esta forma, todos los telfonos
mviles GSM poseen un juego de comandos AT
especfico que sirve de interfaz para configurar y
proporcionar instrucciones a los terminales. Este
juego de instrucciones puede encontrarse en la
documentacin tcnica de los terminales GSM y
permite acciones tales como realizar llamadas
de datos o de voz, leer y escribir en la agenda
de contactos y enviar mensajes SMS, adems
de muchas otras opciones de configuracin del
terminal.

F.B.Z. / O.E.B.Z.

24

Comandos AT
Los comandos AT, poseen en su mayora un prefijo dado por
AT. Cada accin que se desee viene precedida por este
prefijo. As por ejemplo, si se quiere obtener informacin de
identificacin del fabricante, se debe ingresar el comando
AT+CGMI, donde en este caso se obtendr como respuesta
Enfora, Inc.. Si se desea informacin sobre la identificacin
del modelo se debe ingresar AT+CGMM, obteniendo como
respuesta Enabler-II G Mdem. Los comandos se pueden
ingresar tanto con minsculas como con maysculas. En el
hyperterminal, el ejemplo se vera algo como:

F.B.Z. / O.E.B.Z.

25

Comandos AT
Algunos comandos, llevan al final un signo de interrogacin (?).
Esto quiere decir que se est pidiendo informacin. Mientras
que un signo igual (=) quiere decir que se est configurando un
parmetro, donde luego del signo igual se ingresa el valor o
valores de los parmetros separados por coma que se desean
ajustar

En el ejemplo anterior, el primer comando (at+fclass=?)


pregunta por los posibles modos de operacin en que puede
estar, mientras que (at+fclass?) pregunta por el modo actual
de operacin, donde el mdem responde con un 0, es decir, se
encuentra en el modo DATA. Luego se pide que cambie el
modo a VOICE, con el valor dado de 8 (at+fclass=8). Se vuelve
a preguntar para verificar que la nueva configuracin haya
tenido efecto. Algunos comandos AT se pueden configurar con
alguna palabra en vez de usar
nmeros.
F.B.Z. / O.E.B.Z.
26

CARACTERISTICAS GENERALES DEL MODEM


GSM 1218
Para el desarrollo de aplicaciones se utilizara el Modem
Enfora GSM1218

F.B.Z. / O.E.B.Z.

27

Configuracin previa del


hyperterminal.
El hyperterminal se utiliza para enviar comandos AT al mdulo
GSM1218, por medio de los cuales se permite el manejo de
Todas las funcionalidades de ste. Para ingresar al
Hyperterminal si tiene el sistema Operativo Windows XP, se
ingresa
por
Inicio->Accesorios->Comunicaciones>Hyperterminal. Aparecer una pantalla pidiendo un nombre
para la conexin. En este ejemplo se le puso gsm1218. Luego
aparecer una pantalla como la siguiente:

F.B.Z. / O.E.B.Z.

28

Configuracin previa del


hyperterminal.

Se puede bajar de Internet El Hyperterminal para windows


Vista y Windows 7 y trabajar de igual forma como se
trabajaba en windows XP.

F.B.Z. / O.E.B.Z.

29

Configuracin previa del


hyperterminal.

Se debe tener especial cuidado en la configuracin,


especialmente en Bits per second, donde si es primera vez
que ocupa el mdem, la opcin por defecto es de 115200, en
otro caso ocupe la velocidad configurada por Usted. En Data
bits, Parity y Stop bits la opcin por defecto es 8, None y 1.
En Flow Control debe usarse la opcin Hardware. Presione
OK y la conexin est lista.
Si la conexin serial utiliza slo 3 cables (RX, TX y GND), se
recomienda desactivar la opcin Flow Control. Si se utiliza
desde una placa, circuito o microcontrolador en que slo se
utilizan 3 cables, se debe desactivar el control de flujo desde el
mdem ingresando AT+IFC=0,0 (se ve ms adelante).
F.B.Z. / O.E.B.Z.

30

Conexin Enfora SA-GL mdulo


GSM1218
Primeramente se debe realizar toda la conexin del mdulo. Para
ello, antes de conectar la fuente, se debe conectar el cable de
puerto serial desde el computador al modulo. De ah se conecta
la antena y luego se introduce la tarjeta SIM. Antes de conectar la
fuente, se debe tener lista la conexin al hyperterminal, donde
aparecer el siguiente mensaje al conectar la alimentacin al
modulo GSM1218:

AT-Command Interpreter ready


Para verificar la correcta lectura del mdulo o MDEM se debe
ingresar el comando AT, debindose obtener un OK como
respuesta. En caso de que no se vean las teclas que se escriben,
pero al presionar ENTER aparece un OK o algn otro mensaje, se
debe ingresar ATE1. O de lo contrario las teclas que se escriben
aparecen repetidas se debe ingresar ATE0,donde se tendr
como respuesta un OK.

En caso de que no aparezca nada al escribir, ni siquiera un OK


cuando se presiona ENTER, entonces se debe cambiar la
velocidad del puerto serial.

F.B.Z. / O.E.B.Z.

31

CONFIGURACION INICIAL DEL MODEM PARA


TRABAJAR CON MICROCONTROLADORES
Se configura inicialmente el modem usando el Hyperterminal para
que este trabaje con el microcontrolador y se ejecuta los siguientes
comandos :

AT+IFC=0,0
:Elimina control de flujo
AT+CNMI=1,2,0,0,0 : Los mensajes van directo al puerto
serial del modem
AT+IPR=4800
: Se configura velocidad a 4800b/s
ATE0
: Se elimina el eco
AT&W
: Se graba todo

F.B.Z. / O.E.B.Z.

32

APLICACIONES GSM CON


MICROCONTROLADORES PIC16F877A

F.B.Z. / O.E.B.Z.

33

IMPLEMENTAR CKTO GNRL


Se recomienda Implementar el circuito que se muestra el cual se
utilizara para todas la aplicaciones que se muestran en esta
publicacin. Se iniciara con aplicaciones sencillas para luego llegar a las
aplicaciones con GSM y GPS

F.B.Z. / O.E.B.Z.

34

Programas de Test del Ckto Gnrl


Programa para probar el LCD

F.B.Z. / O.E.B.Z.

35

Programas de Test del Ckto Gnrl


Programa para probar el LCD y salidas Digitales

F.B.Z. / O.E.B.Z.

36

Programas de Test del Ckto Gnrl


Programa para probar el LCD y salidas Digitales

F.B.Z. / O.E.B.Z.

37

Programas de Test del Ckto Gnrl


Programa para probar el LCD y Entradas Digitales

F.B.Z. / O.E.B.Z.

38

Programas de Test del Ckto Gnrl


Programa para probar el LCD y salidas Digitales

F.B.Z. / O.E.B.Z.

39

Programas de Test del Ckto Gnrl


Programa para probar el LCD y Entradas Analgicas

F.B.Z. / O.E.B.Z.

40

Programas de Test del Ckto Gnrl


Programa para probar el LCD y Entradas Analgicas

F.B.Z. / O.E.B.Z.

41

Programas de Test del Ckto Gnrl


Programa para probar el LCD e Interrupciones

F.B.Z. / O.E.B.Z.

42

Programas de Test del Ckto Gnrl


Programa para probar el LCD e Interrupciones

F.B.Z. / O.E.B.Z.

43

Programas de Test del Ckto Gnrl


Programa para probar el LCD y envo de datos
Serialmente interfaz RS232

F.B.Z. / O.E.B.Z.

44

Programas de Test del Ckto Gnrl


Programa para probar el LCD y envo de datos
Serialmente interfaz RS232

F.B.Z. / O.E.B.Z.

45

APLICACIN 1 :Mediantes uso SMS


ON /Off salidas digitales , leer entradas digitales y analgicas.

Mediante el Uso de un SMS se debe realizar lo siguiente:


Si SMS recibido por la tarjeta es :
*RA0 : Microcontrolador lee las entradas digitales y analgicas y enva un SMS con el valor de
las I/O digitales y analgicas
*WHn : Microcontrolador enciende LED en PORTD. n=1,2,3,4 , (Portd.0
Portd.1,Portd.2;Portd.3)
*WLn : Microcontrolador apaga LED en PORTD. n=1,2,3,4 , (Portd.0 Portd.1,Portd.2;Portd.3)

F.B.Z. / O.E.B.Z.

46

CODIGO DE PROGRAMA
EN PICBASIC PRO
Declaracin de variables que se utilizaran en el Programa y
configuracin de los puertos para el uso del LCD y ADC
Interno.

F.B.Z. / O.E.B.Z.

47

CODIGO DE PROGRAMA
EN PICBASIC PRO
Se muestra programa Principal en la cual el microcontrolador esta a la espera de recibir
comandos, la velocidad de comunicacin es de 4800 b/s.

F.B.Z. / O.E.B.Z.

48

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de programa para leer 02 entradas analgicas y leer
el estado de las entradas y salidas digitales.
Las entradas son : PortC.0, PortC.1, PortC.2, PortC.3
Las Salidas son: PortD.0, PortD.1, PortD.2, PortD.3.

F.B.Z. / O.E.B.Z.

49

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de Programa que enciende o apaga los leds considerados Salidas
Digitales ubicados en los Puertos D.0,D.1,D.2,D.3 y Esto lo realiza Segn
Comando *WHn Encender, *WLn apagar.
La variable D1 verifica que el carcter es H o L y la variable D2 verifica el
carcter numero entre 1 y 4.

F.B.Z. / O.E.B.Z.

50

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de Programa que enva mensaje de Texto SMS mediante el Modem
Enfora conectado al Puerto B.6. El SMS contiene el estado de las entradas
Analgicas, entradas Digitales y las salidas digitales.
Para enviar el SMS se utiliza el comando AT: at+cmgs.
Despus de enviar SMS se visualiza en el LCD lo enviando, estas rutinas son
llamadas cuando se recibe el SMS con el comando : *RA0

F.B.Z. / O.E.B.Z.

51

APLICACIN :Mediantes uso SMS


ON /Off salidas digitales , leer entradas digitales y analgicas.
USO COMPIM

Para realizar la Simulacin usando el COMPIM, el Modem Enfora se ha


conectado al Puerto RS232 Serial de al PC, si la PC no Tuviera Puerto Serial
solo USB, se utiliza convrsor RS232 a USB. Luego se configura el COMPIM
con el Nombre del puerto que se esta utilizando COM1, 2 etc, la velocidad
ha 48000 b/s. El programa del microcontrolador que se ejecute puede ser
cualquiera que se encuentre en esta publicacin.

F.B.Z. / O.E.B.Z.

52

APLICACIN 2: Mediantes uso SMS : ON /Off salidas digitales ,


leer entradas digitales y analgicas. Mostrar en LCD cada 15 el
estados de la I/O Analgicas y Digitales

Mediante el Uso de un SMS se debe realizar lo siguiente:


Si SMS recibido por la tarjeta es :
*RA0 : Microcontrolador lee las entradas digitales y analgicas y enva un SMS con el valor de
la s I/O digitales y analgicas
*WHn : Microcontrolador enciende LED en PORTD. n=1,2,3,4 , (Portd.0
Portd.1,Portd.2;Portd.3)
*WLn : Microcontrolador apaga LED en PORTD. n=1,2,3,4 , (Portd.0 Portd.1,Portd.2;Portd.3)
Mostrar en LCD cada 15 el estado de las I/O digitales y Analgicas.

F.B.Z. / O.E.B.Z.

53

CODIGO DE PROGRAMA
EN PICBASIC PRO
Declaracin de variables que se utilizaran en el Programa y
configuracin de los puertos para el uso del LCD y ADC Interno

F.B.Z. / O.E.B.Z.

54

CODIGO DE PROGRAMA
EN PICBASIC PRO
Se muestra programa Principal en la cual el microcontrolador esta a la espera de recibir
comandos, la velocidad de comunicacin es de 4800 b/s. Si no se recibe nada en 15
segundos se lee el estado de las I/O digitales y analogicas para luego mostrarlas en el
LCD.

F.B.Z. / O.E.B.Z.

55

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de programa para leer 02 entradas analgicas y leer
el estado de las entradas y salidas digitales.
Las entradas son : PortC.0, PortC.1, PortC.2, PortC.3
Las Salidas son: PortD.0, PortD.1, PortD.2, PortD.3.

F.B.Z. / O.E.B.Z.

56

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de Programa que enciende o apaga los leds considerados Salidas
Digitales ubicados en los Puertos D.0,D.1,D.2,D.3 y Esto lo realiza Segn
Comando *WHn Encender, *WLn apagar.
La variable D1 verifica que el carcter es H o L y la variable D2 verifica el
carcter numero entre 1 y 4.

F.B.Z. / O.E.B.Z.

57

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de Programa que enva mensaje de Texto SMS mediante el Moden
Enfora conectado al Puerto B.6. El SMS contiene el estado de las entradas
Analgicas, entradas Digitales y las salidas digitales.
Para enviar el SMS se utiliza el comando AT: at+cmgs, estas rutinas son
llamadas cuando se recibe el SMS con el comando : *RA0

Cdigo que se ejecuta cuando no se recibe ningn comando en 15 segundos.

F.B.Z. / O.E.B.Z.

58

APLICACIN 3: Mediantes uso SMS : ON /Off salidas digitales , leer entradas


digitales y analgicas. Mostrar en LCD cada 15 el estados de la I/O Analgicas y
Digitales . Encender y apagar un Led mediante un llamada (RING).

Mediante el Uso de un SMS se debe realizar lo siguiente:


Si SMS recibido por la tarjeta es :
*RRA0 : Microcontrolador lee las entradas digitales y analgicas y enva un SMS con el valor
de la s I/O digitales y analgicas
*RWHn : Microcontrolador enciende LED en PORTD. n=1,2,3,4 , (Portd.0
Portd.1,Portd.2;Portd.3)
*RWLn : Microcontrolador apaga LED en PORTD. n=1,2,3,4 , (Portd.0
Portd.1,Portd.2;Portd.3)
Mostrar en LCD cada 15 el estado de las I/O digitales y Analgicas.
SI Recibe un RING Enciende o apaga led ubicado en el puerto D.0

F.B.Z. / O.E.B.Z.

59

CODIGO DE PROGRAMA
EN PICBASIC PRO
Declaracin de variables que se utilizaran en el Programa y
configuracin de los puertos para el uso del LCD y ADC
Internos

F.B.Z. / O.E.B.Z.

60

CODIGO DE PROGRAMA
EN PICBASIC PRO
Se muestra programa Principal en la cual el microcontrolador esta a la espera de recibir
comandos, la velocidad de comunicacin es de 4800 b/s. Si no se recibe nada en 15
segundos se lee el estado de las I/O digitales y analgicas para luego mostrarlas en el
LCD.

F.B.Z. / O.E.B.Z.

61

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de programa para leer 02 entradas analgicas y leer
el estado de las entradas y salidas digitales.
Las entradas son : PortC.0, PortC.1, PortC.2, PortC.3
Las Salidas son: PortD.0, PortD.1, PortD.2, PortD.3.

F.B.Z. / O.E.B.Z.

62

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de Programa que enciende o apaga los leds considerados Salidas
Digitales ubicados en los Puertos D.0,D.1,D.2,D.3 y Esto lo realiza Segn
Comando RWHn Encender, RWLn apagar.
La variable D1 verifica que el carcter es H o L y la variable D2 verifica el
carcter numero entre 1 y 4.

F.B.Z. / O.E.B.Z.

63

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de Programa que enva mensaje de Texto SMS mediante el Modem
Enfora conectado al Puerto B.6. El SMS contiene el estado de las entradas
Analgicas, entradas Digitales y las salidas digitales.
Para enviar el SMS se utiliza el comando AT: at+cmgs. estas rutinas son
llamadas cuando se recibe el SMS con el comando : RRA0

Cdigo que se ejecuta cuando no se recibe ningn comando en 15 segundos.

F.B.Z. / O.E.B.Z.

64

APLICACIN 4: Mediantes uso SMS : ON /Off salidas digitales , leer entradas digitales y
analgicas. Mostrar en LCD cada 15 el estados de la I/O Analgicas y Digitales .
Encender y apagar un Led mediante un llamada (RING). Se le agrega un Botn de
pnico se usara Interrupciones. Este botn obligara al microcontrolador ha enviar
SMS y una llamada de alarma.

F.B.Z. / O.E.B.Z.

65

CODIGO DE PROGRAMA
EN PICBASIC PRO
Declaracin de variables que se utilizaran en el Programa
y configuracin de los puertos para el uso del LCD y ADC
interno

F.B.Z. / O.E.B.Z.

66

CODIGO DE PROGRAMA
EN PICBASIC PRO
Se muestra programa Principal en la cual el microcontrolador esta a la espera de
recibir comandos, la velocidad de comunicacin es de 4800 b/s. Si no se recibe nada
en 15 segundos se lee el estado de las I/O digitales y analgicas para luego
mostrarlas en el LCD. Se habilita la interrupcin por el Puerto PortB.0

F.B.Z. / O.E.B.Z.

67

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de programa detecta los comandos RRA0, RRWH,RRWL , y RING.
Para ejecutar rutina cuando recibe una llamada verifica que la variable D0=I
si cumple esta condicin en dos timbradas PortD.0 se pone en ON y en 4
Timbradas PortD.0 se pone OFF.

F.B.Z. / O.E.B.Z.

68

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de programa para leer 02 entradas analgicas y
leer el estado de las entradas y salidas digitales.
Las entradas son : PortC.0, PortC.1, PortC.2, PortC.3
Las Salidas son: PortD.0, PortD.1, PortD.2, PortD.3.

F.B.Z. / O.E.B.Z.

69

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de Programa que enciende o apaga los leds considerados Salidas
Digitales ubicados en los Puertos D.0,D.1,D.2,D.3 y Esto lo realiza Segn
Comando RWHn Encender, RWLn apagar.
La variable D1 verifica que el carcter es H o L y la variable D2 verifica el
carcter numero entre 1 y 4.

F.B.Z. / O.E.B.Z.

70

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de Programa que enva mensaje de Texto SMS mediante el Modem
Enfora conectado al Puerto B.6. El SMS contiene el estado de las entradas
Analgicas, entradas Digitales y las salidas digitales.
Para enviar el SMS se utiliza el comando AT: at+cmgs. estas rutinas son
llamadas cuando se recibe el SMS con el comando : RRA0

Cdigo que se ejecuta cuando no se recibe ningn comando en 15 segundos.

F.B.Z. / O.E.B.Z.

71

CODIGO DE PROGRAMA
EN PICBASIC PRO
Esta rutina se ejecuta cuando se produce una interrupcin o
sea presionando el Botn denominado pnico. Al producirse
una interrupcin el microcontrolador enva aun sms de
auxilio y una llamada a un numero predeterminado.

F.B.Z. / O.E.B.Z.

72

APLICACIN 5: Mediantes uso SMS : ON /Off salidas digitales , leer entradas


digitales y analgicas. Mostrar en LCD cada 15 el estados de la I/O Analgicas y
Digitales . Encender y apagar un Led mediante un llamada (RING). Se le agrega un
Botn de pnico
se usara Interrupciones. Este botn obligara al
microcontrolador ha enviar SMS y una llamada de alarma. Al sistema se le
agregado unos setpoint para los canales analgicos . Si los valores de las entradas
analgicas son mayores a los establecidos o alguna entrada digital se activa, el
sistema emitir una alarma enviando SMS y llamadas cada cierto tiempo. El
sistema tambin tiene la posibilidad de deshabilitar la alarma mediante un
comando de SMS.

F.B.Z. / O.E.B.Z.

73

CODIGO DE PROGRAMA
EN PICBASIC PRO
Configuracin de los puertos para el uso del LCD y ADC
Interno.

F.B.Z. / O.E.B.Z.

74

CODIGO DE PROGRAMA
EN PICBASIC PRO
Declaracin de Variables a utilizar y habilitacin de la
Interrupcin por el puerto B.0

F.B.Z. / O.E.B.Z.

75

CODIGO DE PROGRAMA
EN PICBASIC PRO
Se muestra programa Principal en la cual el microcontrolador esta a la espera de recibir
comandos, la velocidad de comunicacin es de 4800 b/s. Si no se recibe nada en 20
segundos se lee el estado de las I/O digitales y analgicas para luego mostrarlas en el
LCD. Si recibe el Comando RRA0 ejecuta las rutina leer adc , leer entradas digitales y
enviar sms con los valores ledos.

F.B.Z. / O.E.B.Z.

76

CODIGO DE PROGRAMA
EN PICBASIC PRO
Se muestran las rutinas para los comandos RING y RA10,
RA00 estos dos ltimos sirven para activar y desactivar la
alarma del sistema.

F.B.Z. / O.E.B.Z.

77

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de Programa que lee estados de la entradas y salidas digitales,
enciende o apaga los leds considerados Salidas Digitales ubicados en los
Puertos D.0,D.1,D.2,D.3 y Esto lo realiza Segn Comando RWHn Encender,
RWLn apagar.
La variable D1 verifica que el carcter es H o L y la variable D2 verifica el
carcter numero entre 1 y 4.

F.B.Z. / O.E.B.Z.

78

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de Programa que enva mensaje de Texto SMS mediante el Modem
Enfora conectado al Puerto B.6. El SMS contiene el estado de las entradas
Analgicas, entradas Digitales y las salidas digitales.
Para enviar el SMS se utiliza el comando AT: at+cmgs.
Estas rutinas son llamadas cuando se recibe el SMS con el comando : RRA0

F.B.Z. / O.E.B.Z.

79

CODIGO DE PROGRAMA
EN PICBASIC PRO
La Rutina No_dato1: Se ejecuta cada 20 segundos, y tambin se muestra que
se habilita la alarma cada 5 minutos para que enve SMS o llamada una vez
activada la alarma por variacin en entradas digitales y/o analgicas.

Esta rutina se ejecuta cuando se produce una interrupcin o sea presionando el Botn
denominado pnico. Al producirse una interrupcin el microcontrolador enva aun sms
de auxilio y una llamada a un numero predeterminado.

F.B.Z. / O.E.B.Z.

80

CODIGO DE PROGRAMA
EN PICBASIC PRO
Rutina de Alarma que se activa cuando las variables
analgicas superan al Set Point o las entradas cambian de
estado 0 a 1.
Al activarse la alarma enva un SMS con el valor de las
variables y luego realiza una llamada. Este proceso lo
realiza 02 veces.

F.B.Z. / O.E.B.Z.

81

GPS
El Global Positioning System (GPS) o
Sistema de Posicionamiento Global (ms
conocido con las siglas GPS, aunque su
nombre correcto es NAVSTAR-GPS) es un
sistema global de navegacin por satlite
(GNSS) que permite determinar en todo el
mundo la posicin de un objeto, una persona,
un vehculo o una nave, con una precisin
hasta de centmetros, usando GPS diferencial,
aunque lo habitual son unos pocos metros.
Aunque su invencin se atribuye a los
gobiernos francs y belga, el sistema fue
desarrollado e instalado, y actualmente es
operado por el Departamento de Defensa de
los Estados Unidos.

F.B.Z. / O.E.B.Z.

82

GPS
El GPS funciona mediante una red de 27
satlites (24 operativos y 3 de respaldo) en
rbita sobre el globo, a 20.200 km, con
trayectorias sincronizadas para cubrir toda la
superficie de la Tierra.
Cuando se desea determinar la posicin, el
receptor que se utiliza para ello localiza
automticamente como mnimo tres satlites
de la red, de los que recibe unas seales
indicando la posicin y el reloj de cada uno
de ellos. Con base en estas seales, el
aparato sincroniza el reloj del GPS y calcula
el retraso de las seales; es decir, la
distancia al satlite.

F.B.Z. / O.E.B.Z.

83

GPS
Por "triangulacin" calcula la posicin en que
ste se encuentra. La triangulacin en el
caso del GPS, a diferencia del caso 2-D que
consiste en averiguar el ngulo respecto de
puntos conocidos, se basa en determinar la
distancia de cada satlite respecto al punto
de medicin. Conocidas las distancias, se
determina fcilmente la propia posicin
relativa respecto a los tres satlites.
Conociendo adems las coordenadas o
posicin de cada uno de ellos por la seal
que emiten, se obtiene la posicin absoluta o
coordenadas reales del punto de medicin.
Tambin se consigue una exactitud extrema
en el reloj del GPS, similar a la de los relojes
atmicos que llevan a bordo cada uno de los
satlites.

F.B.Z. / O.E.B.Z.

84

GPS

La antigua Unin Sovitica tena un


sistema similar llamado GLONASS, ahora
gestionado por la Federacin Rusa.
Actualmente la Unin Europea est
desarrollando su propio sistema de
posicionamiento por satlite, denominado
Galileo.

F.B.Z. / O.E.B.Z.

85

Historia
En 1957 la Unin Sovitica lanz al espacio el
satlite Sputnik I, que era monitorizado
mediante la observacin del Efecto Doppler de
la seal que transmita. Debido a este hecho,
se comenz a pensar que, de igual modo, la
posicin de un observador podra ser
establecida mediante el estudio de la
frecuencia Doppler de una seal transmitida
por un satlite cuya rbita estuviera
determinada con precisin.
La Armada estadounidense rpidamente
aplic esta tecnologa, para proveer a los
sistemas de navegacin de sus flotas de
observaciones de posiciones actualizadas y
precisas. As surgi el sistema TRANSIT, que
qued operativo en 1964, y hacia 1967 estuvo
disponible, adems, para uso comercial.

F.B.Z. / O.E.B.Z.

86

Historia
Las actualizaciones de posicin, en ese
entonces, se encontraban disponibles cada 40
minutos y el observador deba permanecer
casi esttico para poder obtener informacin
adecuada.
Posteriormente, en esa misma dcada y
gracias al desarrollo de los relojes atmicos,
se dise una constelacin de satlites,
portando cada uno de ellos uno de estos
relojes y estando todos sincronizados con
base en una referencia de tiempo
determinada.

F.B.Z. / O.E.B.Z.

87

Historia
En 1973 se combinaron los programas de la Armada
y el de la Fuerza Area de los Estados Unidos (este
ltimo consistente en una tcnica de transmisin
codificada que provea datos precisos usando una
seal modulada con un cdigo de ruido pseudoaleatorio (PRN = Pseudo-Random Noise), en lo que
se conoci como Navigation Technology Program,
posteriormente renombrado como NAVSTAR GPS.
Entre 1978 y 1985 se desarrollaron y lanzaron once
satlites prototipo experimentales NAVSTAR, a los
que siguieron otras generaciones de satlites, hasta
completar la constelacin actual, a la que se declar
con capacidad operacional inicial en diciembre de
1993 y con capacidad operacional total en abril de
1995.
En 1994, este pas ofreci el servicio normalizado de
determinacin de la posicin.

F.B.Z. / O.E.B.Z.

88

Caractersticas, tcnicas y
prestaciones
El Sistema Global de Navegacin por Satlite lo
componen:
Sistema de satlites. Est formado por 24 unidades con
trayectorias sincronizadas para cubrir toda la superficie
del globo terrqueo. Ms concretamente, repartidos en 6
planos orbitales de 4 satlites cada uno. La energa
elctrica que requieren para su funcionamiento la
adquieren a partir de dos paneles compuestos de celdas
solares adosados a sus costados.
Estaciones terrestres. Envan informacin de control a
los satlites para controlar las rbitas y realizar el
mantenimiento de toda la constelacin.
Terminales receptores: Indican la posicin en la que
estn; conocidas tambin como Unidades GPS, son las
que podemos adquirir en las tiendas especializadas.

F.B.Z. / O.E.B.Z.

89

Caractersticas, tcnicas y
prestaciones

Operadora de satlites
controlando la constelacin
NAVSTAR-GPS, en la Base
Area de Schriever
Lanzamiento de satlites para
la constelacin NAVSTAR-GPS
mediante un cohete Delta.

F.B.Z. / O.E.B.Z.

90

Segmento espacial

Satlites en la constelacin: 24 (4 x 6 rbitas)


Altitud: 20.200 km
Perodo: 11 h 56 min
Inclinacin: 55 grados (respecto al ecuador
terrestre).
Vida til: 7,5 aos
Segmento de control (estaciones terrestres)
Estacin principal: 1
Antena de tierra: 4
Estacin monitora (de seguimiento): 5

F.B.Z. / O.E.B.Z.

91

Segmento espacial
Seal RF
Frecuencia portadora:
Civil - 1575,42 MHz (L1). Utiliza el Cdigo de
Adquisicin Aproximativa (C/A)
Militar 1227,60 MHz (L2). Utiliza el Cdigo de
Precisin (P), cifrado.
Nivel de potencia de la seal: -160 dBW (en
superficie tierra)
Polarizacin: circular dextrgira Exactitud
Posicin: aproximadamente 15 m (el 95%)
Hora: 1 ns
Cobertura: mundial
Capacidad de usuarios: ilimitada
Sistema de coordenadas:
Sistema Geodsico Mundial 1984 (WGS84)

F.B.Z. / O.E.B.Z.

92

Evolucin del sistema GPS

El GPS est evolucionando hacia un sistema ms


slido (GPS III), con una mayor disponibilidad y que
reduzca la complejidad de las aumentaciones GPS.
Algunas de las mejoras previstas comprenden:
Incorporacin de una nueva seal en L2 para uso civil.
Adicin de una tercera seal civil (L5): 1176,45 MHz
Proteccin y disponibilidad de una de las dos nuevas
seales para servicios de Seguridad Para la Vida
(SOL).
Mejora en la estructura de seales.
Incremento en la potencia de seal (L5 tendr un nivel
de potencia de -154 dB).
Mejora en la precisin (1 5 m).
Aumento en el nmero de estaciones monitorizadas:
12 (el doble)
Permitir mejor interoperabilidad con la frecuencia L1
de Galileo

F.B.Z. / O.E.B.Z.

93

Evolucin del sistema GPS

El programa GPS III persigue el objetivo de garantizar que


el GPS satisfar requisitos militares y civiles previstos
para los prximos 30 aos. Este programa se est
desarrollando para utilizar un enfoque en 3 etapas (una de
las etapas de transicin es el GPS II); muy flexible,
permite cambios futuros y reduce riesgos. El desarrollo de
satlites GPS II comenz en 2005, y el primero de ellos
estar disponible para su lanzamiento en 2012, con el
objetivo de lograr la transicin completa de GPS III en
2017.Los desafos son los siguientes:
Representar los requisitos de usuarios, tanto civiles como
militares, en cuanto a GPS.
Limitar los requisitos GPS III dentro de los objetivos
operacionales.
Proporcionar flexibilidad que permita cambios futuros para
satisfacer requisitos de los usuarios hasta 2030.
Proporcionar solidez para la creciente dependencia en la
determinacin de posicin y de hora precisa como servicio
internacional.

F.B.Z. / O.E.B.Z.

94

Evolucin del sistema GPS

Receptor GPS

Estacin y receptor GPS


profesionales para precisiones
centimtricas.

F.B.Z. / O.E.B.Z.

95

Integracin con telefona mvil


Algunos celulares pueden vincularse a un
receptor GPS diseado a tal efecto. Suelen
ser mdulos independientes del telfono que
se comunican va inalmbrica bluetooth, o
implementados en el mismo terminal mvil, y
que le proporcionan los datos de
posicionamiento que son interpretados por un
programa de navegacin. Esta aplicacin del
GPS est particularmente extendida en los
telfonos mviles que operan con el sistema
operativo Symbian OS, y PDAs con el sistema
operativo Windows Mobile, aunque varias
marcas han lanzado modelos con un mdulo
GPS integrado con software GNU/Linux.

F.B.Z. / O.E.B.Z.

96

Aplicaciones

Civiles
Navegacin terrestre (y peatonal), martima y area.
Bastantes automviles lo incorporan en la actualidad,
siendo de especial utilidad para encontrar direcciones o
indicar la situacin a la gra.
Telfonos mviles.
Topografa.
Localizacin agrcola (agricultura de precisin),
ganadera y de fauna.
Salvamento y rescate.
Deporte, acampada y ocio.
Para localizacin de enfermos, discapacitados y
menores.
Aplicaciones cientficas en trabajos de campo.
Geocaching, actividad deportiva consistente en buscar
"tesoros" escondidos por otros usuarios.

F.B.Z. / O.E.B.Z.

97

Aplicaciones

Civiles
Se utiliza para rastreo y recuperacin de vehculos.
Navegacin Deportiva.
Deportes Areos: Parapente, Ala delta, Planeadores,
etc.
Existe quien dibuja usando tracks o juega utilizando el
movimiento como cursor (comn en los gps garmin).
Sistemas de gestin y seguridad de flotas.
Militares
Navegacin terrestre, area y martima.
Guiado de misiles y proyectiles de diverso tipo.
Bsqueda y rescate.
Reconocimiento y cartografa.
Deteccin de detonaciones nucleares.

F.B.Z. / O.E.B.Z.

98

APLICACIONES CON GPS SIRF

F.B.Z. / O.E.B.Z.

99

CARACTERISTICAS TECNICAS

F.B.Z. / O.E.B.Z.

100

CARACTERISTICAS TECNICAS

F.B.Z. / O.E.B.Z.

101

Mensaje de Salida $GPRMC

Para las aplicaciones que se desarrollaran con el


Microcontrolador y la PC se lee el mensaje $GPRMC y la cadena
de datos que se muestra.

F.B.Z. / O.E.B.Z.

102

LECTURA DE DATOS DEL GPS


Los datos del GPS se envan por el PIN TX (PIN 1) del Modulo PMB688, para enviar estos datos hacia la computadora mediante un
puerto de comunicaciones por ejemplo el COM2 (Pin RX) se utiliza un
Circuito Integrado 74HC14 que es un inversor con Smith Trigger y se
conecta como se muestra en el siguiente circuito:

F.B.Z. / O.E.B.Z.

103

LECTURA DE DATOS DEL GPS


Para Visualizar los datos en la PC se usa el Software Hyperterminal de
Windows y se configura un puerto de comunicaciones por ejemplo el
COM2 a 4800 b/s, 8bits de datos, 1 bit de Stop, uno de paridad sin
control de flujo.
Los datos que se muestran son como los que se muestran en la figura
siguiente.

Los datos que nos interesa son las lneas que comienzan con $GPRMC,

F.B.Z. / O.E.B.Z.

104

LECTURA DE DATOS DEL GPS USANDO


EL PROTEUS CON EL COMPIM

Se esta Utilizando el Puerto COM2 de la PC conectado fsicamente con


el GPS . El pin de TX del GPS con el Pin RX del COM2.
Se agrega el COMPIM al Esquema en PROTEUS y se le configura el
puerto virtual y el fsico (COM2, 4800 b/s, 8,1 no paridad y sin control
de flujo).
Se agrega el Virtual terminal de comunicaciones para visualizar los
datos. Y se lo configura igual que el COMPIN a 4800 b/s, 8,1 no paridad
y sin control de flujo
F.B.Z. / O.E.B.Z.

105

LECTURA DE DATOS DEL GPS USANDO


EL PROTEUS CON EL COMPIM

F.B.Z. / O.E.B.Z.

106

CONECTANDO EL GPS CON GOOGLE MAPS


USANDO VISUAL STUDIO 2008
Para conectar el GPS con el google maps mediante Visual Studio 2008 ,
primero se conecta el GPS al Puerto Serial RS232 de la PC si la
Computadora no tuviera puerto serial se conecta a un Puerto USB
disponible mediante un conversor USB 232.

F.B.Z. / O.E.B.Z.

107

CONECTANDO EL GPS CON GOOGLE MAPS


USANDO VISUAL STUDIO 2008
El programa bsicamente lee la cadena de datos ingresada por el
puerto Serial, luego se selecciona los datos que nos interesa
mostrar : Latitud, Longitud, Velocidad y se los colocan en cajas de
texto.

Los datos contenidos en la cajas de texto de latitud y longitud cada


cierto tiempo 10 a 20 segundos son llevadas al browser del google
maps con su formato respectivo.
Todo esto origina que cada 10 0 20 segundos se cargue el google
maps y se pueda observar el desplazamiento y velocidad del mvil
que tiene el GPS.

F.B.Z. / O.E.B.Z.

108

Desarrollo del Sistema GPS GOOGLE MAPS


Descripcin de la Pantalla Principal

A dems de los botones, etiquetas y cajas de texto se utiliza el


objeto webBrowser1, Serialport1, Timer1, Timer2
F.B.Z. / O.E.B.Z.

109

RUTINAS EN VB-2008
VARIABLES GENERALES

Si el GPS trabaja a otra velocidad cambiar 4800 por la velocidad que


corresponda

BOTON SALIR

F.B.Z. / O.E.B.Z.

110

RUTINAS EN VB-2008
RUTINA DE LISTBOX1:

F.B.Z. / O.E.B.Z.

111

RUTINAS EN VB-2008
RUTINA DEL BOTON PARAR/INICIAR:

F.B.Z. / O.E.B.Z.

112

RUTINAS EN VB-2008
RUTINA EN TIMER1

F.B.Z. / O.E.B.Z.

113

RUTINAS EN VB-2008
RUTINA EN TIMER1

F.B.Z. / O.E.B.Z.

114

RUTINAS EN VB-2008
RUTINA EN TIMER2

F.B.Z. / O.E.B.Z.

115

RUTINAS EN VB-2008
RUTINA EN BOTON MAPA X DIRECCIONES

F.B.Z. / O.E.B.Z.

116

RUTINAS EN VB-2008
RUTINA EN BOTON MAPA X Lat/Long

F.B.Z. / O.E.B.Z.

117

APLICACIONES GPS CON


MICROCONTROLADORES PIC16F877A

F.B.Z. / O.E.B.Z.

118

APLICACIN 1: MOSTRAR EN UN LCD LA UBICACIN


(LATITUD Y LONGITUD) ENVIADA POR GPS

Continuamente el GPS enva por su Pin de TX al Puerto RB5 datos que


se refieren a la Ubicacin, velocidad ,hora ,fecha etcpara nuestra
aplicacin nos interesa la Lnea de datos que empieza con $GPRMC;

F.B.Z. / O.E.B.Z.

119

CONECTANDO EL GPS CON GOOGLE MAPS


En la tarjeta el Puerto destinado para la PC se conecta al Puerto Serial
RS232 de la PC si la Computadora no tuviera puerto serial se conecta
a un Puerto USB disponible mediante un conversor USB 232. y se
ejecuta programa SSGMAP.

Como resultado se tiene un pequeo sistema Basado en GPS SIRF el


cual se visualiza en LCD la Ubicacin y tiene la Opcin de conectarse a
la PC para poder hacer un seguimiento de la ruta recorrida .

F.B.Z. / O.E.B.Z.

120

SE VISUALIZA EN UN LCD LA
UBICACION

F.B.Z. / O.E.B.Z.

121

COMUNICAICON SERIAL/USB GPS PC PIC CON


SOFTWARE DE SEGUIMIENTO DESARROLLADO EN
VISUAL BASIC 2008

F.B.Z. / O.E.B.Z.

122

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de programa para configurar el LCD y declaracin
de variables para lectura del GPS

F.B.Z. / O.E.B.Z.

123

CODIGO DE PROGRAMA
EN PICBASIC PRO

EN BASE HA ESTA TRAMA DE DATOS Y SEGUN NUESTRO CODIGO DE


PROGRAMA QUE EMPIEZA A LEER UNA VEZ RECIBIDO $GPRMC,

F.B.Z. / O.E.B.Z.

124

APLICACIN 2 : MOSTRAR EN UN LCD LA UBICACIN (LATITUD Y


LONGITUD) ENVIADA POR GPS USANDO PROTEUS -COMPIM

Como se explico anteriormente se conecta el GPS mediante el CI 74HC14


al puerto serial o USB usando conversor usb_232, luego en el COMPIM
del PROTEUS se configura el puerto virtual y fisico con iguales
caractristicas que el GPS 4800 b/s etc.
Se carga el programa :GPS_CIDT1:HEX en el PIC 16F877a y listo
F.B.Z. / O.E.B.Z.

125

CONECTANDO EL GPS CON GOOGLE MAPS ,VISUAL STUDIO


2008 Y EL PROTEUS CON EL COMPIM

Se esta Utilizando el Puerto COM2 de la PC conectado fsicamente con


el GPS . El pin de TX del GPS con el Pin RX del COM2.
Se agrega el COMPIM al Esquema en PROTEUS y se le configura el
puerto virtual y el fsico (COM2, 4800 b/s, 8,1 no paridad y sin control
de flujo).
Se crea 2 puertos virtuales COM5 y COM6 (Esto puede variar segn
computadora)para crear los puertos virtuales se utiliza el software
Virtual Serial Port (VSP). Se agrega otro COMPIM que se conecta en
PROTEUS- GPS-PIC se le configura el COM6 4800 b/s, 8,1 no paridad y
sin control de flujo, y al Programa de VISUAL se le indica que se
comunicara por el puerto COM5.
F.B.Z. / O.E.B.Z.
126

CONECTANDO EL GPS CON GOOGLE MAPS ,VISUAL


STUDIO 2008 Y EL PROTEUS CON EL COMPIM

Se visualiza el funcionamiento en paralelo del sistema realizado


en Visual Studio y PROTEUS-GPS-PIC mediante le uso del
COMPIM y Puertos virtuales seriales.
Se carga el programa :GPS_CIDT1:HEX en el PIC 16F877a y listo
F.B.Z. / O.E.B.Z.

127

CONECTANDO EL GPS CON GOOGLE MAPS ,VISUAL


STUDIO 2008 Y EL PROTEUS CON EL COMPIM

Se visualiza el funcionamiento en paralelo del sistema realizado en Visual


Studio y PROTEUS-GPS-PIC mediante le uso del COMPIM y Puertos
virtuales seriales. Recordar que los puertos virtuales trabajan en pareja, si
instala el puerto virtual COM3 se instala COM4.
Por lo tanto si en el PROTEUS el puerto virtual para la PC es COM3
entonces en el software de Visual Basic se selecciona en el ListBox1 el
COM4.
Observar que el Programa de Visual Basic si se muestra en el Listbox1 Los
puertos Virtuales Creados.
F.B.Z. / O.E.B.Z.

128

APLICACIN 3: MOSTRAR EN UN LCD LA UBICACIN (LATITUD


Y LONGITUD) Y VELOCIDAD EN Km/h ENVIADA POR GPS

Se agregado dos Push Boton en el puerto B1 y Puerto B2 los


cuales servirn para seleccionar lo que se va ha visualizar en el
LCD Ubicacin o velocidad.
F.B.Z. / O.E.B.Z.

129

APLICACIN 3: MOSTRAR EN UN LCD LA UBICACIN (LATITUD Y


LONGITUD) Y VELOCIDA EN Km/h ENVIADA POR GPS

A partir de la Posicin 38 de la trama de datos se tiene el dato de la


velocidad dado en Knots. (1knots =1.852Km/h)
Para nuestro caso se va utilizar knost desde 0.00 hasta 99.99. (0.00 Km/h
hasta 185 Km/h). Recodar tambin que el Pic Basic Pro no trabaja con punto
flotante.
Si los knots varia de 0.00 hasta 9.99 nuestro factor de conversin es 185 y se
usa los valores de las posiciones 38,40 y 41 como se indica en la siguiente
figura.

Si knots varia de 10.00 hasta 99.99 nuestro factor de conversin es 185 y se


usa los valores de las posiciones 38,39 , 41 y 42 como se indica en la
siguiente figura.

Parte de cdigo donde se hace la conversin de Knots ha Km/h

F.B.Z. / O.E.B.Z.

130

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo para configurar LCD y definicin de variables para
lectura del GPS, latitud, longitud y velocidad.

F.B.Z. / O.E.B.Z.

131

CODIGO DE PROGRAMA
EN PICBASIC PRO

F.B.Z. / O.E.B.Z.

132

CODIGO DE PROGRAMA
EN PICBASIC PRO

F.B.Z. / O.E.B.Z.

133

APLICACIONES GPS GSM CON


MICROCONTROLADORES PIC16F877A

F.B.Z. / O.E.B.Z.

134

APLICACIN 1 : Enviar va mensaje de texto SMS la


ubicacin (Latitud y Longitud). Visualiza en LCD la Ubicacin
y Velocidad cada 15.

Se tiene un sistema donde se tiene conectado un GPS y un


Modem GSM ENFORA MODEL GSM1218. El sistema enviara
un SMS con la Ubicacin Latitud y Longitud cuando reciba un
SMS con el comando *R
F.B.Z. / O.E.B.Z.

135

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo para configurar LCD y definicin de variables para
lectura del GPS, latitud, longitud . Velocidad.

F.B.Z. / O.E.B.Z.

136

CODIGO DE PROGRAMA
EN PICBASIC PRO

F.B.Z. / O.E.B.Z.

137

CODIGO DE PROGRAMA
EN PICBASIC PRO

F.B.Z. / O.E.B.Z.

138

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de Programa que envia ubicacin , longitud y
latitud.

F.B.Z. / O.E.B.Z.

139

CODIGO DE PROGRAMA
EN PICBASIC PRO

F.B.Z. / O.E.B.Z.

140

APLICACIN 2 : Enviar va mensaje de texto SMS la


ubicacin (Latitud y Longitud) y Velocidad Visualiza en LCD
la Ubicacin y Velocidad cada 15 segn botn presionado

Se tiene un sistema donde se tiene conectado un GPS y un


Modem GSM ENFORA MODEL GSM1218. El sistema enviara
un SMS con la Ubicacin Latitud y Longitud y Velocidad en
Km/h cuando reciba un SMS con el comando *R
F.B.Z. / O.E.B.Z.

141

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de Programa para Configuracin de LCD,
Declaracin de variables para la ubicacin y velocidad.

F.B.Z. / O.E.B.Z.

142

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de programa que esta a la espera de recibir Comando
*R, despus de recibir este comando llama a la rutina para
leer el GPS (ubicacin y Velocidad)

F.B.Z. / O.E.B.Z.

143

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de Programa para lectura del GPS, lee Ubicacin y
Velocidad en Km/h.

F.B.Z. / O.E.B.Z.

144

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de Programa para enviar ubicacin y velocidad mediante un
SMS y Modem GSM, para lo cual se utiliza el comando AT+CMGS

F.B.Z. / O.E.B.Z.

145

APLICACIN 3 : Enviar va mensaje de texto SMS la ubicacin (Latitud


y Longitud), Activa salidas digitales y lee entradas digitales y
Analgicas. Los comandos a enviar por SMS son: *RA0, *WHn, *WLn.
Visualiza en LCD cada 20 la Ubicacin.

F.B.Z. / O.E.B.Z.

146

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo para configurar LCD y ADC interno, definicin de
variables del ADC.

F.B.Z. / O.E.B.Z.

147

CODIGO DE PROGRAMA
EN PICBASIC PRO
Definicin de variables para Ubicacin del GPS, variables
para los Comandos (Do,D1,D2)

F.B.Z. / O.E.B.Z.

148

CODIGO DE PROGRAMA
EN PICBASIC PRO

F.B.Z. / O.E.B.Z.

149

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de programa para leer 02 entradas analgicas y leer
el estado de las entradas y salidas digitales.
Las entradas son : PortC.0, PortC.1, PortC.2, PortC.3
Las Salidas son: PortD.0, PortD.1, PortD.2, PortD.3.

F.B.Z. / O.E.B.Z.

150

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de Programa que enciende o apaga los leds considerados Salidas
Digitales ubicados en los Puertos D.0,D.1,D.2,D.3 y Esto lo realiza Segn
Comando *WHn Encender, *WLn apagar.
La variable D1 verifica que el carcter es H o L y la variable D2 verifica el
carcter numero entre 1 y 4.

F.B.Z. / O.E.B.Z.

151

CODIGO DE PROGRAMA
EN PICBASIC PRO
Cdigo de Programa para lectura del GPS

F.B.Z. / O.E.B.Z.

152

CODIGO DE PROGRAMA
EN PICBASIC PRO

F.B.Z. / O.E.B.Z.

153

También podría gustarte