Bargraph


La barra gráfica es un arreglo de 10 LEDs
alineados y es un dispositivo muy utilizado para desplegar información proveniente de sensores analógicos.



/* ******************** GENERADOR DE FRECUENCIAS  ***********************
ESTE PROGRAMA REALIZA LA LECTURA DE UN POTENCIÓMETRO Y ESE VALOR LO UTILIZA 
COMO PAUSA PARA EL ENCENDIDO / APAGADO DE UN BUZZER.
EL RANGO DE VALORES DE LA CONVERSIÓN ANALÓGICA-DIGITAL ES DE 0-1023.
*/
int buzzer = 2; // Puerto digital donde se conectará el buzzer
int potenciometro = 5; // Puerto analógico donde se conectará el pot
int lectura; // Variable donde se almacenará el valor de la 
// conversión Analógica-digital.

void setup (){
  pinMode (buzzer, OUTPUT); // Se configura el puerto digital como salida
}

void loop () {
  lectura = analogRead (potenciometro); // Se realiza la conversión Analog-Dig 
  // y se almacena en la variable "lectura"
  digitalWrite (buzzer, HIGH); // Se enciende el buzzer
  delay (lectura);        // Se realiza una pausa en milisegundos del 
  // mismo valor que la lectura del pot
  digitalWrite (buzzer, LOW); // Se apaga el buzzer
  delay (lectura); // Se realiza una pausa en milisegundos del 
// mismo valor que la lectura del pot

}









//  _ ___ _______     ___ ___ ___  ___ _   _ ___ _____ ___
// / |_  )__ /   \   / __|_ _| _ \/ __| | | |_ _|_   _/ __|
// | |/ / |_ \ |) | | (__ | ||   / (__| |_| || |  | | \__ \
// |_/___|___/___/   \___|___|_|_\\___|\___/|___| |_| |___/
//
// 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);
  }
}