// _ ___ _______ ___ ___ ___ ___ _ _ ___ _____ ___
// / |_ )__ / \ / __|_ _| _ \/ __| | | |_ _|_ _/ __|
// | |/ / |_ \ |) | | (__ | || / (__| |_| || | | | \__ \
// |_/___|___/___/ \___|___|_|_\\___|\___/|___| |_| |___/
//
// 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);
}
}
BRYAN ALTAMIRANO
ResponderEliminar-------------------------------------------------------------------------------------------
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);
}
}
}
BARGRAPH CON POTENCIOMETRO
ResponderEliminar----------------------------------------------------------------------------
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);
}
}