You are on page 1of 55

()tructura basica de programacion.

Por: Byron Ganazhapa

ARDUI
NO Y
LABVIE
W

AUTOMODEL
O IP

http://relojcalendariotemyhum.blogspot.com/

Pgina 1

CONTENIDO
INTRODUCCIN........................................................................ 1
QU

NECESITAMOS?................................................................1

D ESARROLLO ........................................................................4
CONFIGURACIN DE EQUIPOS...............................................................................................4
TRASMISIN Y RECEPCIN DE DATOS....................................................................................9
ACONDICIONAMIENTO DE VOLTAJES PARA LECTURA DE BATERAS.....................................13
CONEXIN DE PINES DE ENTRADAS Y SALIDAS DEL ARDUINO...............................................2

ESQUEMTICOS.......................................................................1
DISEO

DE

PCB......................................................................1

C ODIGO

EN

ARDUINO...........................................................1

C ODIGO

EN

L AB VIEW............................................................1

I MGENES

DEL PROYECTO CONCLUIDO .......................................2

INTRODUCCIN
Un Automodelo IP, es un vehculo a escala desarrollado en Arduino y controlado
desde LabVIEW a travs de comunicaciones inalmbricas wifi, tambin llamada
WLAN o estndares IEEE 802.11.
Este proyecto consiste en el diseo y construccin de un vehculo a escala en
la plataforma Arduino y control en la plataforma LabVIEW 2012 desde cero
incluida la tarjeta Arduino, con funcionalidades similares a un auto a escala
mecnica y electrnicamente.
La tarjeta Arduino recibe y transmite la informacin necesaria para el clculo y
control respectivo, como por ejemplo: control de velocidades desde la 1 ra hasta
la 5ta marcha y reversa, control de direcciones (izquierda y derecha) con luces
intermitentes, control de ventiladores para los circuitos electrnicos y motor,
control de luces delanteras y traseras, medida de niveles de energa de
batera(s), y clculo de revoluciones por minuto (RPM).

http://automodeloip.blogspot.com/ Pgina 2

El programa desarrollado en LabVIEW dispone de una interfaz idntica a un


tacmetro vehicular, donde visualiza la velocidad actual del vehculo, RPM,
nivel de voltaje de la batera, etc.

Q U

NECESITAMOS ?

Para este proyecto es muy indispensable disponer de un conjunto de


herramientas bsicas de un laboratorio de electrnica: un soldador, alambre de
estao, unos alicates de punta de aguja y cables.
Para el desarrollo de nuestro proyecto dispondremos de los siguientes
materiales:

1x Arduino UNO (o si prefieres puedes desarrollarla desde cero para que


el proyecto sea 100% original)

Un motor DC de 12 o 24 Voltios

1x WIZnet Serial-to-Ethernet Gateway - WIZ110SR (o por preferencia se


puede usar un Mdulo Ethernet de Arduino).

1x servomotor

1x Router

1x Batera tipo Lipo de 11.1 Voltios a 4000 o 5000 mA

2x Kit de llantas

2x ventiladores de 5 Voltios

2x transitores TIP32, y 4 x TIP31

2x transitores 2N2222, 1 x BC548, 1 X 2N3906

1x transistor Mosfet IRF630

5x diodos 1N4007

2x diodos BY206

http://automodeloip.blogspot.com/ Pgina 3

1x diodo Zener 1N4733A (5.1 Voltios)

2x Resistencias de 27 Ohms, y 1x 2.2Ohms. 2Watts C/U

4x Resistencias de 1KOhms, 1 x 100Ohms, 1 x 100KOhms, 3 x 4.7KOhms,


2 x 10KOhms, 2 x 220 Ohms, y 6 x 330Ohms. Watts C/U

2x potencimetros lineales de 50KOhms.

2x condensadores electrolticos de 470uF,

1x condensador polister de 470 nF, 3 x 100uF, y 2 x 10uF

3x condensadores cermicos de 100nF, 2 x 10nF, y 4 x 20nF

2x reguladores de voltaje 7805, y 1 x 7808

2x Leds de alto brillo blanco de 10mm, 2 Rojos de bajo brillo 10mm, y 4


amarillos de bajo brillo de 5mm,

1x Buzzer.

Regletas de espadines hembra y macho

3x Plugs DC

Moles de 3 y 4 pines (lo que sean necesarios)

Placa PCB (simple placa y doble)

Cable de red

Arduino UNO

WIZnet WIZ110SR

http://automodeloip.blogspot.com/ Pgina 4

Router

Batera de Lipo

Transistor
es

Kit de llantas

Ventilador de 5V

Re
sistencias

Transistores

Diodos

Condensadores

Reguladores de

electrolticos

voltaje

Buzzer

Espadines hembra y
macho

http://automodeloip.blogspot.com/ Pgina 5

Potenci
metro lineal

Condensadores
cermicos

Diodos LED

Plugs DC

motor DC

Molex

Servomotor

Cable de red

PCB

D ESARROLLO
CONFIGURACIN DE EQUIPOS

Con el objetivo de realizar la comunicacin entre el prototipo y una Laptop es


necesario disponer de un mdulo convertidor Serial a Ethernet o Wifi. En este
proyecto de usa una configuracin entre la tarjeta Wiznet

WIZ110SR y un

router para la comunicacin entre la PC y la placa Arduino. Es decir se crea una


red LAN para dicha tarea.

A. CONFIGURACIN DEL MDULO WIZNET


Para realizar la tarea de transmisin de datos es necesario configurar el
mdulo WIZ110SR como servidor, de tal manera que, permita a un cliente

http://automodeloip.blogspot.com/ Pgina 6

conectarse a su red para el intercambiar de informacin respectiva y que


permita visualizarlos.
Los parmetros de configuracin del servidor WIZ110SR son:

Direccin IP: 192.168.11.2


Mscara de Subred: 255.255.255.0
Puerta de enlace: 192.168.11.1
Direccin MAC: 0x00.0x08.0xDC.0x17.0xCF.0x3F
Puerto local: 5000

Configuracin serial del servidor WIZ110SR:

Velocidad de transmisin serial: 9600


Tamao de bits de datos: 8 bits
Paridad: ninguna
Bit de parada: 1 bit

http://automodeloip.blogspot.com/ Pgina 7

B. CONFIGURACIN DEL ROUTER


Se puede usar cualquier router, basta que se pueda configurar para disear
la red, en m i caso dispongo de un router Trendnet TEW-6528Rp de 300Mbps.
El router es configurado como un punto de acceso a la red, de tal modo que
ofrezca direcciones IP dinmicamente para que cualquier host que pueda
conectarse a l.
Tanto para User Name y Password es admin.

http://automodeloip.blogspot.com/ Pgina 8

Para Wireless la configura es bsica: canal, ancho de banda del canal, y


estndar 802.11 b/g/n. Se escoge el canal uno para evitar interferencias entre
otros redes y canales.

http://automodeloip.blogspot.com/ Pgina 9

Para la red LAN definimos las direcciones IP dinmicamente para que las
entregue a los equipos que se conecten ya sea por cable o por wifi.

C. CONFIGURACIN DE LA PC
Ingresamos al Centro de redes y recursos compartidos de la PC para
configurar el adaptador de red inalmbrico

http://automodeloip.blogspot.com/ Pgina 10

Configuramos en propiedades el protocolo de internet versin 4 (TCP/IPv4).

De tal manera que ingresamos una direccin IP a la PC distinta a las IP ya


ocupadas (192.168.11.3), puerta de enlace que es la direccin IP del router
(192.168.11.1) y la mscara de subred (225.225.225.0) para estar en la misma
red.
Si todo sali excelente podemos verificar la conectividad haciendo ping
desde la PC al mdulo Wiznet

http://automodeloip.blogspot.com/ Pgina 11

TRASMISIN Y RECEPCIN DE DATOS


Arduino trasmite y recibe informacin de la red LAN a travs del puerto serial
del micro-controlador de para ser visualizada en un host las variables de RPM y
niveles de energa de la(s) batera(s), etc.
Un host se conecta a la red para trasmitir los datos de control al prototipo
como velocidades, direcciones, luces y buzzer

mediante un programa

desarrollado en LabVIEW en protocolos TCP/IP disponibles en las herramientas


de la plataforma LabVIEW.

A. TRANSMISIN DE DATOS DESDE ARDUINO HACIA UN HOST


Arduino transmite su informacin por el puerto serial a una velocidad de
9600 Baudios/s. Ojo es importante configurar el Modulo Wiznet y Arduino a la
misma velocidad, tamao de datos, paridad, etc.
La trasmisin se la realiza durante cada 500 mili-seg. En una sola trama de
longitud esttica como lo indica en la siguiente imagen:

http://automodeloip.blogspot.com/ Pgina 12

RPM en un tamao de 3 digitos.


V1 y V2 trasmite el valor de voltaje en las bateras 1 y 2 respectivamente.
Batera 1 es usada para energizar los circuitos, y Bateria 2 es para el motor. Si
prefieres puedes usar una sola batera para conectar todo el proyecto y leer el
nivel de voltaje en un solo punto de la batera. V1 es conectado al puerto
analgico 4 del Arduino y V2 al puerto analgico 5 del Arduino.
V1 y V2 son trasmitidos en tamaos de 4 dgitos.
En importante trasmitir en tamaos de 21 caracteres toda la informacin, de
tal manera que no exista inestabilidad, desplazamiento y lectura de datos
errneos al momento de recibir toda la informacin en la plataforma LabVIEW.

B. RECEPCIN EN ARDUINO
Arduino recibe informacin desde cualquier host conectado a la red para el
control respectivo del prototipo:

Recibe el carcter W para dar marcha al motor hacia delante


Recibe el carcter V para neutralizar marchas
Recibe el carcter S para dar marcha al motor hacia tras (giro

reverso del motor).


Recibe el carcter 0 para realizar el cambio cero o neutral (el motor

no realizara la marcha hacia delante si este est en cero)


Recibe el carcter 1 para realizar el primer cambio (el motor
realizara la marcha hacia detente si la 1ra o hasta la 5ta estn activas)

http://automodeloip.blogspot.com/ Pgina 13

Recibe el carcter 2 para realizar el segundo cambio para aumentar

la velocidad.
Recibe el carcter 3 para realizar el tercer cambio para aumentar a

velocidad media.
Recibe el carcter 4 para realizar el cuarto cambio
Recibe el carcter 5 para realizar el quinto cambio para aumentar la

velocidad mxima.
Recibe el carcter A para dar giro a la izquierda, este depende de

cmo se conecta el servomotor. Y para la accin intermitente de luces.


Recibe el carcter H para neutralizar el giro del servomotor.
Recibe el carcter D para dar giro a la derecha, y para la accin

intermitente de luces.
Recibe el carcter G para el encendido de luces delanteras
Recibe el carcter g para el apagado de luces delanteras
Recibe el carcter F para el encendido de luces traseras
Recibe el carcter f para el apagado de luces traseras
Recibe el carcter T para el encendido del Buzzer
Recibe el carcter t para el apagado del Buzzer.

C. TRANSMISIN DE DATOS DESDE LABVIEW HACIA UN ARDUINO


LabVIEW trasmite su informacin para el control del prototipo en el protocolo
TCP/IP disponibles en la paleta de funciones. LabVIEW 2012 o una versin
superior tiene que ser instalada en el computador que se quiera conectar a la
red.
La informacin trasmitida es la informacin recibida por la tarjeta Arduino,
por ejemplo:
HV0tgf
Donde H es para no girar el vehculo, V para neutralizar marchas, 0 para
no tener ningn cambio accionado, t para apagar el buzzer, g para apagar
luces delanteras y f para mantener apagadas las luces traseras.
Los caracteres W, S, A y D son accionados por las teclas del computador

http://automodeloip.blogspot.com/ Pgina 14

Los caracteres G, g, T y t son accionados por las teclas F2 y F3 del


computador. F2 controla los caracteres G y g, encendido o apagado de las
luces delanteras y F3 para el encendido y apagado del buzzer.

Los caracteres 0, 1, 2, 3, 4 y 5 son accionados por las teclas regpg


y avpg en HP o PGUP y PGON en cualquier computador.

regpg aumenta y avpg decrementa los cambios que se desea.

D.

RECEPCIN DE DATOS EN

LABVIEW

Como se ha mencionado antes, LabVIEW recibe toda la informacin en una


sola trama de longitud esttica, por ejemplo:
RPM:120V1:0674V2:0509
Una vez recibida toda la informacin se desentrama cada variables por
separado para realizar los clculos y visualizaciones respectivas como por
ejemplo: clculo de velocidad actual del vehculo en cm/s, RPM, niveles de
energa en las bateras de 0 a 12V y de 0% al 100% tanto para el motor como
para los circuitos.

ACONDICIONAMIENTO DE VOLTAJES PARA LECTURA DE BATERAS


http://automodeloip.blogspot.com/ Pgina 15

Es importante acondicionar los niveles de voltaje para lectura en los puertos


analgicos del Arduino de 0 a 5V. En nuestro caso se acondiciona los niveles de
voltajes para bateras de 11.5 voltios para 5 voltios de entrada en la tarjeta.
Entonces aplicando la ecuacin de divisin de voltaje se obtendr el
resultado de los potencimetros.
V out =

R 1=

R2
V
R1 + R2

( V V out ) R 2
V out

R2=10 k , V =11.5 V ,V out =5 V

BATERIAS

RV2
50k

R1=13 k

3
50k

50%

50%

RV1

1
2

CONN-SIL2

BAT1

BAT2

R13

R14

10k

10k

Acondicionamiento de baterias

En LabVIEW se realiza el proceso inverso para obtener los niveles de voltaje


reales de las bateras, es decir de 5V a 11.5 voltios como nivel mximo de la
batera. Y adicionalmente se realiza un clculo en porcentaje de los niveles de
energa de las bateras; como niveles mnimos de las bateras es de 7.5V y
mximos de 11.5V, es decir 7.5V = 0% y 11.5V = 100%.

http://automodeloip.blogspot.com/ Pgina 16

100%
90%
80%
70%
60%
Por ciento(%)

50%
40%
30%
20%
10%
0%
5

10

11

12

Voltaje Bateria (V)

Cuya ecuacin es:

y=25 x187.5

CONEXIN DE PINES DE ENTRADAS Y SALIDAS DEL ARDUINO


La asignacin de los pines de la tarjeta Arduino esa distribuida de la
siguiente manera:

http://automodeloip.blogspot.com/ Pgina 17

1) Puerto Analgico A4 para batera 1, ya acondicionada


2) Puerto Analgico A2 para batera 2, ya acondicionada
3) Puerto digitales 0 (RX) y 1 (TX) para comunicacin serial
4) Puerto D2 entrada para RPM
5) Puerto D3 salida para PWM del motor principal
6) Puerto D4 salida para control del motor en sentido horario
7) Puerto D5 salida para luces frontales
8) Puerto D6 salida para control del motor en sentido anti- horario
9) Puerto D7 salida para control del ventilador 1
10)
Puerto D8 salida para control del ventilador 2
11)
Puerto D9 salida para control de luces traseras
12)
Puerto D10 salida para Buzzer
13)
Puerto D11salida para servomotor
14)
Puerto D12 salida para luces intermitentes izquierda
15)
Puerto D13 salida para luces intermitentes derecha.

ESQUEMTICOS
Arduino UNO. (Opcional)
http://automodeloip.blogspot.com/ Pgina 18

Vin

D2
7805 1N4004
7805

R1

VI

BATERIA

C1

C2

100uF

220uF

R2
1k

C3

1N5399

VO
GND

22

100uF

D1

9V

ON

TX

RX

LED-RED

R4
Q1
2N3906

DB9-RXD

TX

LED-YELLOW

LED-YELLOW

R11

1
2
3
4
5
6
7
8

R10

1k

4.7k

1k

D4

CONN-SIL8

RX
1N4148

SERIAL (RJ-11)

90325-0004

10k

R5

DB9-TXD

CONN-D9F

TXD

DIGITAL 1

RX
K

AUTO-RESET

TX

1
2
3
4

10k

5
9
4
8
3
7
2
6
1

R3
SERIAL (DB-9)

100

JUMPER2

10k
DB9-RXD

R7

10k

RJ11-RXD

RXD
1k

Q2
RX

BC547

JUM-TX

D5

JUMPER2

1N4148
RJ11-TXD

TX

DB9-TXD

Nota: Si prefieres puedes hacer tu propia tarjeta Arduino en proteus.

Puente H con transistores para motor

http://automodeloip.blogspot.com/ Pgina 19

L1

C7

JUM.RX

R8
R6

D7

100

C4
10uF

RJ11-TXD
RJ11-RXD
AUTO-RESET

D0

R2
27

Q5

R1
J2
VS1
1

6
5
4
3
2
1

VS1

12V

CONN-SIL6

ANALOG IN
6
5
4
3
2
1
CONN-SIL6

1k

8
7
6
5
4
3
2
1

POWER

2N2222A

M_1_L

CONN-SIL8

J1
8
7
6
5
4
3
2
1

M_1_R
M_1_L
PWM_1

CONN-SIL8

R5
PWM_1
100

http://automodeloip.blogspot.com/ Pgina 20

Tarjeta de reguladores de voltaje y ventiladores

http://automodeloip.blogspot.com/ Pgina 21

Fuentes para wiznet

7805

D1

R1

VRouter

VI

VO

C6

C5

100nF

470u

100nF

100uF

470u

GND

C4

C3

C2

10nF

2.2

1N4007

VWIZNET C1

U2

VWiznet

U4

7808

7805
VO

C12

C11

10nF

VI

100nF

VO

100uF

Ventilador 1

VRouter

VWiznet

100uF

C13

VROUTERC10
VWiznet

VI
GND

GND

VRouter

U3

Fuente para Router

VW=VR
JUMPER

J1
POWER
6
5
4
3
2
1

8
7
6
5
4
3
2
1

C17
100nF
MOT2

CONN-SIL8
CONN-SIL6

ANALOG IN
6
5
4
3
2
1
CONN-SIL6

76543210
8
7
6
5
4
3
2
1
CONN-SIL8

http://automodeloip.blogspot.com/ Pgina 22

MOT1

R2
MOT1
4.7k

Placas de luces, Buzzer , servo, Fototransistor para PRM y acondicionamiento


de voltajes para medir el nivel de voltaje en las bateras

330

R5

10k

R4

330

R3

220

R2

220

R1

LED-YELLOW

Luces Frontales

RIGHT1

LED-YELLOW
K

LEFT 2

LED-YELLOW
K

LEFT 1

LED-BLUE
K

FRONT2

LED-BLUE
K

FRONT1

Luces intermitentes de Izquierda

Luces intermitent

BATERIAS

1
2
3
4

1
2
3
4

CONN-SIL4

BAT2

3
2
1

L
T
R

http://automodeloip.blogspot.com/ Pgina 23

R13

R14

10k

10k

Acondicionamiento de baterias

DIGITAL

SERVO

CONN-SIL3

L
F
R

1
BAT1

Buzzer

TR1

1k

1k

1.2k

CONN-SIL4

RV2

BC548

Buzz

FRO1

Q1

R9

40%

BUZZER

1
2

RV1
40%

BUZ1

CONN-SIL2

Servo
Buzz
Servo

1
2
3
4

ANALOG
BAT2
BAT1
RPM

CONN-SIL4

Conexiones de molex

1
2
3

CO

DISEO DE PCB
Arduino UNO

Puente H con transistores para motor

Tarjeta de reguladores de voltaje y ventiladores

http://automodeloip.blogspot.com/ Pgina 24

Placas de luces, Buzzer , servo, Fototransistor para PRM y acondicionamiento de voltajes para
medir el nivel de voltaje en las baterias

C ODIGO

EN

ARDUINO

#include <Servo.h>
//------- Variable para luces intermitentes ---------//
long tiempo_anterior_luces=0;
//------- Variable para transmisin de datos ---------//
long tiempo_anterior_tx=0;
boolean estado = false;
//------- Variables para medir RPM---------//
byte rpmcount;

http://automodeloip.blogspot.com/ Pgina 25

unsigned int rpm;


unsigned long timeold;
long timer_3=0;
//------- Variables para medir Voltajes---------//
int analogico4 = A4;
int analogico5 = A5;
//------- Variables de control---------//
int datoserial;
const int avanzar = 6;
const int control_motor = 3;
const int retroceder = 4;
const int ventilador_1 = 7;
const int ventilador_2 = 8;
const int luces_delanteras = 5;
const int luces_traceras = 9;
const int luces_intermitentes_izq = 12;
const int luces_intermitentes_der = 13;
const int buzzer = 10;
Servo volante; // PIN 11
int alta_veloc = 0; // para encender ventilador del motor
void rpm_fun() {
rpmcount++;
}
void setup() {
Serial.begin(9600);
volante.attach(11);
pinMode(control_motor, OUTPUT);
pinMode(luces_intermitentes_izq,OUTPUT);
pinMode(luces_intermitentes_der,OUTPUT);
pinMode(luces_delanteras,OUTPUT);
pinMode(luces_traceras,OUTPUT);
pinMode(avanzar,OUTPUT);
pinMode(retroceder,OUTPUT);
pinMode(ventilador_1,OUTPUT);
pinMode(ventilador_2,OUTPUT);
pinMode(buzzer ,OUTPUT);
attachInterrupt(0, rpm_fun, FALLING);
rpmcount = 0;
rpm = 0;
timeold = 0;
}
void loop() {
//---------Lunces intermitentes--------//
long tiempo_actual_luces = millis();
long tiempo_luces = tiempo_actual_luces - tiempo_anterior_luces;
//------------ Calculo de voltajes------------//
int bateria_circuitos = analogRead(analogico4);
int bateria_motor = analogRead(analogico5);
//------------ Encendido de ventiladores ------------//
long tiempo_ventilador = millis();

http://automodeloip.blogspot.com/ Pgina 26

if (tiempo_ventilador >= 60000) {


digitalWrite(ventilador_1,HIGH);
}
else {
digitalWrite(ventilador_1,LOW);
}
if (alta_veloc == 1) {
digitalWrite(ventilador_2,HIGH);
}
else {
digitalWrite(ventilador_2,LOW);
}
//------------ Calculo de RPM ------------//
long timer_1 = millis();
long timer_2 = timer_1 -timer_3;
if (timer_2 >= 1000){
detachInterrupt(0);
rpm = 60000/(millis() - timeold)*rpmcount;
timeold = millis();
rpmcount = 0;
attachInterrupt(0, rpm_fun, FALLING);
timer_3 = millis();
}
///------------ Transmisin de datos Ethernet------------//
if (estado == true){ // Transmite informacin cuando recibe
long tiempo_actual_tx = millis();
long tiempo_tx = tiempo_actual_tx - tiempo_anterior_tx;
if (tiempo_tx >=500){ // trasnmision de datos cada 500ms
Serial.print("RPM:");
if (rpm <= 30)Serial.print("0.0");
if ((rpm>30)&&(rpm<=99)){
Serial.print("0");
Serial.print(rpm);
}
if ((rpm>=100)&&(rpm<=999))Serial.print(rpm);
if (rpm>=1000)
Serial.print("0.0");
Serial.print("V1:");
if (bateria_circuitos <=9) {
Serial.print("000");
Serial.print(bateria_circuitos);
}
else if ((bateria_circuitos >=10)&&(bateria_circuitos <=99)) {
Serial.print("00");
Serial.print(bateria_circuitos);
}
else if ((bateria_circuitos >=100)&&(bateria_circuitos <=999)) {
Serial.print("0");
Serial.print(bateria_circuitos);
}
else Serial.print(bateria_circuitos);
Serial.print("V2:");
if (bateria_motor <=9) {
Serial.print("000");
Serial.println(bateria_motor);
}
else if ((bateria_motor >=10)&&(bateria_motor <=99)) {

http://automodeloip.blogspot.com/ Pgina 27

Serial.print("00");
Serial.println(bateria_motor);
else if ((bateria_motor >=100)&&(bateria_motor <=999)) {
Serial.print("0");
Serial.println(bateria_motor);

}
else Serial.println(bateria_motor);
tiempo_anterior_tx = millis();
}

//------------ Recepcin de datos Ethernet------------//


if(Serial.available()>0){
estado = true;
// recibe informacin para despues transmitir
datoserial = Serial.read();
if (datoserial=='W'){ // Marcha delante
digitalWrite(avanzar, HIGH);
digitalWrite(retroceder, LOW);
}
if (datoserial=='V'){ // Marcha neutral
digitalWrite(avanzar, LOW);
digitalWrite(retroceder, LOW);
}
if (datoserial=='S'){ // Marcha retro
digitalWrite(avanzar, LOW);
digitalWrite(retroceder, HIGH);
}
if (datoserial=='0'){ // motor apagado
analogWrite(control_motor, 0);
alta_veloc = 0;
}
if (datoserial=='1'){
analogWrite(control_motor, 250); // motor a 50 de velocidad
alta_veloc = 0;
}
if (datoserial=='2'){
analogWrite(control_motor, 175);// motor a 100 de velocidad
alta_veloc = 0;
}
if (datoserial=='3'){
analogWrite(control_motor, 200);// motor a 150 de velocidad
alta_veloc = 1;
}
if (datoserial=='4'){
analogWrite(control_motor, 225);// motor a 200 de velocidad
alta_veloc= 1;
}
if (datoserial=='5'){
analogWrite(control_motor, 255);// motor a maxima velicidad
alta_veloc = 1;
}
if (datoserial=='A'){ //Direccin al giro izquierdo del vehculo
volante.write(115);
digitalWrite(luces_intermitentes_der, LOW);
if (tiempo_luces <= 500)
digitalWrite(luces_intermitentes_izq, HIGH);
if ((tiempo_luces >= 501)&&(tiempo_luces <
1000))digitalWrite(luces_intermitentes_izq, LOW);
if (tiempo_luces >= 1001) tiempo_anterior_luces = millis();

http://automodeloip.blogspot.com/ Pgina 28

}
if (datoserial=='H'){ // Direccin neutral del vehculo
volante.write(90);
digitalWrite(luces_intermitentes_der, LOW); // intermitentes apagadas
digitalWrite(luces_intermitentes_izq, LOW);
}
if (datoserial=='D'){ //Direccin al giro derecha del vehculo
volante.write(65);
digitalWrite(luces_intermitentes_izq, LOW);
if (tiempo_luces <= 500)
digitalWrite(luces_intermitentes_der, HIGH);
if ((tiempo_luces >= 501)&&(tiempo_luces <
1000))digitalWrite(luces_intermitentes_der, LOW);
if (tiempo_luces >= 1001) tiempo_anterior_luces = millis();
}
if (datoserial=='G'){ // encendido de Luces delanteras
digitalWrite(luces_delanteras, HIGH);
}
if (datoserial=='g'){ // apagado de Luces delanteras
digitalWrite(luces_delanteras, LOW);
}
if (datoserial=='F'){ // encendido de Luces traceras
digitalWrite(luces_traceras, HIGH);
}
if (datoserial=='f'){ // apagado de Luces traceras
digitalWrite(luces_traceras, LOW);
}
if (datoserial=='T'){ // encendido de Buzer
digitalWrite(buzzer, HIGH);
}
if (datoserial=='t'){ // apagado de buzer
digitalWrite(buzzer, LOW);
}
}
}

C ODIGO

EN

L AB VIEW

Panel Frontal

http://automodeloip.blogspot.com/ Pgina 29

Diagrama de bloques

http://automodeloip.blogspot.com/ Pgina 30

I MGENES

DEL PROYECTO CONCLUIDO

http://automodeloip.blogspot.com/ Pgina 31

http://automodeloip.blogspot.com/ Pgina 32

http://automodeloip.blogspot.com/ Pgina 33

http://automodeloip.blogspot.com/ Pgina 34

http://automodeloip.blogspot.com/ Pgina 35

http://automodeloip.blogspot.com/ Pgina 36

http://automodeloip.blogspot.com/ Pgina 37

http://automodeloip.blogspot.com/ Pgina 38

http://automodeloip.blogspot.com/ Pgina 39

http://automodeloip.blogspot.com/ Pgina 40

http://automodeloip.blogspot.com/ Pgina 41

http://automodeloip.blogspot.com/ Pgina 42

http://automodeloip.blogspot.com/ Pgina 43

http://automodeloip.blogspot.com/ Pgina 44

http://automodeloip.blogspot.com/ Pgina 45

http://automodeloip.blogspot.com/ Pgina 46

http://automodeloip.blogspot.com/ Pgina 47

http://automodeloip.blogspot.com/ Pgina 48

http://automodeloip.blogspot.com/ Pgina 49

http://automodeloip.blogspot.com/ Pgina 50

http://automodeloip.blogspot.com/ Pgina 51

http://automodeloip.blogspot.com/ Pgina 52

http://automodeloip.blogspot.com/ Pgina 53

http://automodeloip.blogspot.com/ Pgina 54

R EFERENCIAS
https://sites.google.com/site/controltechnologyperu/home/Tutoriales/tutoriallabview/comunicacion-por-tcp
http://www.rcelectrico.es/
http://www.automodelismoparatodos.blogspot.com/
Si deseas descargar el proyecto completa visita el siguiente blog: http://automodeloip.blogspot.com/

http://automodeloip.blogspot.com/ Pgina 55

You might also like