Professional Documents
Culture Documents
Agradecimientos:
Expreso mi reconocimiento y agradecimiento a todas aquellas personas que,
gracias a su colaboracin y paciencia, han contribuido y apoyado a la
realizacin de este proyecto:
Y por ltimo, a mis seres ms queridos, mi familia, que han tenido que
aguantarme en el transcurso de ste tiempo y han hecho que, en momentos
difciles, sacara una sonrisa para continuar.
Gracias.
1. INTRODUCCIN
2. OBJETIVO
El logro del objetivo principal viene predeterminado por una serie de objetivos
parciales que han dado lugar a las distintas tareas planteadas. Concretamente
los objetivos parciales propuestos son:
3. PLAN DE TRABAJO
4. ANTECEDENTES
Los coches de radiocontrol a combustin son los ms antiguos que existen. Las
principales diferencias que presenta uno sobre el otro son, el tipo de motor,
alimentado con combustible, por lo general es una mezcla de nitrometano,
metanol y aceite, que para simplificar se suele denominar nitro, el ruido que
emite y el olor que desprende en funcionamiento al consumir su fuente de
energa. Otra diferencia a destacar es el alto nivel de mantenimiento y los
costes asociados al combustible que hacen encarecer con creces un elemento
dedicado al ocio. Adems, se debe tener en cuenta en su primer
funcionamiento el conocido rodaje, que consiste en consumir
aproximadamente unos 5 depsitos de combustible a rendimiento medio,
cuando el motor es nuevo, con el fin de que las piezas se ajusten antes de
manejarlo por primera vez a pleno rendimiento. La carburacin que haga el
coche en la mezcla de aire y gasolina, ha de ser perfecta para una combustin
perfecta. De lo contrario, podra afectar a la vida til del motor hasta llegar a
fundirlo.[Motorpasin-2014]
Motor de combustin
Transmisor o mando radio
Receptor
Carburador
Starter
Buja
Combustible
Aceite
Embrague
Servos
Bateras
VENTAJAS
Podemos rodar varias horas con una garrafa de 5L que nos supondra un
coste de 10.
Mayor realismo.
INCONVENIENTES
Motor elctrico
Transmisor o mando radio
Receptor
Bateras
Cargador
Servos
VENTAJAS
INCONVENIENTES
Proyecto PiBot-B
Este proyecto llamado Wifi Car "JJ" mostrado en la figura 4.5, fue patrocinado
por VanLeeuwen Opensource Consultora en la campaa de Kickstarter creada
por Dexterindustries. Gracias a VanLeeuwen, se respald el proyecto BrickPi
que fue desarrollado por Sitfit. Este proyecto que cuenta con 82 piezas se
compone principalmente por una placa BrickPi unida a una Raspberry que se
controla va Wifi. Gracias a una aplicacin creada con el programa Lego digital
designer
Wifi Car
5. DESCRIPCIN DE COMPONENTES
5.1 Raspberry Pi
5.1.1 Caractersticas
Figura 5.7.-
El mdulo GPS en su modelo GY-GPS6MV2 viene con un mdulo de serie U-Blox NEO
6M equipado en el PCB, una EEPROM con configuracin de fbrica, una pila de botn
para mantener los datos de configuracin en la memoria EEPROM, un indicador LED y
una antena cermica. Tambin posee los pines o conectores Vcc, Rx, Tx y Gnd por el
que se puede conectar a algn microcontrolador mediante una interfaz serial. Para que
nuestro mdulo GPS funcione a la perfeccin se recomienda hacer las pruebas en un
ambiente abierto o cercano a la ventana para una correcta recepcin de la seal.
MPU-9150 como un SIP (SIP: sistema en paquete) los productos, la integracin de dos
chips: uno es el MPU-6050, con giroscopio de tres ejes, Acelerador de tres ejes y DMP
(DMP: movimiento Digital Processor) que puede manejar complejas MotionFusion; otro
es ak8975, de tres ejes brjula digital. Contenida en el movimiento Nueve-eje MPU-9150
algoritmo de fusin de sensores, se puede conectar a todos los sensores internos para
recoger todo el conjunto de datos detectado.
Caractersticas:
Giroscopio Caractersticas
Digital-Salida x-, y-, y sensores de velocidad angular Y-y Z-Axis (giroscopios) con
un rango de escala completa de 250 programables por el usuario, 500, 1000,
y /seg
Seal de sincronizacin externa conectada a la FSYNC pin compatible con la
imagen, vdeo y sincronizacin GPS
Integrado bits ADCs permiten muestreo simultneo de giroscopios
Mejorado sesgo y sensibilidad estabilidad de temperatura reduce la necesidad de
calibracin del usuario
Mejora el rendimiento de ruido de baja frecuencia
Filtro de paso bajo programable digitalmente
Sensibilidad calibrada de fbrica factor de escala
Acelermetro Caractersticas
Magnetmetro Caractersticas
Este mdulo utiliza chips L298N del ST como el conductor principal, la capacidad de
conduccin, de pocas caloras, fuerte capacidad anti-interferencia.
este mdulo se puede utilizar el built-in 78M05 para tomar el poder por la conduccin de
la etapa de potencia, pero con el fin de evitar daos en el chip de regulador, cuando el
uso es mayor que la tensin de la unidad de 12 V, utilizar una externa de 5 V de
alimentacin lgica.
mini usb porttil de diseo 2.0 Velocidad inalmbrica N de hasta 150Mbps, ideal para la
navegacin por Internet y en lnea del juego cumple con IEEE 802.11n (borrador 2.0),
IEEE 802.11g, estndares IEEE 802.11b ofrece dos modos de trabajo: infraestructura y
ad-hoc tecnologa MIMO hace tarifas de transmisin
inalmbrica de hasta 150 Mbps tecnologa ECP mejora su
estabilidad de la seal, evitando automticamente conflictos
de canal configuracin segura rpida, cumple con WPS
para obtener una seguridad inalmbrica gratuita
encriptacin de seguridad inalmbrica fcilmente en un
6. CONFIGURACIN DE HARDWARE
En este apartado vamos a comentar la configuracin de cada elemento hardware que hemos utilizado
para completar nuestro proyecto.
El sistema operativo Raspbian, llamado PIXEL, que en realidad son las siglas de
"Pi Improved Xwindows Environment, Lightweight.
Lo primero que haremos ser crear y dar permisos al grupo que usa apache por defecto.
Reiniciamos Apache:
Una vez hemos instalado Apache y php, procedemos a instalar MySQL y PHPMyAdmin.
El primer paso que se realizar ser activar nuestra interfaz loopback ya que si no lo
hacemos nos dar un error al instalar MySQL
sudo ifup lo
extension=mysql.so
7. DISEO DE SOFTWARE
En este apartado vamos a comentar los tipos de lenguaje de programacin, as como libreras
utilizadas para el funcionamiento de nuestro vehculo teledirigido.
7.1.1 Python
Este lenguaje lo hemos utilizado para crear los archivos dedicados a cada movimiento
disponible del vehculo con el teclado localizado en la web que hemos realizado.
7.1.2 HTML 5
HTML es un lenguaje con el que se definen las pginas web gracias al conjunto de
etiquetas que sirven para definir el texto y otros elementos que la compondrn. Su fcil
aprendizaje permite que cualquier persona, aunque no haya programado en la vida,
pueda enfrentarse a la tarea de crear una web. Puede combinar la incorporacin de
otros lenguajes para definir el formato ms apropiado dependiendo de nuestro gusto,
gracias a CSS. Este lenguaje se escribe en un editor de textos sencillo con extensin
.html. Al abrir este archivo, podremos ver los resultados en el navegador de internet que
tengamos instalado.
Este lenguaje nos ha permitido realizar funciones de ejecucin que, como resultado,
podemos ver en la web creada, como es la activacin de las teclas de control.
7.1.4 PHP
Para ello conectaremos el mdulo GPS a la Raspberry tal como indica el esquema,
recuerda que los cables TX y RX deben estar cruzados, es decir, el pin TX de la
Para que estos cambios tengan efecto reiniciamos la Raspberry Pi, una vez reiniciada ya
tendremos el puerto serie listo para usarlo. Ahora instalaremos algunas dependencias
que nos harn falta para interpretar los datos del mdulo GPS con este comando desde
la terminal:
GPSD es una aplicacin que corre en segundo plano y que recoge los datos GPS del
mdulo y los enva a travs de un socket que necesita ser activado cada vez que
iniciamos la Raspberry (ms adelante muestro como automatizar este pas), por eso
introducimos en la terminal:
cgps -s
Debido a que est destinado principalmente para su uso en equipos ARM pequea
pensin, el cdigo de Linux-mpu9150 utiliza 32 bits flota en lugar de dobles para todas
las operaciones de punto flotante.Las pruebas se han hecho con Frambuesa Pi.
A continuacin, para clonar el repositorio suponiendo que tiene una conexin a Internet
En ste apartado se analiza todo el comportamiento que tiene el sistema. Por un lado
tenemos los casos de uso, y por otro el diagrama de flujo.
Llamamos casos de uso al conjunto de actividades que pueden o deben realizarse para
que se lleve a cabo el proceso. Dichas actividades son aquellas en las que intervienen
los distintos usuarios que se encuentren utilizando la aplicacin y el propio sistema.
Como se puede apreciar nos indica perturbaciones en el rumbo ya que al hacer las
pruebas en campo la variacin del magnetmetro se vio afectada por objetos
metlicos cercanos y cualquier objeto electrnico que tenga el campo
electromagntico mayor al campo magntico de la tierra
El proceso que vamos a realizar es: Primero leemos del bus I2c el valor en grados
mediante el Comps MPU 9150 Y lo imprimimos por consola para as tener un conjunto
de datos del magnetmetro.
Al tener valores del magnetmetro en un plano X, Y, Z, se opt solo tomar los valores
de X y Y. para as tener una orientacin con respecto al norte desarrollamos el siguiente
cdigo en python.
samples = []
while n > 0:
(mX, mY, mZ) = ReadCompassRaw()
print("%+06d, %+06d, %+06d" % (mX, mY, mZ))
#print("mX = %+06d, mY = %+06d, mZ = %+06d" % (mX, mY, mZ))
samples = samples + [[mX, mY, mZ]]
i = i + 1
n = n - 1
time.sleep(fdlay)
MX = MY = MZ = MX2 = MY2 = MZ2 = 0.0
for (mX, mY, mZ) in samples:
MX = MX + mX
MY = MY + mY
MZ = MZ + mZ
MXAve = MX / i
MYAve = MY / i
MZAve = MZ / i
for (mX, mY, mZ) in samples:
MX2 = MX2 + (mX - MXAve) ** 2
MY2 = MY2 + (mY - MYAve) ** 2
MZ2 = MZ2 + (mZ - MZAve) ** 2
print(" Avg StdDev")
print("mX %6.1f %3.1f" % (MX / i, math.sqrt(MX2 / i)))
print("mY %6.1f %3.1f" % (MY / i, math.sqrt(MY2 / i)))
print("mZ %6.1f %3.1f" % (MZ / i, math.sqrt(MZ2 / i)))
else:
# Read and display the raw magnetometer readings
#print 'mX = %+06d, mY = %+06d, mZ = %+06d' %
ReadCompassRaw()
#Convert Degrees
prom = 0
Para tener la posicin GPS en un mapa de entorno web se utiliz a Google Maps el cual
nos ofrece la posibilidad de representar una ruta en el mapa estableciendo checkpoints
mediante coordenadas asi que he aprovechado la API y he construido un pequeo script
en PHP que carga todos los checkpoints del archivo locations.txt generado por el
daemon que hemos hecho previamente en python. Este es el cdigo:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-
scalable=no">
<meta charset="utf-8">
<title>LOCALIZADOR</title>
<style>
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
</style>
<script
src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script
>
<?php $array = explode("\n",
file_get_contents('locations.txt')); ?>
<script>
function initialize() {
var mapOptions = {
zoom: 20,
center: new google.maps.LatLng(<?php echo $array[0]; ?>),
mapTypeId: google.maps.MapTypeId.HYBRID
};
var flightPlanCoordinates = [
respecto al norte, los mandos para ejecutar en modo manual y el botn para ejecutar el
modo automtico.
Muestra de Coordenadas
MANDO MANUAL
Como conclusin de este proyecto que hemos realizado podemos decir que ha
contribuido de manera muy importante para identificar y resaltar los puntos marcados
como objetivo para llevar a cabo una implementacin exitosa. Dentro de los puntos ms
importantes que consideramos en un proyecto son el detectar cules son las
necesidades reales de las personas, as como sus inquietudes para poder mostrar con
este trabajo, la posibilidad que existe de realizar un desarrollo completo con una serie
de componentes utilizados que han dado un resultado satisfactorio. El aspecto ms
importante de la realizacin ha sido el aprendizaje de las fases a seguir y la estructura
necesaria para el desarrollo, el cual, requiere mucho tiempo, esfuerzo y dedicacin,
quedando reflejado en el mismo proyecto. Hemos intentado que la realizacin de ste
fuera lo ms profesional y clara posible para facilitar a otras personas el poderlo llevar
a cabo sin gran dificultad. Aunque siempre existen aspectos que podran ser mejorados,
se considera que los objetivos establecidos inicialmente, se han cumplido en gran
medida.
Dentro del marco de lneas futuras, podemos citar que las aplicaciones y sistemas
electrnicos integrados, evolucionan constantemente con la aparicin de nuevas
variantes que pueden resultar ms ventajosas a la hora de planificar un proyecto o
simplemente, mejorarlo. Por ello, nuestra lnea futura, est enfocada en la
implementacin en una unidad vehicular real para as poder mejorar el campo de
nuestra investigacin sobre la autonoma de vehculos no tripulados. La investigacin
sobre este proyecto no acaba aqu, teniendo la consciencia de seguir buscando
alternativas para poder implementar nuevos sistemas en l, consiguiendo la
modificacin tanto de aspecto visual como la limitacin de funcionalidad.
10. BIBLIOGRAFA
Adafruit. <http://www.adafruit.com/products/1614>.
Artefacto-BrickPi.
<http://www.dexterindustries.com/BrickPi/design/space-program/ >.
Bootstrap. <http://jorgelessin.com/que-es-bootstrap-ycomo-funciona-en-el-diseno-
web/>.
CSS. <http://es.html.net/tutorials/css/lesson1.php>.
Foscam <http://www.foscam.es/descarga/ConfiguracionRaspberry-PI-Camaras-
IP.pdf>.
HTML. <http://www.desarrolloweb.com/articulos/que-eshtml.html>.
JAVA Script.<http://www.desarrolloweb.com/javascript/#quees>.
KickStarter.
<https://www.kickstarter.com/projects/pimoroni/picade-the-arcade-cabinet-kitfor-your-
raspberry-p>.
Microsoft-Hardware.
<http://www.microsoft.com/hardware/en-us/d/lifecam-vx-5000>.
Motorpasin. <http://www.motorpasion.com/otros/cochesrc-de-gasolina-tu-primera-
guia>.
PHP. <http://www.php.net/manual/es/intro-whatis.php>.
Python. <https://www.python.org/>.
Raspberryshop
<http://www.raspberryshop.es/descargas-software-raspberry-pi.php>.
Win32diskImager.
<http://sourceforge.net/projects/win32diskimager/>.
Fpaez <http://fpaez.com/tracker-gps-con-raspberry-pi/>
11. ANEXOS
11.1 Presupuesto
El presupuesto del montaje para este proyecto se desglosa como muestra la Tabla 11.1.
Presupuesto proyecto
Precio/Unidad
Componente Valor/Potencia/Tolerancia Cantidad
S/.
element14 - wipi - dongle,
Wi-Fi Modulo 1 50.00
wifi, usb, for raspberry pi
Tarjeta SD-HC-8GB
Tarjeta SD 1 15.00
integral class10
Raspberry Pi 2
RaspberryPi 1 200.00
NEO-6
GPS 1 60.00
u-blox 6 GPS
Magnetometro GY MPU 9150 1 30.00
TOTAL 9 758.00
Tabla 11.1.- Descripcin del presupuesto final para el montaje de este Robot.