lunes, 22 de mayo de 2017

Control de intensidad del led con potenciómetro

MATERIAL
-protoboard
-leds
-arduinio
-un potenciómetro
-una resistencia de 220
Circuito
Es el mismo que el pasado, solo a este le agregaremos el potenciometro,
Para la entrada, usaremos el circuito para sensar los valores analógicos que nos da un potenciómetro. Y para la salida, que también será analógica, el circuito para iluminar un led, por lo que ahora tenemos que poner el led en un pin con salida PWM, el 9 por ejemplo.
CODIGOS;

analogRead() para leer los valores que nos da el potenciómetro.
analogWrite() para darle los valores PWM al led
map() que nos permite ajustar un valor entre ambos rangos.
A esta función map() le tenemos que pasar 5 parámetros. El primero es el valor que queremos mapear. Después le damos el rango de valores entre los que está este valor y después el rango de valores entre los que queremos convertirlo o mapearlo. La función nos devolverá el valor equivalente, ajustado al nuevo rango.


EJEMPLO:
 /*
  En este proyecto leemos el valor de un potenciómetro
  y con este valor le damos el brillo a un led usando una señal PWM

*/

  // Declaramos las constantes que vamos a usar
  const int pinSensor = 0;   // pin del sensor analógico, con un potenciometro
  const int pinLed    = 9;   // pin con el led, tiene pwm

  // Declaramos las variables que vamos a usar
  int brilloLed          = 0;  // variable para guardar el valor con el que se iluminara el led
  int valorPotenciometro = 0;  // variable para guardar el valor leido del sensor

  void setup() {
      // Incializa el pin del botón como entrada
      pinMode(pinSensor, INPUT);
      // Incializa el pin del led como salida, aunque no es necesario
      pinMode(pinLed, OUTPUT);    
      // Inicializa la comunicación serial
      Serial.begin(9600);        
  }

  void loop(){
      //  Lee el valor del sensor
      valorPotenciometro = analogRead(pinSensor);
      //  Transforma  este valor en el valor que usaremos para el led
      //  Para ello usaremos la funcion map()
      brilloLed = map(valorPotenciometro, 0, 1023, 0, 255);
      //  Utilizamos este valor para iluminar el led
      analogWrite(pinLed, brilloLed);

               // manda los valores por el serial
      Serial.print("Valor del Potenciometro = ");
      Serial.print(valorPotenciometro);  
      Serial.print("    Brillo del Led = ");
      Serial.println(brilloLed);  

      delay(100);    
  }
     






Referencias:


Arduino Reference: analogRead()
Referencia Arduino: analogRead()
Función para leer el estado de un pin digital.


Arduino Reference: analogWrite()
Referencia Arduino: analogWrite()
Genera una señal de salida analógica con PWM. El parámetro, entre 0 y 255, indica la frecuencia de la señal.

Arduino Reference: map()
Referencia Arduino: map()
Mapea un valor en un rango de valores a sus equivalentes en otro rango de valores.


Arduino Con 3 LEDS

Materiales
1 Arduino
1 resistencia de 330 Omh
3 leds
cables para la protoboard
Procedimiento
Conectarle el arduino a la protoboard un cable va en el pin de 5v y otro en el GND del Arduino, ya que son los que aran el encendido de dichos arduinos
De ahí se pone del positivo a la resistencia de 330 Ohms seguido de los leds que se conectan van en el positivo y el cátodo en el negativo.
Una vez que cierre el circuito prender el Arduino y prenderán los leds fijamente
Diagrama