Você está na página 1de 27

INSTITUTO TECNOLOGICO DE

NUEVO LAREDO

Nombre del Alumno: Mario Hernndez Reyes

Nmero de Control: 11100551

Carrera: Ing. Mecatrnica

Materia: Robtica 2

Nombre del Profesor: Hernn Ruiz Herrera

Proyecto: Carrito Controlado Por Bluetooth

INDICE
INTRODUCCION... Pg. 4
CAPITULO I......................Pg. 5
1.1 ANTECEDENTES HISTORICOS.........Pg. 5
1.2 Formas de comunicacin inalmbrica..Pg. 6
1.3 BluetoothPg. 7
1.4 PROYECTOS QUE SE HAN DESARROLLADO. Pg. 8
1.5 JUSTIFICACION..Pg. 9
1.6 OBJETIVOS..Pg. 9
1.6.1 OBJETIVO GENERAL.Pg. 9
1.6.2 OBJETIVOS ESPECIFICOS. Pg. 9
1.7 PLANTEAMIENTO DEL PROBLEMA... Pg. 10
1.8 SOLUCION DEL PROBLEMA.Pg. 10
CAPITULO II MARCO TEORICO ........Pg. 11
2.1 MODULO HC-05....Pg. 11
2.2 PLATAFORMA ARDUINO.......Pg. 11
2.3 VISUAL STUDIO...Pg. 11
CAPITULO III DESARROLLO..Pg. 13
3.1 DISEO DEL PROGRAMAPg. 13
3.1.1 CODIGO DEL FORMULARIO DE CONTROL DEL CARRITO..Pg. 13
3.2 PROGRAMA REALIZADO EN ARDUINOPg. 19
3.3 MATERIAL..Pg. 23
3.4 DISEO MECNICO...Pg. 24
3.5 DISEO ELECTRNICO.Pg. 24
RESULTADOS.....Pg. 25
CONCLUSION.........Pg. 26
BIBLIOGRAFIA...Pg. 27

INTRODUCCION
Una de las principales aplicaciones de la electrnica y los sistemas de control
estn en los juegos electrnicos, estos sistemas cada vez son ms complejos y
cumplen con una mayor cantidad de funciones. Adems, estos sistemas
desarrollados para juegos infantiles permite un estudio de posibles aplicaciones en
la industria, pues los mismos dispositivos empleados pueden adaptarse a
condiciones industriales para funcionar de manera muy similar a como lo hacen en
los juegos. Lo anterior nos hace reflexionar acerca de lo importante que son los
juegos para la electrnica y nos muestra la importancia de implementar nuevos
sistemas para analizar su funcionamiento.

CAPITULO I
1.1

ANTECEDENTES HISTORICOS

El telfono celular revolucion la vida de las personas y de las comunicaciones.


Una infinidad de tareas se realizan con este dispositivo. El primer antecedente
respecto al telfono mvil lo tiene la compaa Motorola en la dcada de los 80s.
El ingeniero encargado de disear este dispositivo fue Rudy Krolopp.

Figura 1.1. Rudy Krolopp y el primer celular, 1983.

Fig. 1.1 Rudy Krolopp y el primer celular, 1983 Los primeros telfonos celulares
eran sistemas embebidos (dispositivos que realizan una accin dependiendo
nicamente de la entrada) que llamaban muy poco la atencin de los
programadores por su complejo software que era usado para programarlos y su
difcil acceso al hardware, ya que los fabricantes guardaban celosamente los
secretos de cada dispositivo. Con la aparicin de dispositivos ms complejos
(como el GPS) se comenzaron a usar sistemas operativos estandarizados (sobre
todo se basaban en Linux). La mayor parte de estos se programaban en C/C++.
Despus surgieron plataformas como Symbian, aunque el cdigo para realizar
aplicaciones era an demasiado complejo. Finalmente se crearon los MIDlets de
Java que se podan ejecutar en una mquina virtual de Java (la J2ME) sobre los
dispositivos mviles aunque seguan existiendo restricciones al acceso del
hardware, al ncleo de la plataforma del dispositivo mvil, a aplicaciones
especficas de la telefona mvil y que solamente se poda ejecutar una aplicacin
a la vez. En la actualidad los dispositivos mviles han creado su propia rama en el
camino de la tecnologa: dentro de Android, cada aplicacin genera su propia
mquina virtual y cada una trabaja de manera aislada. Ahora son dispositivos
5

sumamente complejos capaces de realizar tareas similares a los equipos de


cmputo tradicionales. 5 En la actualidad existen muchos sistemas operativos
para la telefona celular. Este proyecto se centra en al sistema operativo Android y
la relacin que puede llegar a tener con los vehculos exploradores haciendo el
uso de una aplicacin especfica para el control y envo de informacin.

1.2 Formas de comunicacin inalmbrica


Dentro de las diversas formas de comunicacin inalmbrica, para efectos de este
trabajo analizaremos tres de las ms comunes: la radiofrecuencia, el bluetooth y el
Wi-Fi. Esto se realiza con el propsito de hacer una buena eleccin para el
objetivo final. Se mencionarn caractersticas as como ventajas y desventajas de
cada una de estas formas de comunicacin inalmbrica.
Radiofrecuencia: este trmino se utiliza para referirse al espectro de
radiofrecuencia o RF, las comunicaciones inalmbricas por RF se pueden dividir
en las que no cumplen ningn protocolo estndar (llamadas propietarias) y las que
cumplen un protocolo estndar.
Algo que hay que considerar en la radiofrecuencia es que el rango de trabajo
depende de la frecuencia, la potencia de salida, la sensibilidad de recepcin, de
las caractersticas de la antena y del entorno de trabajo. Dentro de los tipos de
tecnologas que se emplean para la radiofrecuencia tenemos la banda estrecha y
la banda ancha la cual aprovecha todo el ancho de banda disponible en vez de
utilizar una portadora para concentrar toda la energa a su alrededor como se
muestra en la Fig. 1.2

Figura 1.2.
estrecha y

Banda
banda ancha.

1.3

Bluetooth

se define como
una tecnologa
inalmbrica
cuyo propsito
es
el
de
reemplazar la
conexin
por
cables
en
dispositivos porttiles como computadoras, mp3, celulares, entre otros, para
conectarlos en una red local que es llamada Red de rea Personal o comnmente
PAN por sus siglas en ingls Personal Area Network.

Figura 1.3. Logo de Bluetooth

La palabra Bluetooth se origin alrededor del ao 960 por el rey de Dinamarca


Harald Blatand II Bluetooth. Sin embargo la tecnologa fue inventada en 1994 por
L. M. Ericsson, compaa sueca que desarrolla tecnologa principalmente para los
campos de la telefona, telefona mvil y comunicaciones multimedia. Ms tarde en
1998 se form el Grupo de Inters Especial (SIG); fundado inicialmente por
Ericsson, Intel, IBM, Nokia y Toshiba. En la actualidad ms de 1900 compaas se
han unido al SIG. Bluetooth opera en una banda no licenciada ISM (Industrial
Scientific Medical) de 2.4- 2.5GHz permitiendo la transmisin de voz y datos, de
forma rpida y segura con un rango de hasta 10 metros con 1 mW o 100 metros si
se usa un amplificador de 100 mW. Puede transferir datos de forma asimtrica a
721 Kbps y simtricamente a 432 Kbps.
Usa la llamada Frequency Hopping Spread Spectrum (FHSS), que divide la banda
de frecuencia en un nmero de canales (2.402 2.480GHz, 79 canales). Para
transmitir voz son necesarios tres canales de 64 Kbps, para transmitir vdeo es
7

necesario comprimirlo en formato MPEG-4 y usar 340 Kbps para conseguir


refrescar 15 veces por segundo una pantalla VGA de 320x240 puntos. Bluetooth
minimiza la interferencia potencial al emplear saltos rpidos en frecuencia (1600
veces por segundo).

1.4 PROYECTOS QUE SE HAN DESARROLLADO


BeeWi: La compaa BeeWi Simply Wireless se dedica a ofrecer productos con la
ltima tecnologa en Wi-Fi y Bluetooth en Europa. Esta compaa tiene un vehculo
a escala, copia de un Mini Cooper, controlado por smarthphones (incluye la
plataforma Android). La transferencia de datos se lleva a cabo mediante Bluetooth,
lo que limita su espacio de trabajo entre 10-15 metros. Tiene dos formas de
controlarlo, la primera es usando la pantalla tctil de manera que mediante
presionar la pantalla se indica la direccin y sentido de giro de las llantas. Por su
parte; la segunda forma es usando los acelermetros del telfono mvil para
indicar sentido de giro y direccin (Fig. 1-4).

Figura 1.4. BeeWi junto a la interfaz para el control mediante la pantalla tctil

1.5 JUSTIFICACION
Se escogi este trabajo porque en el futuro se podra inventar un carro manejado
por Bluetooth, ayudndonos de la robtica considerndolo como una herramienta
para la educacin, la cual brinda una cantidad de alternativas aplicada a las
mquinas las cuales interactan con el hombre y poder ofrecer mejores
8

expectativas. En este trabajo de la creacin de un carro manejado por Bluetooth


sirve de estmulo mental e introducirlo al estudio formal de la robtica. La robtica
y la inteligencia artificial se unen para que pueda pensarse en seres artificiales por
medio de mquinas y estas tienen mucho que ver en el proceso de la vida diaria
del ser humano.

1.6 OBJETIVOS

1.6.1 OBJETIVO GENERAL


1. Disear y construir un sistema robtico controlado por remotamente mediante la
tecnologa de comunicacin inalmbrica conocida como Bluetooth que sirva como
una herramienta para el transporte de objetos a distancias menores a 10 metros
sirviendo como una alternativa para las personas que lo llegaran a necesitar.

1.6.2 OBJETIVOS ESPECIFICOS


1. Introducir conceptos de robtica aplicados al aprendizaje de esta ciencia a
personas de toda edad desde nios hasta adultos.
2. Los modelos ms aplicados para la educacin con robot son los Kit para la
construccin de robot.
3. Dar a conocer que la inteligencia artificial de mquinas no es una ciencia oculta
y est al alcance de todo el pblico.
4.- Crear un programa en Visual Basic para controlar el carrito.
5.- Crear un programa en Arduino para poder recibir rdenes desde el programa
realizado en Visual Basic.
6.- Hacer que el carrito funcione automticamente.

1.7 PLANTEAMIENTO DEL PROBLEMA


1.- Como mandar la instruccin para que obedezca el carrito.
2.- como saber que si recibi la instruccin.
3.- Por medio de que se comunicara.
9

1.8 SOLUCION DEL PROBLEMA


1.- Se realizara un programa en Visual Basic que servir para mandar las rdenes
al carrito.
2.- Se realizara un cdigo en Arduino para recibir las rdenes enviadas desde
Visual Basic.
3.- Se utilizara Bluetooth para realizar la comunicacin.

CAPITULO II
MARCO TEORICO

2.1 MODULO HC-05


10

El mdulo Bluetooth HC-05 viene configurado de fbrica para trabajar como


maestro o esclavo. En el modo maestro puede conectarse con otros mdulos
Bluetooth, mientras que en el modo esclavo queda a la escucha peticiones de
conexin.

2.2 PLATAFORMA ARDUINO


Es una plataforma de prototipos electrnica de cdigo abierto (open source)
basada en hardware y software flexibles y fciles de usar.
Arduino fue inventado en el ao 2005 por el entonces estudiante del instituto
IVREA Massimo Banzi.
Arduino es una fuente abierta de una sola placa electrnica, descendiente de la
plataforma de cableado de cdigo abierto, diseado para hacer que el proceso de
utilizacin de la electrnica en proyectos multidisciplinares ms accesibles. El
hardware consiste en un diseo de hardware simple y abierto para la placa
Arduino con un procesador Atmel AVR ya bordo de entrada / salida de apoyo. El
software consiste en un compilador de lenguaje de programacin estndar y el
gestor de arranque que se ejecuta en el tablero.

2.3 VISUAL STUDIO


Visual Basic es un lenguaje de programacin dirigido por eventos, desarrollado
por Alan Cooper para Microsoft. Este lenguaje de programacin es un dialecto
de BASIC, con importantes agregados. Su primera versin fue presentada
en 1991, con la intencin de simplificar la programacin utilizando un ambiente de
desarrollo que facilit en cierta medida la programacin misma.
La ltima versin fue la 6, liberada en 1998, para la que Microsoft extendi el
soporte hasta marzo de 2008.
En 2001 Microsoft propuso abandonar el desarrollo basado en la API Win32 y
pasar a un framework o marco comn de libreras, independiente de la versin del
sistema operativo, .NET Framework, a travs de Visual Basic .NET (y otros
lenguajes como C Sharp (C#) de fcil transicin de cdigo entre ellos); fue el
sucesor de Visual Basic 6.

11

Aunque Visual Basic es de propsito general, tambin provee facilidades para el


desarrollo de aplicaciones de datos usando Data Access Objects, Remote Data
Objects o ActiveX Data Objects.
Visual Basic contiene un entorno de desarrollo integrado o IDE que integra editor
de textos para edicin del cdigo fuente, un depurador, un compilador (y enlazador)
y un editor de interfaces grficas o GUI. Este es usado tambin como una
creadora de calculadoras.

Figura 2.1. Logotipo De Visual Studio 2013

CAPITULO III
DESARROLLO
12

3.1 DISEO DEL PROGRAMA

Figura 3.1. Formulario Para El Control Del Carrito.

3.1.1 CODIGO DEL FORMULARIO DE CONTROL DEL CARRITO


Dim StrBufferOut As String
Dim StrBufferIn As String
Dim a, a1, c As Integer
Dim b As Integer
Dim x As Integer
Dim y As Integer
Dim z, u, v, w As Integer
Dim t, r, j, k, l, q, q2, q3, q4, p, s, h1, h2, memoria1, memoria2, d, d2, memoria3,
memoria4 As Integer
'Webcam
Public Touchless As New TouchlessLib.TouchlessMgr
Public Camera1 As TouchlessLib.Camera = Touchless.Cameras.ElementAt(0)
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
spPuertos.DiscardOutBuffer()
StrBufferOut = "f"
spPuertos.Write(StrBufferOut)
End Sub
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
spPuertos.DiscardOutBuffer()
StrBufferOut = "g"
spPuertos.Write(StrBufferOut)
End Sub

13

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load


StrBufferOut = ""
StrBufferIn = ""
btnConectar.Enabled = False
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = False
Button4.Enabled = False
tmrTimer.Enabled = False
memoria1 = 0
End Sub
Private Sub btnDeterminarConexion_Click(sender As Object, e As EventArgs) Handles
btnDeterminarConexion.Click
cboPuertos.Items.Clear()
For Each PuertoDisponible As String In My.Computer.Ports.SerialPortNames
cboPuertos.Items.Add(PuertoDisponible)
Next
If cboPuertos.Items.Count > 0 Then
cboPuertos.Text = cboPuertos.Items(0)
MessageBox.Show("SELECCIONE EL PUERTO A TRABAJAR")
btnConectar.Enabled = True
Else
MessageBox.Show("NINGUN PUERTO ENCONTRADO")
btnConectar.Enabled = False
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = False
Button4.Enabled = False
cboPuertos.Items.Clear()
cboPuertos.Text = ("
")
End If
End Sub
Private Sub btnConectar_Click(sender As Object, e As EventArgs) Handles
btnConectar.Click
If btnConectar.Text = ("CONECTAR") Then
spPuertos.PortName = cboPuertos.Text
btnConectar.Text = "DESCONECTAR"
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = True
Button4.Enabled = True
tmrTimer.Enabled = True
spPuertos.Open()
ElseIf btnConectar.Text = "DCESCONECTAR" Then
btnConectar.Text = "CONECTAR"
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = True
Button4.Enabled = True
tmrTimer.Enabled = False

14

spPuertos.Close()
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
Button1.MouseDown
spPuertos.DiscardOutBuffer()
StrBufferOut = "a"
spPuertos.Write(StrBufferOut)
Button1.ImageIndex = 1
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles
Button3.MouseDown
spPuertos.DiscardOutBuffer()
StrBufferOut = "e"
spPuertos.Write(StrBufferOut)
Button3.ImageIndex = 1
End Sub
Private Sub tmrTimer_Tick(sender As Object, e As EventArgs) Handles tmrTimer.Tick
StrBufferIn = spPuertos.ReadExisting
If StrBufferIn <> "" Then
txtBufferIn.Text = StrBufferIn
StrBufferIn = ""
spPuertos.DiscardInBuffer()
TextBox1.Text = Strings.Right(Strings.Left(Val(txtBufferIn.Text), 4), 3)
x = Strings.Right(Strings.Left(Val(txtBufferIn.Text), 4), 3)
TextBox2.Text = Strings.Right(Val(txtBufferIn.Text), 3)
y = Strings.Right(Val(txtBufferIn.Text), 3)
End If
End Sub
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.MouseUp
spPuertos.DiscardOutBuffer()
StrBufferOut = "c"
spPuertos.Write(StrBufferOut)
Button1.ImageIndex = 0
End Sub
Private Sub Button3_Click_1(sender As Object, e As EventArgs) Handles Button3.MouseUp
spPuertos.DiscardOutBuffer()
StrBufferOut = "c"
spPuertos.Write(StrBufferOut)
Button3.ImageIndex = 0
End Sub
Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click
If Button2.ImageIndex = 0 Then

15

Button2.ImageIndex = 1
spPuertos.DiscardOutBuffer()
StrBufferOut = "d"
spPuertos.Write(StrBufferOut)
ElseIf Button2.ImageIndex = 1 Then
Button2.ImageIndex = 0
spPuertos.DiscardOutBuffer()
StrBufferOut = "D"
spPuertos.Write(StrBufferOut)
End If
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
If Button4.ImageIndex = 0 Then
Button4.ImageIndex = 1
spPuertos.DiscardOutBuffer()
StrBufferOut = "b"
spPuertos.Write(StrBufferOut)
ElseIf Button4.ImageIndex = 1 Then
Button4.ImageIndex = 0
spPuertos.DiscardOutBuffer()
StrBufferOut = "B"
spPuertos.Write(StrBufferOut)
End If
End Sub
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
PictureBox1.Image = Touchless.CurrentCamera.GetCurrentImage
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Timer2.Enabled = True
Touchless.CurrentCamera = Camera1
Touchless.CurrentCamera.CaptureHeight = 22
Touchless.CurrentCamera.CaptureWidth = 23
End Sub
Private Sub Button6_KeyUp(sender As Object, e As KeyEventArgs) Handles
Button1.KeyDown
If e.KeyCode = Keys.A Then
TextBox3.Text = "F"
spPuertos.DiscardOutBuffer()
StrBufferOut = "F"
spPuertos.Write(StrBufferOut)
Button4.ImageIndex = 1
End If
If e.KeyCode = Keys.S Then
TextBox3.Text = "b"
spPuertos.DiscardOutBuffer()
StrBufferOut = "b"

16

spPuertos.Write(StrBufferOut)
Button4.ImageIndex = 0
Button2.ImageIndex = 0
End If
If e.KeyCode = Keys.D Then
TextBox3.Text = "B"
spPuertos.DiscardOutBuffer()
StrBufferOut = "B"
spPuertos.Write(StrBufferOut)
Button2.ImageIndex = 1
End If
If e.KeyCode = Keys.Space Then
TextBox3.Text = "Space"
spPuertos.DiscardOutBuffer()
StrBufferOut = "a"
spPuertos.Write(StrBufferOut)
Button1.ImageIndex = 0
Button3.ImageIndex = 0
End If
If e.KeyCode = Keys.W Then
TextBox3.Text = "W"
spPuertos.DiscardOutBuffer()
StrBufferOut = "A"
spPuertos.Write(StrBufferOut)
Button1.ImageIndex = 1
End If
If e.KeyCode = Keys.X Then
TextBox3.Text = "X"
spPuertos.DiscardOutBuffer()
StrBufferOut = "C"
spPuertos.Write(StrBufferOut)
Button3.ImageIndex = 1
End If
End Sub
Private Sub Button3_KeyUp(sender As Object, e As KeyEventArgs) Handles
Button3.KeyDown
If e.KeyCode = Keys.A Then
TextBox3.Text = "F"
spPuertos.DiscardOutBuffer()
StrBufferOut = "F"
spPuertos.Write(StrBufferOut)
Button4.ImageIndex = 1
End If
If e.KeyCode = Keys.S Then
TextBox3.Text = "b"
spPuertos.DiscardOutBuffer()
StrBufferOut = "b"
spPuertos.Write(StrBufferOut)

17

Button4.ImageIndex = 0
Button2.ImageIndex = 0
End If
If e.KeyCode = Keys.D Then
TextBox3.Text = "B"
spPuertos.DiscardOutBuffer()
StrBufferOut = "B"
spPuertos.Write(StrBufferOut)
Button2.ImageIndex = 1
End If
If e.KeyCode = Keys.Space Then
TextBox3.Text = "Space"
spPuertos.DiscardOutBuffer()
StrBufferOut = "a"
spPuertos.Write(StrBufferOut)
Button1.ImageIndex = 0
Button3.ImageIndex = 0
End If
If e.KeyCode = Keys.W Then
TextBox3.Text = "W"
spPuertos.DiscardOutBuffer()
StrBufferOut = "A"
spPuertos.Write(StrBufferOut)
Button1.ImageIndex = 1
End If
If e.KeyCode = Keys.X Then
TextBox3.Text = "X"
spPuertos.DiscardOutBuffer()
StrBufferOut = "C"
spPuertos.Write(StrBufferOut)
Button3.ImageIndex = 1
End If
End Sub
End Class

3.2 PROGRAMA REALIZADO EN ARDUINO

int izqA = 5;
int izqB = 6;
int derA = 9;

18

int derB = 10;


int vel = 255;

// Velocidad de los motores (0-255)

int estado = 'g';

// inicia detenido

int pecho = 2;

// define el pin 2 como (pecho) para el Ultrasonido

int ptrig = 3;

// define el pin 3 como (ptrig) para el Ultrasonido

int duracion, distancia; // para Calcular distacia

void setup() {
Serial.begin(9600);

// inicia el puerto serial para comunicacin con el Bluetooth

pinMode(derA, OUTPUT);
pinMode(derB, OUTPUT);
pinMode(izqA, OUTPUT);
pinMode(izqB, OUTPUT);

pinMode(pecho, INPUT); // define el pin 2 como entrada (pecho)


pinMode(ptrig,OUTPUT); // define el pin 3 como salida (ptrig)
pinMode(13,OUTPUT);
}

void loop() {

if(Serial.available()>0){

// lee el bluetooth y almacena en estado

estado = Serial.read();
}
19

if(estado=='a'){

// Boton desplazar al Frente

analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, vel);
analogWrite(izqA, vel);
}
if(estado=='b'){

// Boton IZQ

analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, 0);
analogWrite(izqA, vel);
}
if(estado=='c'){

// Boton Parar

analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, 0);
analogWrite(izqA, 0);
}
if(estado=='d'){

// Boton DER

analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(izqA, 0);
analogWrite(derA, vel);
}

20

if(estado=='e'){

// Boton Reversa

analogWrite(derA, 0);
analogWrite(izqA, 0);
analogWrite(derB, vel);
analogWrite(izqB, vel);
}

if (estado =='f'){

// Boton ON, se mueve sensando distancia

digitalWrite(ptrig, HIGH); // genera el pulso de trigger por 10us


delay(0.01);
digitalWrite(ptrig, LOW);

duracion = pulseIn(pecho, HIGH);


distancia = (duracion/2) / 29;

// Lee el tiempo del Echo


// calcula la distancia en centimetros

delay(10);

if (distancia <= 15 && distancia >=2){

// si la distancia es menor de 15cm

digitalWrite(13,HIGH);

// Enciende LED

analogWrite(derB, 0);

// Parar los motores por 200 mili segundos

analogWrite(izqB, 0);
analogWrite(derA, 0);
analogWrite(izqA, 0);
delay (200);

21

analogWrite(derB, vel);

// Reversa durante 500 mili segundos

analogWrite(izqB, vel);
delay(500);

analogWrite(derB, 0);

// Girar durante 1100 milisegundos

analogWrite(izqB, 0);
analogWrite(derA, 0);
analogWrite(izqA, vel);
delay(1100);

digitalWrite(13,LOW);
}
else{

// Si no hay obstaculos se desplaza al frente

analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, vel);
analogWrite(izqA, vel);
}
}
if(estado=='g'){

// Boton OFF, detiene los motores no hace nada

analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, 0);
analogWrite(izqA, 0);
22

}
}

3.3 MATERIAL

(1) Arduino UNO R3


(1) Sensor de Ultrasonido
(1) Modulo bluetooth
(1) Regulador 7805
Varios Cables de conexin
(1) Protoboard Min
(2) Motorreductores 1,5Kg de fuerza, 100RPM 3-12Vdc
(2) Llantas para Motorreductores.
(1) Base batera para 4 pilas de 1.5v
(1) 4 Bateras de 1.5v
(1) Puente H L293D

3.4 DISEO MECNICO


Se deber realizar la construccin mecnica del Carro a control remoto va
Bluetooth es de forma fcil cada uno de los componentes, Llantas,
Motorreductores, Chasis, Ejes, Direccin, Puente H, Regulador, Batera, Bluetooth
y Sensor Distancia.

23

3.5 DISEO ELECTRNICO


Para poder controlar Motorreductores desde un Circuito integrado o un
Microcontrolador se debe amplificar la corriente y el Voltaje, para esto podemos
usar transistores o como en este caso un driver o Puente H, con la ventaja que
ofrece de invertir el giro de los Motorreductores, este circuito es la base para
continuar con la elaboracin de nuestro carro controlado remotamente por
Bluetooth desde un programa de Visual Basic.

Figura 3.2. Diagrama De Conexin.

RESULTADOS
Con los programas realizados en Visual Basic, Arduino y con los componentes
necesarios y conectados correctamente se pudo hacer funcionar el carrito
controlado por Bluetooth, el carrito cumple con todos los objetivos que se
plantearon al principio del proyecto.

24

Figura 3.2. Carrito Terminado.

CONCLUSION
La creacin de este carro servir para demostrar nuestras aptitudes en los campos
de trabajo.
Tambin para demostrar la programacin en nuevas tecnologas.

25

La realizacin de los cdigos en Visual Basic y Arduino para programar y


demostrar nuestro inters en la realizacin de este proyecto.
Es un proyecto simple que nos ha ayudado a conocer y aplicar la plataforma
Arduino.

BIBLIOGRAFIA
1. http://robotic242004.blogspot.mx/p/proyecto-de-investigacion-de.html,
consultado en Mayo 2016.
2. http://www.artesvisualesymultimedia.com/, consultado en Mayo 2016.
26

3. http://www.atmel.com/default.aspx, consultado en Mayo 2016.


4. http://es.wikipedia.org/wiki/Arduino, consultado en Mayo 2016.
5. http://tecnomobilex.com/materias/electronica/la-comunicacion-inalambricacon-el-pc-y-placa-arduino-mediante-bluetooth, consultado en Mayo 2016.

27

Você também pode gostar