InicioCiencia EducacionTutoriales Arduino, Proyecto 24: Sensor de color + LED RGB

Tutoriales Arduino, Proyecto 24: Sensor de color + LED RGB

     Proyecto 24: Sensor de color + LED RGB
Tutoriales Arduino, Proyecto 24: Sensor de color + LED RGB
Introducción:

En este proyecto utilizaremos un sensor de color y duplicaremos el color muestreado en el LED RGB.



Hardware a utilizar:


Placa Arduino
Sensor de color
TCS230 TCS3200
LED RGB
3 Resistencias 330 ohms
Protoboard
Cables



Diagrama de conexiones:electronica

Las conecciones para el módulo sensor de color son las siguientes:




Nota acerca de los sensores de color:En mi experiencia he visto que los sensores a veces no tienen el escudo de plástico negro que no permite que la luz de los LEDs iluminen directamente el sensor, cuando esto sucede el sensor solo ve el color BLANCO, el sensor debe leer la luz que rebota del objeto, no la luz directa de los LEDs, si tu módulo sensor de color no tiene el escudo negro debes improvisar uno.



led rgb
Para mejorar el efrecto de color en el LED RGB utilicéuna pelota de Ping-Pong blanca como lámpara.
 



Así es como el módulo sensor de color funciona, haremos tres lecturas distintas una por cada color R Red G Green y B Blue, para que el módulo lea cada color es necesario mandar los voltajes de señal en distintos ordenes, como se aprecia en la siguiente tabla


Tutoriales Arduino, Proyecto 24: Sensor de color + LED RGB

   
Sketch de ejemplo:

/////
int redPin=11;
int bluePin=6;
int greenPin=10;
int S2=7;
int S3=8;
int outPin=4;
unsigned intpulseWidth;
intrColorStrenght;
intbColorStrenght;
intgColorStrenght;
 
void setup()
{
  Serial.begin(9600);
  pinMode(redPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(S2, OUTPUT);
  pinMode(S3, OUTPUT);
  pinMode(outPin, INPUT);
  }
 
  void loop()
  {
    digitalWrite(S2, LOW);
    digitalWrite(S3, LOW);
    pulseWidth = pulseIn(outPin, LOW);
    rColorStrenght = (pulseWidth/400)-1;
    rColorStrenght = (255- rColorStrenght);
    digitalWrite(S2, HIGH);
    digitalWrite(S3, HIGH);
    pulseWidth = pulseIn(outPin, LOW);
    gColorStrenght = (pulseWidth/400)-1;
    gColorStrenght = (255- gColorStrenght);
    digitalWrite(S2, LOW);
    digitalWrite(S3, HIGH);
    pulseWidth = pulseIn(outPin, LOW);
    bColorStrenght = (pulseWidth/400)-1;
    bColorStrenght = (255- bColorStrenght);
   
    if(rColorStrenght > gColorStrenght&& gColorStrenght > bColorStrenght)
    {
      rColorStrenght= 255;
      gColorStrenght= gColorStrenght/2;
      bColorStrenght= 0;
    }
   
    if(rColorStrenght > bColorStrenght&& bColorStrenght > gColorStrenght)
    {
      rColorStrenght= 255;
      bColorStrenght= bColorStrenght/2;
      gColorStrenght= 0;
    }
   
    if(gColorStrenght > rColorStrenght&& rColorStrenght > bColorStrenght)
    {
      gColorStrenght= 255;
      rColorStrenght= rColorStrenght/2;
      bColorStrenght= 0;
    }
   
    if(gColorStrenght > bColorStrenght&& bColorStrenght > rColorStrenght)
    {
      gColorStrenght= 255;
      bColorStrenght= bColorStrenght/2;
      rColorStrenght= 0;
    }
   
    if(bColorStrenght> rColorStrenght&& rColorStrenght > gColorStrenght)
    {
      bColorStrenght= 255;
      rColorStrenght= rColorStrenght/2;
      gColorStrenght= 0;
    }
   
    if(bColorStrenght > gColorStrenght&& gColorStrenght > rColorStrenght)
    {
      bColorStrenght= 255;
      gColorStrenght= gColorStrenght/2;
      rColorStrenght= 0;
    }
   
    analogWrite(redPin, rColorStrenght);
    analogWrite(bluePin, bColorStrenght);
    analogWrite(greenPin, gColorStrenght);
    Serial.print(rColorStrenght);
    Serial.print("," );
    Serial.print(bColorStrenght);
    Serial.print("," );
    Serial.print(gColorStrenght);
    Serial.print("," );
    delay(500);
    }
/////

Revisa y sube tu sketch a tu placa Arduino, acerca objetos de diferentes colores al sensor, observa como se genera un color aproximado en el LED RGB.
 
********************************************************************************

Problemas escribiendo el código? descarga los ejemplos desde mi carpeta compartida en Dropbox: 

https://www.dropbox.com/sh/w5h38cdrynqdwhf/AABP7b9T3ADbO4KqiPm4pO-9a?
dl=0
          
Datos archivados del Taringa! original
30puntos
69visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

m
mircaed🇦🇷
Usuario
Puntos0
Posts35
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.