Está en la página 1de 23

MANDO DE LA PLAY

STATION POR RADIO


FRECUENCIA

Miguel Colomina Benedet

30/05/2011
NDICE

1 - Objetivos y Estudio estado del arte

2 - Estudio de viabilidad

3 - Planificacin

4 - Esquema del proyecto (Schematic)

5 - PCB del proyecto (Layout)

6 - Imagen real del prototipo

7 - Software (Programa)

8 - Conclusiones
1 Objetivos y Estudio del arte.

1.1 Objetivos

El objetivo es hacer un mando a distancia por radiofrecuencia para el control de un


coche o de un robot sencillo, aunque se podra usar para controlar otros dispositivos
elctricos.

Mi motivacin principal es que al desarrollar un mando basado en enlaces de


radiofrecuencia, este podra ser utilizado en otros proyectos diferentes.

Aprender un poco sobre comunicacin inalmbrica entre microcontroladores.

1.2 Estado del arte

Existen algunos proyectos ya realizados basados en la misma tecnologa con la que se


pretende llevar a cabo el presente proyecto.

A continuacin se describen brevemente dichos proyectos

1.2.1 - Comunicacin con mdulos RF entre dos Pics. [1]

El siguiente proyecto est basado en la comunicacin de dos microcontroladores


Pics16f628A del fabricante microchip de forma inalmbrica con dos mdulos RF de
433,92 MHz en modulacin ASK: el TLP434A y RLP434A, del fabricante LAIPAC, que son
el transmisor y el receptor respectivamente.

El sistema descrito anteriormente enviar un cuarteto de bits, que se consiguen con cuatro
pulsadores, que posteriormente se puede ver en el microcontrolador receptor mediante 4
leds conectados a este.

La programacin del microcontrolador, se ha implementado en lenguaje C.

La estructura de este es el proyecto es muy similar al proyecto que se pretende desarrollar ya


que usa dos Pics, un emisor y un receptor RF en ASK y 4 botones que enciende unos leds. Ver
figuras 1 y 2.

Figura 1 Figura 2
1.2.2 - Manejo de un robot humanoide (figura 3) con el mando de Nintendo Wii. [2]

En este proyecto el cual est en venta, consta de un mando de la consola de Nintendo


Wii, un ordenador y un software descargable gratuito, un USB Bluetooth y otro USB de
infrarrojos, para el control de un robot humanoide.

El funcionamiento de este proyecto se basa en la conexin de un USB bluetooth para


conectar de forma inalmbrica el mando de la Wii con el ordenador y el software, y
con el de infrarrojos se manda al robot inalmbrico.

Figura 3

1.2.3 - Manejo de un robot hexpodo (figura 4) con mando de la Play 2 inalmbrico


(no oficial) o mando de la Wii. [3] Web donde aparecen los videos del proyecto con
los dos mandos diferentes. [4] Web del fabricante del robot.

Es parecido al anterior, tambin en venta. Pero en lugar de ser un robot humanoide es


un hexpodo el cual se ha adaptado para controlarlo con el mando de la Wii y un
mando inalmbrico comercial, no oficial de la Play 2.

En el caso del control con el mando de la Play el fabricante del robot proporciona el
software correspondiente. El cual se programa desde un ordenador. Pero el control
con el mando de la Wii ha sido desarrollado por un usuario particular por su cuenta.
Figura 4

1.3 Descripcin del proyecto

1.3.1 Explicacin breve

Para el desarrollar el proyecto, usare un mando viejo de la Play Station, se prefiere


utilizar este modelo porque es un mando muy conocido y con muchos botones, ya con
el espacio y los huecos para los joysticks y cmodo para cogerlo, as que se
aprovechara la carcasa y los botones de ste. Para el control de los botones, los
joysticks y del protocolo de comunicacin con un microcontrolador Pic 16f876, un
modulo emisor de radiofrecuencia de 433MHz en ASK del fabricante AUREL, los dos
joysticks analgicos que venan en el mando y tambin han sido reutilizados, y una pila
de 9v para la alimentacin del circuito pasando por un regulador de tensin LM2575
de National Semiconductors, para regular los 9V a los 5v que consume el Pic. La
programacin se implementar en lenguaje PIC BASIC

Si se hubiese dispuesto de ms tiempo de desarrollo. El mando hubiera comandado un


coche o robot sencillo. En cualquiera de los dos casos, estar alimentado con pilas.
Este contara tambin con otro Pic 16f876, un modulo receptor como el emisor de
433,92 MHz en ASK del fabricante AUREL, motores i o servos y el regulador o
reguladores de voltaje correspondientes. Ademas algn sensor para evitar que choque
contra objetos o que pueda funcionar autnomo sin necesidad de que est controlado
por el mando.

La programacin se implementar en lenguaje PIC BASIC

1.3.1 Esquema de bloques (Figura 5)


Figura 5

1.4 Componentes principales

1.4.1 Microcontroladores (Figura 6):

Un microcontrolador es un circuito
integrado o chip el cual podemos
comparar con un ordenador pero muy
simple, pequeo y barato, el cual se
puede programar fcilmente para que
hagan funciones especficas que el
programador desee. Y se pueden
programar con diferentes lenguajes de
programacin. Figura 6: Familia de microcontroladores PIC16F...

Incluye en su interior las tres unidades funcionales de un ordenador: unidad central de


procesamiento, memoria y unidades de E/S (entrada/salida). Los microcontroladores
se usan en automocin, en quipos de comunicacin y de telefona, en instrumentos
elctricos, en equipos mdicos e industriales de todo tipo, en electrodomsticos, en
juguetes, etc.

La CPU es el cerebro del microcontrolador y acta bajo el control del programa


almacenado en la memoria. La CPU se ocupa bsicamente de coger las instrucciones
del programa almacenadas en la memoria, interpretarlas y hacer que se ejecuten.

Memoria: Es donde se guarda el programa del microcontrolador, lo que ejecuta la CPU


para su funcionamiento. Tambin es donde se guardan los datos que necesita el
programa para funcionar.
Entradas y salidas: Tambin conocidos como puertos de E/S, generalmente agrupadas
en puertos de 8 bits de longitud, permiten leer datos del exterior o escribir en ellos
desde el interior del microcontrolador, el destino habitual es el trabajo con dispositivos
como rels, leds, pantallas, sensores de temperatura, humedad o cualquier otra cosa
que se le ocurra al programador.

Algunos puertos de E/S tienen caractersticas especiales que le permiten manejar


salidas con determinados requerimientos de corriente, o incorporan mecanismos
especiales de interrupcin para el procesador.

Tpicamente cualquier pin de E/S puede ser considerada E/S de propsito general, pero
como los microcontroladores no pueden tener infinitos pines, ni siquiera todos los
pines que queramos, las E/S de propsito general comparten los pines con otros ms
especficos como conversores analgico/digital. Para usar un pin con cualquiera de las
caractersticas a l asignadas debemos configurarlo mediante los registros destinados
a ellos.

Tambin disponen de puertos de comunicacin para comunicarse con otros


microcontroladores, ordenadores y otros equipos diversos. Como el Bus I2c, el USART,
etc.

1.4.2 Mdulos RF (Figura 7):

Los mdulos RF permiten el envi de


informacin y por tanto la
comunicacin entre dispositivos de
manera inalmbrica.

Esto se consigue porque se enva una


onda electromagntica de un punto a
otro. Algunas de sus frecuencias
pueden ser por ejemplo: 315 MHz;
433,92 MHz; 2,4 GHz.
Figura 7

Existen los sistemas analgicos y los digitales, los analgicos. En los analgicos la
informacin se enva directamente pasando por todos los estados posibles. Mientras
que en el digital esta informacin se codifica en 1 y 0, es decir solo dos estados
posibles. La analgica puede ser AM (amplitud modulada) [6] y FM (frecuencia
modulada) [7]. En el sistema digital los ms comunes son los ASK (amplitud modulada)
y FSK (frecuencia modulada). Los de amplitud modulada lo que hace es variar la
amplitud de la onda que se enva y el segundo frecuencia modulada lo que se hace es
en lugar de variar la amplitud de la onda, lo que se varia es la frecuencia de esta onda
que enviamos.

Bibliografa:
[1]http://www.ucontrol.com.ar/wiki/index.php?title=Comunicaci%C3%B3n_inal%C3%
A1mbrica_entre_PICs

[2] http://www.robodance.com/nintendo-wii-i-sobot.php

[3] http://hackaday.com/2009/04/05/wiimote-controlled-hexapods/

[4] http://www.lynxmotion.com/c-117-phoenix.aspx

- Microcontroladores:

[5] http://es.wikipedia.org/wiki/Microcontrolador

- Mdulos RF:

[6] http://en.wikipedia.org/wiki/Amplitude-shift_keying

[7] http://en.wikipedia.org/wiki/Frequency-shift_keying

2 Estudio de viabilidad.

2.1 Componentes:

1x Mando Play Station

2x joysticks analgicos

1x pilas 9V

1x Conector bornes pila 9V

1x Regulador de tensin LM2575 (SMD)

1x Pic 16f876A (SMD)

1x Cristal de 20 MHz (SMD)

1x Conector banda plana (SMD)

1x tira pins hembra

1x tira de pins macho

Condensadores: 2x 22pF (SMD)

1x 100nF (SMD)

1x 100F

1x 330F
Bobinas: 1x 330H, 0,9 A

Diodos: 1x 1N5819

1x 1N4007

1x Diodo led rojo cuadrado

Resistencias SMD: 2x 0, puentes

1x 150

18x 10K

Mdulos emisor y receptor de RF de la casa AUREL 433.92 MHz (ASK)

Placa de fibra de vidrio doble cara.

Cable

2.2 Herramientas (hardware y software)

2.2.1 Hardware necesario:

Realizacin de la pcb:

Impresora.

Papel trasparente.

Insoladora del taller de electrnica de la caparrella.

Revelador y atacador del taller de electrnica de la caparrella.

Minitaladro

Brocas de entre 0,75mm a 2mm, propias.

Soldador

Estao

Desarrollo del software del proyecto:

Programador Pickit 2 clone, propio.

Ordenador propio.

Pruebas y medidas:
Tester y osciloscopio, el primero propio, el segundo del taller de
electrnica.

Placa protoboard, propia.

2.2.2 Software:

Desarrollo de esquema elctrico y layout: Proteus Profesional

Desarrollo de software: Pic simulator IDE

Grabador de microcontroladores: PICKIT 2

2.3 Conocimientos:

Necesarios para el desarrollo de esquema elctrico y layout, con Proteus, Adquirido


el curso pasado del ciclo

Programacin del proyect Pic Basic, con Pic simulator IDE, adquirido el curso
pasado del ciclo y programacin de los mdulos RF adquisicin del mismo en un
futuro, este 2 curso en el crdito Diseo de prototipos.

2.4 Estudio de costes:

Producto RS Amidata Farnell mse bilbao


Cdigo Precio Precio Cdigo Precio Precio Precio Precio
sin IVA con IVA sin IVA con IVA sin IVA con IVA
Cristal 1 226-1869 1,6 1,88 1640878 1,70
20MHz 2,01
interruptor 1 702-3634 0,458 0,54 1123876 1,06 1,25
Emisor RF 1 11,50 13,57
Aurel
Receptor RF 1 6 7,08
Aurel
LM2575 1 460-972 6,00 7,08 1469170 6,80 8,02
Condensador 2 211-4886 0,071 71464 0,05
22pF 0,08 0,06
Condensador 1 1855321 0,48
100F 0.57
Condensador 1 703-7396 0,864 1144642 1,28
100F 1,02 1,51
Condensador 1 703-7242 0,343 1144688 0,42
330F 0,40 0,50
Bobina 1 715-6781 4,29 1077018 4,50
330H 5,06 5,31
Resistencias 18 1739026 0.12
10K 0.14
Diodo 1 486-4460 0,20 9801219 0,192
1N5819 0,24 0,23
TOTAL
Cantidades resaltadas son las 40,25
que se han adquirido

El resto de los componentes ya los posea con anterioridad o se han pedido en sample,
como es el caso del PIC16F876A (soic 300).
3 Planificacin.
4 Esquema del proyecto (Schematic).
5 PCB del proyecto (Layout).
5 Imagen real del prototipo.

Placa principal mando


Placa principal mando
7 Software (Programa).

Configuracin de puertos, conversores analgico- digital, frecuencia 20MHz


**************************************************************
Define CLOCK_FREQUENCY = 20
Hseropen 4800
ADCON1 = 0x0e
Config PORTB = Input
TRISC = %10111111
Config PORTA = Input

Definicin de variables
*************************************************************
Dim xi As Word
Dim yi As Word
Dim xd As Word
Dim yd As Word
Dim tri As Byte
Dim cir As Byte
Dim cua As Byte
Dim x As Byte
Dim arr As Byte
Dim aba As Byte
Dim izq As Byte
Dim der As Byte
Dim sel As Byte
Dim str As Byte
Dim ana As Byte
Dim l3 As Byte
Dim r3 As Byte
Dim l1 As Byte
Dim l2 As Byte
Dim r1 As Byte
Dim r2 As Byte
Dim contador As Byte
Dim grupo1 As Byte
Dim grupo2 As Byte
Dim envio1 As Byte
Dim envio2 As Byte
inicializacin de variables
grupo1 = 0
grupo2 = 0
envio1 = 0
envio2 = 0
inicio: inicio programa

grupo2 = 0
grupo1 = 0

Gosub leerjoystick subrutina de leer joystick analogicos

If PORTA.4 = 0 Then l3 = 1 relacionar cada Puerto del pic con el boton del mando
If PORTA.5 = 0 Then r3 = 1 si esta el puerto a 0 el botn esta apretado
If PORTB.0 = 0 Then r2 = 1
If PORTB.1 = 0 Then r1 = 1
If PORTB.2 = 0 Then tri = 1
If PORTB.3 = 0 Then cir = 1
If PORTB.4 = 0 Then x = 1
If PORTB.5 = 0 Then cua = 1
If PORTB.6 = 0 Then sel = 1
If PORTB.7 = 0 Then str = 1
If PORTC.0 = 0 Then l2 = 1
If PORTC.1 = 0 Then der = 1
If PORTC.2 = 0 Then arr = 1
If PORTC.3 = 0 Then l1 = 1
If PORTC.4 = 0 Then ana = 1
If PORTC.5 = 0 Then izq = 1
If PORTC.7 = 0 Then aba = 1

Gosub leerrl subrutina este grupo de botones englobado en una variable.


Gosub leerflebot subrutina este grupo de botones englobado en una variable.
Gosub enviar subrutina envi de las variables anteriores y el valor de joysticks

If PORTA.4 = 1 Then l3 = 0 si esta el puerto a 0 el botn esta apretado


If PORTA.5 = 1 Then r3 = 0
If PORTB.0 = 1 Then r2 = 0
If PORTB.1 = 1 Then r1 = 0
If PORTB.2 = 1 Then tri = 0
If PORTB.3 = 1 Then cir = 0
If PORTB.4 = 1 Then x = 0
If PORTB.5 = 1 Then cua = 0
If PORTB.6 = 1 Then sel = 0
If PORTB.7 = 1 Then str = 0
If PORTC.0 = 1 Then l2 = 0
If PORTC.1 = 1 Then der = 0
If PORTC.2 = 1 Then arr = 0
If PORTC.3 = 1 Then l1 = 0
If PORTC.4 = 1 Then ana = 0
If PORTC.5 = 1 Then izq = 0
If PORTC.7 = 1 Then aba = 0

Goto inicio vuelta al inicio


End fin de programa

leerjoystick: leer cada seal analogical de los joysticks y ponerla en su respective variable.

Adcin 0, xd
Adcin 1, yd
Adcin 2, xi
Adcin 3, yi

Return
leerflebot: 'Flechas y simbolos, inplementacion de los botones en una nica variable

grupo1 = 0
grupo2 = 0

If tri = 1 Then
grupo1 = 1
grupo2 = grupo2 + grupo1
Endif

If cua = 1 Then
grupo1 = 2
grupo2 = grupo2 + grupo1
Endif

If cir = 1 Then
grupo1 = 4
grupo2 = grupo2 + grupo1
Endif

If x = 1 Then
grupo1 = 8
grupo2 = grupo2 + grupo1
Endif
If arr = 1 Then
grupo1 = 16
grupo2 = grupo2 + grupo1
Endif

If der = 1 Then
grupo1 = 32
grupo2 = grupo2 + grupo1
Endif

If izq = 1 Then
grupo1 = 64
grupo2 = grupo2 + grupo1
Endif

If aba = 1 Then
grupo1 = 128
grupo2 = grupo2 + grupo1
Endif

envio1 = grupo2 igualar la variable resultante a la que se envia

Return

leerrl: 'botones "L", "R", "str", "sel , igual que los botones anteriores

grupo1 = 0
grupo2 = 0

If r1 = 1 Then
grupo1 = 1
grupo2 = grupo2 + grupo1
Endif
If r2 = 1 Then
grupo1 = 2
grupo2 = grupo2 + grupo1
Endif
If r3 = 1 Then
grupo1 = 4
grupo2 = grupo2 + grupo1
Endif
If str = 1 Then
grupo1 = 8
grupo2 = grupo2 + grupo1
Endif
If l1 = 1 Then
grupo1 = 16
grupo2 = grupo2 + grupo1
Endif
If l2 = 1 Then
grupo1 = 32
grupo2 = grupo2 + grupo1
Endif
If l3 = 1 Then
grupo1 = 64
grupo2 = grupo2 + grupo1
Endif

If sel = 1 Then
grupo1 = 128
grupo2 = grupo2 + grupo1
Endif
envio2 = grupo2
Return
enviar: envio de las variables por el RF
WaitMs 10
Hserout "WI", envio1, "FI"
WaitMs 10
Hserout "WI", envio2, "FI"
WaitMs 10
Hserout "WI", xd, "FI"
WaitMs 10
Hserout "WI",yd, "FI"
WaitMs 10
Hserout "WI", xi, "FI"
WaitMs 10
Hserout "WI", yi, "FI"
WaitMs 10

Return
8 Conclusiones:

También podría gustarte