Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
UDI
III.
I.
Microcontroller ATmega328
Operating Voltage
5V
Input Voltage (recommended) 7-12V
Input Voltage (limits)
6-20V
Digital I/O Pins 14 (of which 6 provide
PWM output)
Analog Input Pins
6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin50 mA
Flash Memory 32 KB (ATmega328) of
which 0.5 KB used by bootloader
SRAM 2 KB (ATmega328)
EEPROM
1 KB (ATmega328)
Clock Speed 16 MHz
LINTRODUCCIN
COMPONENTES
Una Tarjeta De Desarrollo ARDUINO UNO
Un Dynamotion Shield Para Arduino
Un GearBox Cuatro Configuraciones
Un Servomotor
Cinco Sensores QTR Digital
Una Batera polmero litio Ion 1200 7.4V
Acrlico Transparente
Cables De Colores
Cinco Bases metlicas Hexagonales 3/4
(2-56)
Dos Ruedas Bsicas
Dos Ruedas De Neopreno
.
seleccionador de puerto para entrada de
voltaje, para que el usuario decida si
quiere manejar la board con una fuente
externa (usando la bornera) o si prefiere
manejarla desde los pines de potencia de
arduino. Adicionalmente la board tiene
puertos digitales y anlogos de salida para
hacer un fcil conexionado de sensores u
otros dispositivos, de esta manera
sensores para medir distancia, sensores
de seguimiento de lnea y otros se pueden
conectar fcilmente.
Voltaje
Celdas:
1000mAh
Descarga
Conector carga
Conector descarga
plug
Dimensiones:
18mm
Peso
7.4V
Paquete de 2 celdas
25C
JST-XH
JST-RCY discharge
70mm x 35mm x
85g
IV.
2
B. PRIMERAS PRUEBAS
Al haber concluido el montaje mecanico se
procede a comprobar si el sistema funciona, si el
peso es el apropiado, si las llantas instaladas son
las adecuadas, si la plataforma diseada para la
direccion esta cumpliendo con su funcin, si las
medidas exigidas se estan cumpliendo y por ultimo
se hace una breve prueba conectando la bateria al
motor que dara el impulso del movimiento para
observar su comportamiento. Si lo anterior
presenta alguna irregularidad Se procede a
solucionarla sino se continua a la siguiente etapa
V.
Metodologa:
C. CONEXIONES
A continuacion ya teniendo ubicado el motor y el servo
se pasa a conectarlos al Dynamotion Shield que a su
.
D. ENSAYOS DE PRUEBA Y ERROR
digitalWrite (sensor2,HIGH);
digitalWrite (sensor3,HIGH);
digitalWrite (sensor4,HIGH);
digitalWrite (sensor5,HIGH);
}
void loop(){
valorSensor1=digitalRead(sensor1);
valorSensor2=digitalRead(sensor2);
valorSensor3=digitalRead(sensor3);
valorSensor4=digitalRead(sensor4);
valorSensor5=digitalRead(sensor5);
if (valorSensor1==1 && valorSensor3==1 &&
valorSensor5==1) //DETENIDO
{
digitalWrite(motor,LOW);
//digitalWrite(rever,LOW);
digitalWrite(izq,LOW);
digitalWrite(der,LOW);
}else if (valorSensor1==0 && valorSensor3==1 &&
valorSensor5==0)//AVANCE
{
//digitalWrite(rever,LOW);
analogWrite(motor,velo);
digitalWrite(der,LOW);
digitalWrite(izq,LOW);
}
else if (valorSensor1==0 && valorSensor3==0 &&
valorSensor5==0)//DETENIDO - REVER - BLANCO
{/*
digitalWrite(motor,LOW);
analogWrite(rever,velo/4);
digitalWrite(izq,LOW);
digitalWrite(der,LOW);*/
if (flag==1)
{
//digitalWrite(izq,LOW);
analogWrite(der,movi);
// digitalWrite(rever,LOW);
analogWrite(motor,velo/1.2);
}
if (flag==2)
{ analogWrite(izq,movi);
// digitalWrite(der,LOW);
// digitalWrite(rever,LOW);
analogWrite(motor,velo/1.2);
E. PROGRAMACIN
Al haberse completado el diseo mecnico el siguiente
paso es la programacin, se empiezan a escribir las
lineas de codigo en lenguaje C, en el software de
Arduino, Esta es una programacin para que lea linea
negra y maneje una velocidad asignada.
int conta=0;
int motor=5;
//int rever=3;
int izq=6;
int der=9;
int velo=(255*40/100);//porcentaje velocidad motor
int movi=(255*45/100);//porcentaje giro o cruze del servo
int flag=0;
const int sensor1 = 2;
const int sensor2 = 4;
const int sensor3 = 7;
const int sensor4 = 8;
const int sensor5 = 10;
int valorSensor1;
int valorSensor2;
int valorSensor3;
int valorSensor4;
int valorSensor5;
}
}
else if (valorSensor1==1 && valorSensor3==0 &&
valorSensor5==0)//DERECHA RAPIDO
{ analogWrite(der,movi);
digitalWrite(izq,LOW);
// digitalWrite(rever,LOW);
analogWrite(motor,velo);
flag=1;
}
else if (valorSensor1==1 && valorSensor3==1 &&
valorSensor5==0)//DERECHA RAPIDO -2
{ analogWrite(der,movi);
digitalWrite(izq,LOW);
// digitalWrite(rever,LOW);
void setup(){
Serial.begin(9600);
pinMode (12, INPUT);
pinMode (sensor1,INPUT);
pinMode (sensor2,INPUT);
pinMode (sensor3,INPUT);
pinMode (sensor4,INPUT);
pinMode (sensor5,INPUT);
pinMode (motor,OUTPUT);
//pinMode (rever,OUTPUT);
pinMode (izq, OUTPUT);
pinMode (der, OUTPUT);
digitalWrite (12, HIGH);
digitalWrite (sensor1,HIGH);
.
analogWrite(motor,velo/1.2);
}
else if (valorSensor1==0 && valorSensor3==0 &&
valorSensor5==1) //IZQUIERDA RAPIDO
{ analogWrite(izq,movi);
digitalWrite(der,LOW);
// digitalWrite(rever,LOW);
analogWrite(motor,velo);
flag=2;
}
else if (valorSensor1==0 && valorSensor3==1 &&
valorSensor5==1) //IZQUIERDA RAPIDO -2
{ analogWrite(izq,movi);
digitalWrite(der,LOW);
//digitalWrite(rever,LOW);
analogWrite(motor,velo/1.2);
}}
F.
RESULTADOS
Video: EN FUNCIONAMIENTO
https://www.youtube.com/watch?v=p51R5Z7KmyQ
CONCLUSION.
Segn el diseo realizado, se espera que el
seguidor cumpla con el objetivo principal de este
proyecto, que es recorrer una pista de lnea negra
en el menor tiempo posible. A pesar de ser pesado
el seguidor de lnea evidencia muy buena
velocidad.
REFERENCIAS
[1] http://www.dynamoelectronics.com/home.html
[2] http://arduino.cc/en/Main/arduinoBoardUno
[3] http://www.arduino.cc/es/
[4] http://tienda.tdrobotica.co/categoria/81
[5]http://pfcrobolab.blogspot.com/2011/06/diagrama-de-bloquespara-el-diseno-del.html
Notas:
1.
Creado por:
Leidy Martnez, Ingrid Rangel, Manuel Bersinger,
Carlos Solano.
Para la materia de microcontroladores II
Escuela de Ingeniera Electrnica
Universitaria De Investigacin Y Desarrollo
2013