martes, 27 de octubre de 2015
A continuación mostrare el funcionamiento del sensor detector de colores TCS3200 con el arduino. Como habíamos dicho en la presentación del proyecto, este sensor nos permite capturar la cantidad de colores rojo, verde y azul según lo que capte este, ayudado de los leds cuyo objetivo es dar luz para que el sensor detecte mejor la nitidez del color.
En el transcurso de este tiempo eh desarrollado el siguiente código que nos permitirá captar los 3 colores principales:
int s0 = 8;
int s1 = 9;
int s2 = 12;
int s3 = 11;
int out = 10;
//Declaración de los pines de colores del led RGB
int ledrojo = 2;
int ledverd = 3;
int ledazul = 4;
//Estas variables almacenaran la cantidad de cada color
int red = 0;
int green = 0;
int blue = 0;
void setup() {
//Configuramos los diferentes pines e empezamos encendiendo el pin S0 y S1
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(s3, OUTPUT);
pinMode(out, INPUT);
pinMode(ledrojo, OUTPUT);
pinMode(ledverd, OUTPUT);
pinMode(ledazul, OUTPUT);
Serial.begin(9600);
digitalWrite(s0, HIGH);
digitalWrite(s1, HIGH); }
void loop(){
color(); //Llamamos al método llamado color()
//Y luego nos muestra en el monitor serial el valor de cada color según detecte el sensor
Serial.print("Rojo:");
Serial.print(red, DEC);
Serial.print("Verde : ");
Serial.print(green, DEC);
Serial.print(" Azul : ");
Serial.print(blue, DEC);
Serial.println(); //Salto de línea en cada lectura
/*Sentencias que nos permiten identificar el color a través del rango predeterminado del color rojo, azul y verde, es decir comparamos la cantidad de color de cada uno y la sentencia compara si coincide y encendera el led RGB con el color especifico que está leyendo */
if (red < blue && red < green && red > 50) {
Serial.println("Rojo");
digitalWrite(ledrojo, HIGH); //Se enciende el led rojo y apagamos los demás colores
digitalWrite(ledverd, LOW);
digitalWrite(ledazul, LOW); }
else if (blue < red && blue < green){
Serial.println("Azul");
digitalWrite(ledrojo, LOW);
digitalWrite(ledverd, LOW);
digitalWrite(ledazul, HIGH); //Se enciende el led azul
}
else if (green < red && green < blue){
Serial.println("Verde");
digitalWrite(ledrojo, LOW);
digitalWrite(ledverd, HIGH); //Se enciende el led verde
digitalWrite(ledazul, LOW); }
Serial.println(); /*Mantenemos encendido el led por dos segundos si el sensor ya no detecta el color lo apagara después de ese tiempo*/
delay(2000);
digitalWrite(ledrojo, LOW);
digitalWrite(ledverd, LOW);
digitalWrite(ledazul, LOW); }
void color() {
//Método que lee el valor de los colores
digitalWrite(s2, LOW); digitalWrite(s3, LOW);
//Contador OUT, pinRojo
red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s3, HIGH);
//Contador OUT, pinAzul
blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s2, HIGH);
//Contador OUT, pinVerde
green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
Modelo del circuito que se utilizó:
Lo que hace el sensor detector de color es enfocar cierto color y capturar la nitidez de cada color rojo, verde, y azul. Como sabemos un color está compuesto por cierta cantidad de rojo, verde y azul, es decir la combinación de la cantidad de estos tres colores dan lugar a un nuevo color.
Una vez que nosotros pongamos un sólido sea verde, rojo o azul frente al sensor, el captara e inmediatamente prenderá el led del color que esta captando el sensor TSC3200.
Etiquetas:Arduino
Suscribirse a:
Enviar comentarios
(Atom)
Datos personales:
Etiquetas
- Arduino (8)
- Auditoria (2)
- ConceptosAuditoria (2)
- EjerciciosRedes (2)
- Entregas (4)
- Introducción a la web (2)
- Noticias (7)
- Programación (2)
- Redes (6)
- Scratch (5)
Entradas populares
-
Hago presente mi segunda entrega de mi prototipo, empezando con los materiales que utilicé: -Arduino UNO.- Placa principal para dar func...
-
Esta vez les traigo un ejercicio de enrutamiento estático con 3 routers: Datos: Lan1: 172.168.0.0 /18 Lan2: 172.168.64.0 /18 Lan3...
-
A continuación mostrare el funcionamiento del sensor detector de colores TCS3200 con el arduino. Como habíamos dicho en la presentación d...
-
Hago presente mi cuarta entrega de mi prototipo, bueno empecemos por los materiales que se utilizó: -Arduino mega: Placa fundamental y p...
-
Hola estimados esta vez les traigo un tutorial de como instalar Packettracer 6.2 para el sistema operativo ubuntu, bueno sin mas rodeo v...
HOLA DISCULPA YO AGREGUE UN SERVOMOTOR QUE DEPENDIENDO DE LOS COLORES GIRA A 0, 90 Y 180 GRADOS. ALGUNAS VECES EL SERVO SE VUELVE LOCO. ME PODRIAS AYUDAR? CREO QUE ES POR LA FRECUENCIA DEL SENSOR. OTRO PROBLEMA ES QUE UNAS VECES NO DETECTA SI ES ROJO O VERDE.
ResponderEliminarAGRADECERIA TU RESPUESTA
Disculpa pero en estos momentos no se encuentra disponible.
Eliminar