sábado, 3 de setembro de 2011

Potenciômetro

     Nessa postagem irei explicar função nova, estou utilizando potenciômetro para controlar o tempo em que um LED vai piscar e a intensidade de luz do LED RGB, usando nas portas PWM.

     Nessa "aula" estou usando 4 potenciômetros, 1 LED RGB e 3 resistores de 220ohm para proteger o LED. 1 potenciômetro é para o LED do pino 13 e outros 3 para cada cor do LED RGB. O circuito do potenciômetro com os LED RGB fica assim:
Esse circuito é para 1 potenciômetro, mas é idem com todos os potenciômetros.
Programação:

const int led = 13;
int T = 0;
const int R = 11;
const int G = 10;
const int B = 9;
const int potled = 0;
const int potR = 1;
const int potG = 2;
const int potB = 3;
void setup()
{
  pinMode(led, OUTPUT);
  pinMode(R, OUTPUT);
  pinMode(G, OUTPUT);
  pinMode(B, OUTPUT);  Serial.begin(9600);
}
void loop()
{
  //Programação De Tempo do LED que pisca
  T=analogRead(potled);
  digitalWrite(led, HIGH);
  delay(T);
  digitalWrite(led, LOW);
  delay(T);
                                                                                                                                                               //Programação de Cores com RGB                                                                                                                                   int valorR=analogRead(potR);                                                                                                              int valorG=analogRead(potG);
  int valorB=analogRead(potB);
  int pwmr = map(valorR,0,1023,0,255);
  int pwmg = map(valorG,0,1023,0,255);
  int pwmb = map(valorB,0,1023,0,255);
  analogWrite(R, pwmr);

  analogWrite(G, pwmg);
  analogWrite(B, pwmb);
}

     Agora irei explicar a função matemática map() e variável const:
                                 - const -> A const palavra-chave significa constante. É uma variável qualificador que modifica o comportamento da variável, tornando uma variável " read-only ". Isto significa que a variável pode ser usado apenas como qualquer outra variável de seu tipo, mas seu valor não pode ser alterado. Você vai ter um erro do compilador, se você tentar atribuir um valor a uma const variável.

- map() -> map serve para fazer calculo de um intervalo para o outro, map(valor, ValorInicialDesligado, ValorInicialLigado, ValorFinalDesligado, ValorFinalLigado), ou seja, o ValorInicalDesligado ficará mapeado em ValorFinalDesligado, e o ValorInicalLigado ficará mapeado em ValorFinalLigado.
OBS.: Nos valores Desligado, não quer dizer que o valor tem quer se menor do que os valores Ligados, podendo fazer o contrario, o valor Desligado ser maior que os Ligado. Também podendo usar valores negativos.


Vídeo:

0 comentários:

Postar um comentário

 
Blogger Templates