You are on page 1of 18

Paso 4 - Desarrollar e implementar el prototipo del proyecto.

MICROPROCESADORES Y MCROCONTROLADORES

Por

Edwin Andrés Jiménez García


Gloria Susana Tovar Rojas

Tutor

NESTOR JAVIER RODRIGUEZ

Grupo: 309696_36

Universidad Nacional Abierta y A Distancia UNAD

Escuela de Ciencias Básicas Tecnología e Ingeniería

Mayo 2018
Contenido
Introducción ........................................................................... 3
Objetivos ................................................................................ 4
Desarrollo de actividad colaborativa ....................................... 5
Links youtube ........................................................................ 14
Propuesta grupal para el desarrollo de trabajo final .............. 15
Conclusiones .......................................................................... 17
Referencias Bibliográficas...................................................... 18
Introducción

En el desarrollo de este trabajo grupal, fue fundamental realizar las


lecturas de los temas propuestos, la participación en el foro, los talleres
impartidos por el director del curso y los laboratorios realizados, con lo cual
afianzamos nuestros conocimientos en la programación en Arduino, aunque
la simulación del seguidor de línea era línea y no se podía evidenciar en
físico, lo cual esperamos poder desarrollar en el laboratorio como parte del
componente practico.
Objetivos

 Comprender y aplicar el diseño de algoritmos en la programación en


Arduino, para utilizar el Arduino uno en la implementación.
 Mediante la utilización del sensor QTR-8, se espera poder reconocer
una línea en el trazado de una pista, para poder darle seguimiento
durante el recorrido.
 Mostrar el funcionamiento de los ejercicios propuestos, mediante un
video en el cual se explique el funcionamiento y así aplicarlo
posteriormente en el laboratorio.
Desarrollo de actividad colaborativa

Diseño e implementación de 1 circuito en plataforma Arduino:


Utilizando el Arduino Uno, nano o Leonardo Los programas gratuitos a
utilizar son: Arduino 1.6.9 Donde debe implementar lo siguiente en esta
plataforma de forma simulada.

Diseño de un robot seguidor de líneas en Arduino uno, Leonardo, o nano, y


un sensor QTR 8 (o sistema infrarrojo para la detección) para la detección de
la línea de color negro, 2 motores de 5vd, regulador de lm7805, sistema de
accionamiento de motores por transistores, tiristores (libre a implementar) y
conector de batería de 9vdc.Debe simularse en proteus y desarrollarse en
laboratorio de componente practico.

Insumos necesarios:

-Plataforma Arduino Uno, Leonardo o Nano


-Sensor QTR o sistema infrarrojo para simular el circuito
-Regulador lm293d
-sistema de control de motores (transistores, mosfets o tiristores)
-Motores 5vdc
-Fuente de 9vdc
-Resistencias y leds de colores

Código en Arduino 1.8.5

//Edwin Andrés Jiménez García


//UNAD -Micro - 2018
//Definir variables para el manejo del motor derecho
const int motorRPin1 = A0;// IN1
const int motorRPin2 = A1; // IN2
const int motorREnable = A2; // EN1
//Definir variables para el manejo del motor izquierdo
const int motorLPin1 = A3; // IN3
const int motorLPin2 = A4; // IN4
const int motorLEnable = A5; // EN2
//Vectores para el manejo de los sensores
const int irPins[8] = {7, 6, 5, 4, 3, 2 , 1 , 0};//Vector de asignacion de los
pines a utilizar
int irSensorDigital[8] = {0,0,0,0,0,0,0,0};//Vector donde se guardaran las
variables de los sensores
int i,j = 0;//Variables para manejar los ciclos for
int d = 1000;
int irSensors = B00000000;
int motorLSpeed = 255;
int motorRSpeed = 255;
int error = 140; //Variable para inabilitar
void setup() {
//Se declaran como salida los pines que manejaran los motores.
pinMode(motorLPin1,OUTPUT);
pinMode(motorLPin2,OUTPUT);
pinMode(motorLEnable,OUTPUT);
pinMode(motorRPin1,OUTPUT);
pinMode(motorRPin2,OUTPUT);
pinMode(motorREnable,OUTPUT);
//Se carga el estado de los sensores
for (int i = 0; i <= 7; i++)
{pinMode(irPins[i], INPUT);}
}
void loop() {
ScanS();
check();
}
void check( )
{
switch (irSensors) {

case B00000000: // carro continua hacia adelante


go();
break;

case B10000000: // El sensor detecta la linea a la izquierda


Derecha();
break;

case B01000000:// El sensor detecta la linea a la izquierda


Derecha();
break;

case B00100000: //// El sensor detecta la linea a la izquierda


Derecha();
break;

case B00010000: //// El sensor detecta la linea a la izquierda


Derecha();
break;

case B00001000:// El sensor detecta la linea a la derecha


Izquierda();
break;
case B00000100:// El sensor detecta la linea a la derecha
Izquierda();
break;

case B00000010: // El sensor detecta la linea a la derecha


Izquierda();
break;

case B00000001: //El sensor detecta la linea la derecha


Izquierda();
break;

case B11000000:
Derecha();
break;

case B01100000:
Derecha();
break;

case B00110000:
Derecha();
break;

case B00011000:
go();
break;

case B00001100:// El sensor detecta la linea a la derecha


Izquierda();
break;

case B00000110:// El sensor detecta la linea a la derecha


Izquierda();
break;

case B00000011:// El sensor detecta la linea a la derecha


Izquierda();
break;

case B11100000:
Derecha();
break;

case B01110000:
Derecha();
break;

case B00111000:
Derecha();
break;

case B00011100:// El sensor detecta la linea a la derecha


Izquierda();
break;

case B00001110:// El sensor detecta la linea a la derecha


Izquierda();
break;

case B00000111:// El sensor detecta la linea a la derecha


Izquierda();
break;

case B11110000:
Derecha();
break;

case B01111000:
Derecha();
break;

case B00111100://Sigue adelante


go();
break;

case B00011110:// El sensor detecta la linea a la derecha


Izquierda();
break;

case B00001111:// El sensor detecta la linea a la derecha


Izquierda();
break;

case B11111000:
Derecha();
break;
case B01111100:
Derecha();
break;

case B00111110:
Izquierda();
break;

case B00011111:// El sensor detecta la linea a la derecha


Izquierda();
break;

case B11111100:
Derecha();
break;

case B01111110:
go();
break;

case B00111111:// El sensor detecta la linea a la derecha


Izquierda();
break;

case B11111110:
Derecha();
break;
case B01111111:// El sensor detecta la linea a la derecha
Izquierda();
break;

case B11111111:// El sensor detecta la linea en todos los sencores, asi


que sigue derecho.
go();
break;
}
}
void Derecha() //Girar a la derecha
{
analogWrite(motorREnable, motorRSpeed-error);
digitalWrite(motorRPin1, HIGH);
digitalWrite(motorRPin2, LOW);

analogWrite(motorLEnable, motorLSpeed);
digitalWrite(motorLPin1, LOW);
digitalWrite(motorLPin2,HIGH);
}

void Izquierda() //Girar a la izquierda


{
analogWrite(motorREnable, motorRSpeed);
digitalWrite(motorRPin1, LOW);
digitalWrite(motorRPin2, HIGH);

analogWrite(motorLEnable, motorLSpeed-error);
digitalWrite(motorLPin1, HIGH);
digitalWrite(motorLPin2, LOW);
}

void go()//Activa los dos motores para que el carro gire hacia el frente
{
analogWrite(motorREnable, motorRSpeed);
digitalWrite(motorRPin1, LOW);
digitalWrite(motorRPin2, HIGH);

analogWrite(motorLEnable, motorLSpeed);
digitalWrite(motorLPin1, LOW);
digitalWrite(motorLPin2, HIGH);
}

void ScanS()//Realiza el scaneo de los sensores y lo ingresa la variable


irSensors
{
for ( byte count = 0; count < 8;count++ )
{
bitWrite(irSensors, count, digitalRead( irPins[count] ));
}
}
Montaje del circuito en proteus

Link Video:

https://youtu.be/zja-4S40UhQ
Con la propuesta escogida de trabajo final debe realizar:

CONCLUSIONES Y RECOMENDACIONES

 Se puede concluir que cualquier Proyecto puede ser implementado de


forma inicial en proteus.
 Programar en C permite identificar diferencias entre un Sistema de
prorrogación de alto nivel vs uno de bajo nivel, similar al ensamblador
ya que en general algunas características de bajo nivel del
ensamblador tienen mejoras ofrecidas por los lenguajes de alto nivel.
 Se observará ahorro en tiempo y administración de agua siendo más
beneficioso y generando rentabilidad a mediano plazo
 Alternativas de sistemas de riego
 Sistemas aptos para cualquier jardín siendo accesible para agricultores

Recomendaciones

 Se recomienda adquirir los insumos necesarios y de buena calidad para


que el desarrollo e implementación del sistema de riego sea optimo
 Es vital saber en qué espacio (terreno) se empleará el sensor, esto con
el fin de que el dispositivo en general o los componentes empleados no
sean sobre esforzados.
 Se sugiere hacer un estudio previo del lugar dónde será usado el
sensor, ya que si se definen desde el inicio las necesidades que existen
al momento de adquirir el sensor se puede determinar la cantidad de
insumos necesarios para la implementación de un sistema de mayor
capacidad
Pre diseño del prototipo a mostrar

Programación en Arduino
Conclusiones

 Se desarrolla de manera correcta la simulación del código realizado en


Arduino en proteus.
 Se implementa de manera adecuada el sensor QTR-8, con lo cual
reconoce los cambios de blanco y negro en la superficie reflectante de
la pista de pruebas.
 Se realiza el diseño en el componente practico, basado en la simulación
realizas de manera correcta.
 Continuando con los aportes del proyectó se realiza un pre diseño del
circuito con una simulación.
Referencias Bibliográficas

 Angulo U, (2001). Microcontroladores PIC. Diseño practico de


aplicaciones (2ª
Ed).Recuperado de http://bibliotecavirtual.unad.edu.co:2077/lib/unad
sp/detail.action?docID=10491329&p00=microcontroladores+pic
 Ibrahim, Dogan (2006) PIC BASIC Projects, 30 Projects Using PIC
BASIC and PIC BASIC PRO.
Recuperado de http://bibliotecavirtual.unad.edu.co:2139/eds/detail/d
etail?vid=7&sid=bb49356b-11e7-4189-97ff-
c78729359ced%40sessionmgr198&hid=127&bdata=Jmxhbmc9ZXMmc
2l0ZT1lZHMtbGl2ZQ%3d%3d#AN=173572&db=nlebk
 Di Jasio, Lucio (2007) Programming 16-bit PIC Microcontrollers in C,
Learning to Fly the PIC
24.nRecuperado de http://bibliotecavirtual.unad.edu.co:2139/eds/det
ail/detail?vid=3&sid=bb49356b-11e7-4189-97ff-
c78729359ced%40sessionmgr198&hid=127&bdata=Jmxhbmc9ZXMmc
2l0ZT1lZHMtbGl2ZQ%3d%3d#AN=193636&db=nlebk
 Boxall, John (2013). Arduino Workshop, A Hands-on Introduction with
65 Projects. Recuperado
de http://bibliotecavirtual.unad.edu.co:2139/eds/detail/detail?vid=5&
sid=bb49356b-11e7-4189-97ff-
c78729359ced%40sessionmgr198&hid=127&bdata=Jmxhbmc9ZXMmc
2l0ZT1lZHMtbGl2ZQ%3d%3d#AN=578482&db=nlebk

You might also like