Potenciómetro




//  _ ___ _______     ___ ___ ___  ___ _   _ ___ _____ ___
// / |_  )__ /   \   / __|_ _| _ \/ __| | | |_ _|_   _/ __|
// | |/ / |_ \ |) | | (__ | ||   / (__| |_| || |  | | \__ \
// |_/___|___/___/   \___|___|_|_\\___|\___/|___| |_| |___/
//
// Potenciómetro
//
// Made by Eduardo Rafael Ramírez Camarillo
// License: CC-BY-SA 3.0
// Downloaded from: https://123d.circuits.io/circuits/707899-practica-potenciometro

/* ******************** LECTURA DE UN POTENCIÓMETRO ***********************
ESTE PROGRAMA HACE LA CONVERSIÓN ANALÓGICA DIGITAL DE LA ENTRADA DE UN POT
Y ENVÍA EL RESULTADO POR RANGOS A LOS CUATRO LEDS CONECTADOS.
*/

int led1 = 5; // Declaración de puertos donde están los LEDs
int led2 = 4;
int led3 = 3;
int led4 = 2;

int potenciometro = 1; // Definición de donde está conectado el pot
int lectura; // Variable donde se almacenará el resultado ADC

void setup()
{
  pinMode (led1, OUTPUT); // Puertos LEDS configurados como salidas
  pinMode (led2, OUTPUT);
  pinMode (led3, OUTPUT);
  pinMode (led4, OUTPUT);
}

void loop()
{
  lectura = analogRead (potenciometro); // Conversión Analógica digital del puerto AN1
  Serial.println(lectura); // Impresión del resultado ADC en la terminal
 
  // Definición de los rangos
  if (lectura <= 255)
  {
    digitalWrite(led1, HIGH);
    digitalWrite(led2, LOW);
    digitalWrite(led3, LOW);
    digitalWrite(led4, LOW);
  }
  else if ((lectura >255)&&( lectura <= 511))
  {
    digitalWrite (led2, HIGH);
    digitalWrite (led3, LOW);
    digitalWrite (led4, LOW);
  }
  else if ((lectura >511)&&( lectura <= 767))
  {
    digitalWrite (led3, HIGH);
    digitalWrite (led4, LOW);
  }
  else if ((lectura >767)&&( lectura <= 1023))
  {
    digitalWrite (led4, HIGH);
  }
  else // Si no se cumple ningún caso, se apagan los cuatro leds
  {
    digitalWrite (led1, LOW);
    digitalWrite (led2, LOW);
    digitalWrite (led3, LOW);
    digitalWrite (led4, LOW);
  }
}

2 comentarios:

  1. BRYAN ALTAMIRANO
    -------------------------------------------------------------------------------------------
    LED QUE BAJA Y SUBE INTENSIDAD AUTOMATICAMENTE CON POTENCIOMETRO

    int led1 = 5;
    int i;

    int potenciometro = 1;
    int lectura;

    void setup ()
    {
    pinMode (led1, OUTPUT);

    }

    void loop()
    {
    lectura = analogRead (potenciometro);
    Serial.println(lectura);

    if (lectura <= 255)
    {
    digitalWrite(led1, HIGH);

    for(i=0; i<256; i++)
    {
    analogWrite(led1,i);
    delay(5);
    }
    }

    else if ((lectura >255)&&( lectura <= 767))
    {
    digitalWrite(led1, HIGH);
    for(i=255; i>-1; i--)
    {
    analogWrite(led1,i);
    delay(5);
    }
    }

    else if ((lectura >767)&&( lectura <= 1023))
    {
    digitalWrite(led1, HIGH);
    for(i=255; i>-1; i--)
    {
    analogWrite(led1,i);
    delay(5);
    }
    }
    else
    {
    digitalWrite(led1, HIGH);
    for(i=0; i<256; i++)
    {
    analogWrite(led1,i);
    delay(5);
    }

    }
    }

    ResponderEliminar
  2. BARGRAPH CON POTENCIOMETRO
    ----------------------------------------------------------------------------
    BRYAN MICHELLE JIMENEZ ALTAMIRANO
    ------------------------------------------------------------------------------
    int led0 = 4;
    int led1 = 5;
    int led2 = 6;
    int led3 = 7;
    int led4 = 8;
    int led5 = 9;
    int led6 = 10;
    int led7 = 11;
    int led8 = 12;
    int led9 = 13;



    int potenciometro = 1;
    int lectura;

    void setup ()
    {


    pinMode (led0, OUTPUT);
    pinMode (led1, OUTPUT);
    pinMode (led2, OUTPUT);
    pinMode (led3, OUTPUT);
    pinMode (led4, OUTPUT);
    pinMode (led5, OUTPUT);
    pinMode (led6, OUTPUT);
    pinMode (led7, OUTPUT);
    pinMode (led8, OUTPUT);
    pinMode (led9, OUTPUT);

    }



    void loop()
    {
    lectura = analogRead (potenciometro);
    Serial.println(lectura);



    if (lectura <= 255)
    {
    digitalWrite(led0, HIGH);
    digitalWrite(led1, LOW);
    digitalWrite(led2, LOW);
    digitalWrite(led3, LOW);
    digitalWrite(led4, LOW);
    digitalWrite(led5, LOW);
    digitalWrite(led6, LOW);
    digitalWrite(led7, LOW);
    digitalWrite(led8, LOW);
    digitalWrite(led9, LOW);
    }
    else if ((lectura >255)&&( lectura <= 300))
    {

    digitalWrite(led1, HIGH);
    digitalWrite(led2, LOW);
    digitalWrite(led3, LOW);
    digitalWrite(led4, LOW);
    digitalWrite(led5, LOW);
    digitalWrite(led6, LOW);
    digitalWrite(led7, LOW);
    digitalWrite(led8, LOW);
    digitalWrite(led9, LOW);
    }
    else if ((lectura >300)&&( lectura <= 400))
    {

    digitalWrite(led2, HIGH);
    digitalWrite(led3, LOW);
    digitalWrite(led4, LOW);
    digitalWrite(led5, LOW);
    digitalWrite(led6, LOW);
    digitalWrite(led7, LOW);
    digitalWrite(led8, LOW);
    digitalWrite(led9, LOW);
    }
    else if ((lectura >400)&&( lectura <= 500))
    {
    digitalWrite(led3, HIGH);
    digitalWrite(led4, LOW);
    digitalWrite(led5, LOW);
    digitalWrite(led6, LOW);
    digitalWrite(led7, LOW);
    digitalWrite(led8, LOW);
    digitalWrite(led9, LOW);
    }
    else if ((lectura >500)&&( lectura <= 600))
    {
    digitalWrite(led4, HIGH);
    digitalWrite(led5, LOW);
    digitalWrite(led6, LOW);
    digitalWrite(led7, LOW);
    digitalWrite(led8, LOW);
    digitalWrite(led9, LOW);
    }
    else if ((lectura >600)&&( lectura <= 700))
    {
    digitalWrite(led5, HIGH);
    digitalWrite(led6, LOW);
    digitalWrite(led7, LOW);
    digitalWrite(led8, LOW);
    digitalWrite(led9, LOW);
    }
    else if ((lectura >700)&&( lectura <= 800))
    {
    digitalWrite(led6, HIGH);
    digitalWrite(led7, LOW);
    digitalWrite(led8, LOW);
    digitalWrite(led9, LOW);
    }
    else if ((lectura >800)&&( lectura <= 900))
    {
    digitalWrite(led7, HIGH);
    digitalWrite(led8, LOW);
    digitalWrite(led9, LOW);
    }
    else if ((lectura >900)&&( lectura <= 950))
    {
    digitalWrite(led8, HIGH);
    digitalWrite(led9, LOW);
    }
    else if ((lectura >950)&&( lectura <= 1023))
    {
    digitalWrite(led9, HIGH);
    }
    else
    {
    digitalWrite(led0, LOW);
    digitalWrite(led1, LOW);
    digitalWrite(led2, LOW);
    digitalWrite(led3, LOW);
    digitalWrite(led4, LOW);
    digitalWrite(led5, LOW);
    digitalWrite(led6, LOW);
    digitalWrite(led7, LOW);
    digitalWrite(led8, LOW);
    digitalWrite(led9, LOW);
    }
    }

    ResponderEliminar