domingo, 11 de octubre de 2015

Conectar Led RGB en Arduino

IMPLEMENTADO POR IVAN LUIS JIMENEZ (IVANOVICH-IVANOVICHACKER) 

EN ESTE POST ENSEÑARE A COMO CONECTAR UN LED RGB EN ARDUINO UNO, UTILIZANDO UNA PROTOBOARD Y UN LED RGB, TAMBIÉN LES DEJARE EL CÓDIGO. 

EL CONECTADO DEL LED ES DE LA SIGUIENTE MANERA: 

EJEMPLO FUNCIONANDO:





EL CÓDIGO SE ENTIENDE QUE ESTA EN UNA SENTENCIA WHILE Y DENTRO DEL WHILE SE ENCUENTRA EL IF, ES DECIR QUE SE VA ESTAR REPITIENDO EL PROCESO MIENTRAS ARDUINO ESTE CONECTADO. 

EL CÓDIGO ES EL SIGUIENTE: 




int ledRojo = 9; //Declara Pin LED Rojo
int ledVerde=10; //Declara Pin LED Verde
int ledAzul=11;  //Declara Pin LED Azul


void setup() // Se ejecuta cada vez que el Arduino se inicia

  Serial.begin(9600);
  pinMode(ledRojo,OUTPUT);  //El LED Rojo como una salida
  pinMode(ledVerde,OUTPUT); //El LED Verde como una salida
  pinMode(ledAzul,OUTPUT);  //El LED Azul como una salida
}

//------------------------------------
//Funcion ciclicla uso de while
//------------------------------------
void loop() // Esta funcion se mantiene ejecutando
{           //  cuando este energizado el Arduino

while(Serial.available() == 0);
char val = Serial.read();
if(val == '0'){
Serial.println("INVALIDO");
}
else if(val == '1'){
  color(255,0,0);     //Rojo
   delay(1000);
}
 else if(val == '2'){
  color(0,255,0);     //Verde
   delay(1000);
 }
   else if(val == '3'){
  
   color(0,0,255);     //Azul 
   delay(1000); 
 }
  else if(val == '4'){
  
   color(255,255,255); //Blanco
   delay(1000);
 }
    else if(val == '5'){
  
     color(255,0,255);   //Magenta
   delay(1000);
 }
 else if(val == '6'){
  
     color(255,128,0);  //Naranaja
   delay(1000);
 }
  

}

//------------------------------------
//Funcion O Método color
//------------------------------------

void color(int rojo, int verde, int azul){

    //Escritura de PWM del color Rojo
    analogWrite(ledRojo, 255-rojo);

    //Escritura de PWM del color Verde
    analogWrite(ledVerde, 255-verde);

    //Escritura de PWM del color Azul
    analogWrite(ledAzul, 255-azul);

}