terça-feira, junho 30, 2015

LED RGB COM POTENCIÔMETRO

Neste post o sketch tem como função apresentar o LED RGB (múltiplas cores), o potenciômetro e o push button. O RGB é a combinação de três LED’s – vermelho, verde e azul – em um só. Para fazer a combinação dessas cores se utiliza os potenciômetros, neste sketch apenas dois para duas cores. Os push button são chaves liga e desliga que podem ser associados à resistências internas da placa do Arduino. Essa associação é que define se a chave estará ligada sem ser pressionada (pull up), ou ao ser pressionada (pull down).
A função map e o comando While aparecem também neste sketch. A função matemática map faz uma mudança de valores de um intervalo. Seus parâmetros são: a variável da qual se quer mudar os limites de intervalo; os limites originais e os limites desejados. O camando While  abre um laço (looping), que continua enquanto a condição no parêntese não se tornar falsa



/*
******************************************************
      PROJETO ROBÓTICA NA ESCOLA 2015       
 LED RGB/POTENCIÔMETRO E PUSHBUTTON
              EE DR PEDRO VELHO – RN/BR              
******************************************************
*/
#define ledVermelho 9 //Define vermelho do RGB como pino 9
#define ledVerde 10 //Define verde do RGB como pino 10
#define ledAzul 11 //Define azul do RGB como pino 11
#define pot A0  //Define potenciômetro como pino A0
#define pot1 A1  //Define potenciômetro1  como pino A1
#define botaoAzul 4 //Define botão ligado ao azul como pino 4
#define botaoVerde 5 //Define botão verde como pino 5
int valorAzul=0;
int valorVerde=0;
void setup()
{     
pinMode(ledVermelho, OUTPUT); //Configura o pino 9 como saída  
pinMode(botaoAzul, INPUT_PULLUP);
//Configura o pino 4 como entrada e com o resistor de pullup ativo   
pinMode(botaoVerde, INPUT_PULLUP);
//Configura o pino 5 como entrada e com o resistor de pullup ativo
}
void loop()
{
   digitalWrite(ledVermelho,HIGH);
   while(!(digitalRead(botaoAzul))) //Enquanto o botão do pino 4 estiver pressionado 
    {   
    int valorAzul = map(analogRead(pot), 0, 1023, 0, 255);            
    analogWrite(ledAzul, valorAzul);
    //Gera o PWM no pino 11, com o valor convertido do pot 
    }
   while(!(digitalRead(botaoVerde))) //Enquanto o botão do pino 5 estiver pressionado 
    {   
    int valorVerde = map(analogRead(pot1), 0, 1023, 0, 255);            
    analogWrite(ledVerde, valorVerde);
   //Gera o PWM no pino 10, com o valor convertido do pot1
   }
}

// FIM DO SKETCH

Nenhum comentário:

Postar um comentário