Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Proyecto Mando Play PDF
Proyecto Mando Play PDF
30/05/2011
NDICE
2 - Estudio de viabilidad
3 - Planificacin
7 - Software (Programa)
8 - Conclusiones
1 Objetivos y Estudio del arte.
1.1 Objetivos
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.
Figura 1 Figura 2
1.2.2 - Manejo de un robot humanoide (figura 3) con el mando de Nintendo Wii. [2]
Figura 3
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
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...
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.
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:
2x joysticks analgicos
1x pilas 9V
1x 100nF (SMD)
1x 100F
1x 330F
Bobinas: 1x 330H, 0,9 A
Diodos: 1x 1N5819
1x 1N4007
1x 150
18x 10K
Cable
Realizacin de la pcb:
Impresora.
Papel trasparente.
Minitaladro
Soldador
Estao
Ordenador propio.
Pruebas y medidas:
Tester y osciloscopio, el primero propio, el segundo del taller de
electrnica.
2.2.2 Software:
2.3 Conocimientos:
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.
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.
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
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
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
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: