LEDs controlados por potenciómetro

Usando um potenciómetro semelhante aos que se encontram em mesas de mistura, fiz um seleccionador de LED. De acordo com a posição mostra um ou outro LED, o problema é o potenciómetro ser logarítmico pelo que a posição central não acende o LED do meio mas sim o da ponta. Fica mostrado o conceito, funciona.

 

Video

 

Sketch

/*
 * Escala de LEDs controlada por potenciomentro
 *
 * 20101203 Luis Sismeiro
 */

byte potIn = 0;
byte ledPin1 = 12;
byte ledPin2 = 11;
byte ledPin3 = 10;
byte ledPin4 = 9;
byte ledPin5 = 8;
int value;

void setup() {
 pinMode(ledPin1, OUTPUT);
 pinMode(ledPin2, OUTPUT);
 pinMode(ledPin3, OUTPUT);
 pinMode(ledPin4, OUTPUT);
 pinMode(ledPin5, OUTPUT);

 Serial.begin(9600);
 Serial.flush();
}

void loop() {
 digitalWrite(ledPin1, LOW);
 digitalWrite(ledPin2, LOW);
 digitalWrite(ledPin3, LOW);
 digitalWrite(ledPin4, LOW);
 digitalWrite(ledPin5, LOW);

 value = analogRead(potIn);
 Serial.println(value); 

 if (value >= 0 && value < 248)
 digitalWrite(ledPin1, HIGH);
 if (value >= 248 && value < 496)
 digitalWrite(ledPin2, HIGH);
 if (value >= 496 && value < 644)
 digitalWrite(ledPin3, HIGH);
 if (value >= 644 && value < 928)
 digitalWrite(ledPin4, HIGH);
 if (value >= 928 && value < 1024)
 digitalWrite(ledPin5, HIGH);

 delay(500);
} 

Etiquetas: ,

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s


%d bloggers like this: