Detector de Colores Con Arduino
Short Description
Descripción: El presente proyecto tiene como fin realizar un prototipo el cual detecte diferentes colores, y se visualic...
Description
UNIVERSIDAD COOPERATIVA DE COLOMBIA FACULTAD DE INGENIERÍA SECCIONAL BOGOTA INGENIERÍA ELECTRÓNICA
MICROCONTROLADORES Y MICROPROCESADORES
FECHA: 2013-03-03 VERSION 1 A
ANTEPROYECTO
Página 1 de 10
INTEGRANTES DEL GRUPO: CESAR RAMIRO BELTRÁN HERNÁNDEZ 1. TITULO DEL PROYECTO: DETECTOR DE COLORES USANDO EL SENSOR CNY70. 2 RESUMEN DEL PROYECTO: El presente proyecto tiene como fin realizar un prototipo el cual detecte diferentes colores, y se visualice en un LCD, recurriendo a la utilización de un microcontrolador como herramienta de implementación para su control y respectivas interfaces de entrada y salida como el sensor infrarrojo y el display. 3. DESCRIPCIÓN DEL PROYECTO: 3.1 Planteamiento del problema: A pesar de los avances tecnológicos actuales aplicados a la industria, existen muchas plantas que no cuentan aún con un sistema de automatización de procesos, lo que genera una baja calidad de sus productos, aumento de tiempos de producción, mayores gastos económicos, demanda de personal, etc. La detección de piezas dependiendo su color es una fase importante que puede ser aplicado en la automatización y control. 3.2 Justificación: Este proyecto representa la aplicación de conocimientos adquiridos durante el transcurso de la materia de microcontroladores y microprocesadores y demás disciplinas tratadas en la carrera en general. El diseño del presente prototipo es una buena opción para desarrollar las capacidades y puede tener múltiples aplicaciones. 3.3 Marco teórico: 3.3.1 Microcontrolador. Un microcontrolador es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: CPU, memoria y periféricos de entrada/salida. En la siguiente figura se muestra el esquema interno y apariencia externa de un microcontrolador.
UNIVERSIDAD COOPERATIVA DE COLOMBIA FACULTAD DE INGENIERÍA SECCIONAL BOGOTA INGENIERÍA ELECTRÓNICA
MICROCONTROLADORES Y MICROPROCESADORES
FECHA: 2013-03-03 VERSION 1 A
ANTEPROYECTO
Página 2 de 10
3.3.2 Sensor CNY 70. El CNY70 es un pequeño dispositivo con forma de cubo y cuatro pines que aloja en su interior un diodo emisor de infrarrojos que trabaja a una longitud de onda de 950 nm y un fototransistor (receptor) estando ambos dispuestos en paralelo y apuntando ambos en la misma dirección, la distancia entre emisor y receptor es de 2.8 mm y están separados del frontal del encapsulado por 1mm. Funcionamiento: El fototransistor conducirá más, cuanta más luz reflejada del emisor capte por su base. En la siguiente figura vemos la disposición interna del CNY70 mirando el encapsulado desde arriba, así pues tenemos el diodo emisor de infrarrojos a la izquierda y el fototransistor a la derecha.
Vista externa y circuitos internos del sensor CNY70 3.2.3 Modulo LCD. Los módulos LCD (Display de Cristal Líquido) son dispositivos utilizados para mostrar mensajes que indican al usuario el estado del aparato electrónico, o para dar instrucciones de manejo, mostrar valores. Etc. El LCD permite la comunicación entre las máquinas y los humanos, esto puede mostrar cualquier carácter ASCII, y consumen mucho menos que los displays 7 segmentos, existen varias presentaciones
UNIVERSIDAD COOPERATIVA DE COLOMBIA FACULTAD DE INGENIERÍA SECCIONAL BOGOTA INGENIERÍA ELECTRÓNICA
MICROCONTROLADORES Y MICROPROCESADORES
FECHA: 2013-03-03 VERSION 1 A
ANTEPROYECTO
Página 3 de 10
por ejemplo de 2 líneas por 8 caracteres, 2x16, 2x20, 4x20, 4x40, etc. Sin backlight (14 pines) o con backlight (16 pines, iluminado de pantalla).
3.4 Objetivos: 3.4.1 Objetivo general: Implementar un sistema electrónico que pueda detectar una determinada gama de colores y visualizarlo en un LCD. 3.4.2 Objetivos específicos:
Realizar la adecuación del sensor infrarrojo. Implementar la conversión análoga digital. Detectar el valor del CAD y relacionarlo con los colores. Visualizar los datos en el LCD Programar el microcontrolador con respectivas funciones para que se ejecuten de manera automática.
3.5 Procedimiento metodológico:
Primero se reconoce el problema y sus principales aspectos. Se recolecta información acerca de productos existentes. Diagrama de bloques:
Se realiza el diagrama de flujo:
UNIVERSIDAD COOPERATIVA DE COLOMBIA FACULTAD DE INGENIERÍA SECCIONAL BOGOTA INGENIERÍA ELECTRÓNICA
MICROCONTROLADORES Y MICROPROCESADORES
FECHA: 2013-03-03 VERSION 1 A
ANTEPROYECTO
Página 4 de 10
UNIVERSIDAD COOPERATIVA DE COLOMBIA FACULTAD DE INGENIERÍA SECCIONAL BOGOTA INGENIERÍA ELECTRÓNICA
MICROCONTROLADORES Y MICROPROCESADORES
FECHA: 2013-03-03 VERSION 1 A
ANTEPROYECTO
Página 5 de 10
Se consulta acerca de las diferentes áreas que se integraran en este proyecto como la electrónica, la sensorica y programación. Se buscan los dispositivos correctos que cumplan con los requerimientos de los procesos internos ya mencionados.
Arduino UNO. Plataforma de desarrollo
Se procede a realizar el diseño de las diferentes partes electrónicas como las interfaces de entrada y salida como se muestra en el esquema:
Se programa el microcontrolador en lenguaje C a través de la plataforma Ardunio.
UNIVERSIDAD COOPERATIVA DE COLOMBIA FACULTAD DE INGENIERÍA SECCIONAL BOGOTA
MICROCONTROLADORES Y MICROPROCESADORES
INGENIERÍA ELECTRÓNICA
FECHA: 2013-03-03 VERSION 1 A
ANTEPROYECTO
Página 6 de 10
Código Fuente #include LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { Serial.begin(9600); // pinMode(1,INPUT); lcd.begin(16, 2); lcd.setCursor(0, 0); lcd.print("ING ELECTRONICA - UCC BOGOTA"); lcd.setCursor(0, 1); lcd.print("PROYECTO MICROCONTROLADORES"); delay(1000); for (int positionCounter = 0; positionCounter < 22; positionCounter++) { lcd.scrollDisplayLeft(); delay(350); } delay(1000); lcd.clear(); } void loop() { lcd.clear(); //lcd.print("VOLTAJE CAD"); int CAD= analogRead(A0),N,B,A,R,V; double VOLTAJE=CAD/203.37972166998; lcd.setCursor(0, 0); lcd.print("COLOR:"); lcd.setCursor(12, 0); lcd.print("CAD:" ); //delay(300); //lcd.clear(); if ((CAD>=200)&&(CAD=800)&&(CAD=600)&&(CAD=740)&&(CAD=890)&&(CAD
View more...
Comments