Revista Tecnología

Arduino TUTORIAL parte 7: El potenciómetro

Publicado el 28 junio 2013 por Guille
 Hola buenas hoy quiero presentaros un nuevo elemento, el potenciómetro, y de paso vamos a aprovechar para enseñaros nuevas instrucciones del entorno Arduino
Arduino TUTORIAL parte 7: El potenciómetroLo que vamos a conseguir es en la práctica con un destornillador variar la resistencia interna del potenciómetro. En función del valor del potenciómetro vamos a iluminar mas o menos leds. Con esto estamos consiguiendo mandar una variación en la iluminación en función del giro. Antes con el pulsador mándabamos la orden apretando un botón ahora será en función del giro angular q le demos al potenciómetro
Si abrimos el monitor serial vemos como varía la resistencia del potenciómetro. Hacemos clic en Herramientas->Monitor Serial

Arduino TUTORIAL parte 7: El potenciómetro

En este caso el potenciómetro varía de 0 a 680.

 Con esto os dejo el vídeo de demostración, espero que os guste.
Os dejo a continuación el código del ejercicio en cursiva con unas breves anotaciones .
Código del texto
int leds[]={2,3,4,5,6};
int pot;//La variable pot es la variable a la que asociaremos el valor del potenciómetro
int n=0; //Declaramos las variables.
void setup(){
   for(n=0;n<5;n++)
  {
  pinMode(leds[n],OUTPUT);
  }
  Serial.begin(9600);  //Iniciamos la comunicación con el puerto monitor serial
}


void loop(){
  pot = analogRead(0);/* Aquí tenemos que recalcar que el valor de la variable pot, lo vamos a identificar con el valor detectado con el puerto analógico A0.Luego tenemos que destacar las opciones serial begin que comienza el monitor serial, y la opción serial print que permite introducir valores. Posteriormente iluminamos mas o menos leds en funcion del valor del potenciometro*/
 
  Serial.print("Valor del potenciometro");
  Serial.print("ohmios: ");
  Serial.print(pot);
  Serial.print("\n\n");
  delay(1000);
 
  if(pot >= 0 & pot <= 150){
 for(n=0;n<1;n++) 
 digitalWrite(leds[n],HIGH);
 for(n=1;n<5;n++)
 digitalWrite(leds[n],LOW);
 }
 if(pot >= 150 & pot <= 300){
 for(n=0;n<2;n++) 
 digitalWrite(leds[n],HIGH);
 for(n=2;n<5;n++)
 digitalWrite(leds[n],LOW);
 }
 if(pot >= 300 & pot <= 450){
 for(n=0;n<3;n++) 
 digitalWrite(leds[n],HIGH);
 for(n=3;n<5;n++)
 digitalWrite(leds[n],LOW);
 }
 if(pot >= 450 & pot <= 600){
 for(n=0;n<4;n++) 
 digitalWrite(leds[n],HIGH);
 for(n=4;n<5;n++)
 digitalWrite(leds[n],LOW);
 }
 if(pot >= 600){
 for(n=0;n<5;n++) 
 digitalWrite(leds[n],HIGH);
 }
 }

Esto es todo, cualquier duda podeis preguntarla en comentarios y la responderé NOS VEMOSS

Volver a la Portada de Logo Paperblog