Arduino vúmetro con potenciómetro

Arduino vúmetro con potenciómetro, es un ejercicio adicional del proyecto arduino luces rítmicas realizado en el contenido anterior, pero en esta ocasión le añadimos el potenciómetro el cual no arroja una señal análoga, donde ingresa por el puerto análogo de nuestro arduino para hacer la conversión de análogo a digital.

El ejercicio tiene como objetivo poder obtener en valor del voltaje de salida del potenciómetro y expresarlo en los leds dependiendo de la conversión realizada, donde al manipulado, el efecto de los led cambiara de forma tal que muestre un incremento o decremento del voltaje.

Materiales

Los materiales son el arduino, cables, 6 leds de diferentes colores, 6 resistencias de 1k Ω y por supuesto el potenciómetro de 5k Ω. Ver siguiente imagen.

Código

El código se describe a continuación, también lo puedes encontrar en el siguiente link.
/*Luces vúmetro potenciómetro
* Copyright: codigoelectronica.com
* Author: Oscar Fernandez @oscarfdzalz
* License: MIT
*/
void setup() {
  //Iniciamos puerto serial
  Serial.begin(9600);
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
}

void loop() {
  //Leemos puerto analogo
  int sensorValue = analogRead(A0);
  //Calculamos voltaje
  float voltaje = (sensorValue*5.0)/1024;
  //Verificamos el voltaje para encender los leds
  if(voltaje < 0.8){
    digitalWrite(2, HIGH);             
    digitalWrite(3, LOW);              
    digitalWrite(4, LOW);   
    digitalWrite(5, LOW);   
    digitalWrite(6, LOW);   
    digitalWrite(7, LOW);       
  }else if(voltaje >= 0.9 & voltaje <= 1.6){
    digitalWrite(2, HIGH);             
    digitalWrite(3, HIGH);              
    digitalWrite(4, LOW);   
    digitalWrite(5, LOW);   
    digitalWrite(6, LOW);   
    digitalWrite(7, LOW);
  }else if(voltaje >= 1.7 & voltaje <= 2.5){
    digitalWrite(2, HIGH);             
    digitalWrite(3, HIGH);              
    digitalWrite(4, HIGH);   
    digitalWrite(5, LOW);   
    digitalWrite(6, LOW);   
    digitalWrite(7, LOW);
  }else if(voltaje >= 2.6 & voltaje <= 3.3){
    digitalWrite(2, HIGH);             
    digitalWrite(3, HIGH);              
    digitalWrite(4, HIGH);   
    digitalWrite(5, HIGH);   
    digitalWrite(6, LOW);   
    digitalWrite(7, LOW);
  }else if(voltaje >= 3.4 & voltaje <= 4.1){
    digitalWrite(2, HIGH);             
    digitalWrite(3, HIGH);              
    digitalWrite(4, HIGH);   
    digitalWrite(5, HIGH);   
    digitalWrite(6, HIGH);   
    digitalWrite(7, LOW);
  }else if(voltaje >= 4.2 & voltaje <= 5.0){
    digitalWrite(2, HIGH);             
    digitalWrite(3, HIGH);              
    digitalWrite(4, HIGH);   
    digitalWrite(5, HIGH);   
    digitalWrite(6, HIGH);   
    digitalWrite(7, HIGH);
  }
  Serial.println(voltaje);
  delay(10);        
}
El código funciona de la siguiente manera:
  1. Inicia el programa y declaramos los pines del 2 al 7 como salida.
  2. Leemos el puerto análogo A0 en donde conectamos nuestro potenciómetro y con la siguiente formula hacemos el calculo del voltaje.
 int sensorValue = analogRead(A0);
  //Calculamos voltaje
  float voltaje = (sensorValue*5.0)/1024;

En donde multiplicamos el valor obtenido en el A0 que va de un rango de 0 - 1023 ya que el convertidor análogo del arduino trabaja a 16 bits, y lo multiplicamos por 5, que es el valor del voltaje de la placa, luego lo dividimos por 1024 para obtener el valor del voltaje.

Por ultimo realizamos la compilación del código y verificamos que este funcionando correctamente, y al manipular el potenciómetro, se debe cambiar el efecto visual de los led. Si tienes algún problema, no dudes en comentar.

Comentarios

Para dejar el comentario solo necesitamos tu correo que registraste en la pagina, pero si aun no te haz registrado se creara el usuario automaticamente.

  • Pablotriton88
    Pablotriton88
    Muy bueno el proyecto y la explicación.se podrá hacer estéreo.Gracias...
  • lausofchaleo
    lausofchaleo
    hola buenas tardes, tengo un problema con el que quisiera que me ayudaras, al momento de compilar el código al arduino me dice que no es posible por un problema en la placa, pero no me especifica que es, te agradecería recibir una respuesta lo mas pronto posible, gracias.

Detalle contenido

arduino vúmetro potenciómetro
Generic placeholder image
Oscar Fernandez Alzate

20, Agosto 2015

5787
Categorías
ARDUINO