jueves, 31 de marzo de 2016

Laboratorio 4

Descripción.

Controlar 8 LEDs desde el Arduino, a través de un IC 74HC595, en el que se define 9 patrones de movimiento controlados desde una interfaz gráfica en Processing/ControlP5.

Materiales
  1. Computador con el IDE de Arduino Y Processing
  2. Tarjeta Arduino
  3. Cable USB; COM5
  4. Protoboard
  5. 8 LEDs + Resistencias 220Ω
  6. Cables macho-macho
  7. IC 74HC595


Diagrama del Montaje en la Protoboard


Diagrama Esquemático del Circuito

Diagrama PCB equivalente

Proceso del Montaje paso a paso (Fotos)

Paso 1: Ubicar los leds y resistencias.


Paso 2:  Al IC 74HC595 hacer las respectivas conexiones de al IC 

Paso 3: Verificar que todo este conectando, para ver su funcionamiento.

Código Fuente en Arduino (con comentarios)
/********** Proyecto **********
 * Laboratorio 04:
 * Universidad Santiago de Cali
 * Angelica maria campo Mancilla
 * Ejemplo de https://www.arduino.cc/en/Tutorial/ShftOut11
 * Controlar 8 LEDs desde el Arduino, a través de un IC 74HC595,
 * definiendo 9 patrones de movimiento que son
 * controlados desde una interfaz gráfica en Processing/ControlP5.

/********** Variables **********/

// Pin de Datos
int data_pin = 11;
// Pin de latch
int latch_pin = 9;
// Pin de Reloj
int clock_pin = 6;

// valores de las 9 secuencias//
// Guardamos el valor que recibimos via serial

int valor, val;
char letr;

int Sec1[4] = {3, 12, 48, 192};
int Sec2[6] = {128,2,4,8,128};
int Sec3[6] = {128,64,32,4,2,1};
int Sec4[2] = {255, 0};
int Sec5[12] = {1,128,2,64,4,32,8,16,4,32,2,64};
int Sec6[8] = {0,128,1,64,2,32,4,16};
int Sec7[5] = {2,4,8,32,128};
int Sec8[14] = {1,2,4,8,16,32,64,128,64,32,16,8,4,2};
int Sec9[3] = {8,1,64};


/********** Configuracion **********/

// Solo se ejecuta una vez, al iniciar o resetear el Arduino

void setup() {

  // La comunicacion serial sera a 9600 baudios
  Serial.begin(9600);

  // Pines de salida que controlan el 74HC595
  // se establecen estos pines a la salida para que pueda controlar el registro de desplazamiento

  pinMode(data_pin, OUTPUT);
  pinMode(latch_pin, OUTPUT);
  pinMode(clock_pin, OUTPUT);
}

/********** Ciclo Principal **********/

void loop() {

  // Se envian los datos, solo cuando se reciben datos
  if (Serial.available() > 0) {

    letr = Serial.read();
    val = Serial.parseInt();
    Serial.print(letr);
    Serial.println(val);

   }

 // Se condiciona si el numero enviado está entre las
 // opciones y ejecuta el patron determinado

  if (val == 1) { //Si es 1 inicie funcion de secuencia1
    secuencia1();}
  if (val == 2) { //Si es 2 inicie funcion de secuencia2
    secuencia2();}
  if (val == 3) { //Si es 3 inicie funcion de secuencia3
    secuencia3();}
  if (val == 4) { //Si es 4 inicie funcion de secuencia4
    secuencia4();}
  if (val == 5) { //Si es 5 inicie funcion de secuencia5
    secuencia5();}
  if (val == 6) { //Si es 6 inicie funcion de secuencia6
    secuencia6();}
  if (val == 7) { //Si es 7 inicie funcion de secuencia7
    secuencia7();  }
  if (val == 8) { //Si es 8 inicie funcion de secuencia8
    secuencia8();}
  if (val == 9) { //Si es 9 inicie funcion de secuencia9
    secuencia9();
  }
}

// **** Funciones ***** //
// codigo de las funciones para mostrar los patrones en cada caso.

void secuencia1() {

  //recorre el arreglo donde se define la secuencia
  for (int i = 0; i < 4; i++) {
    // toma el latch_pin en bajo (LOW), para que los LEDs no cambien, mientras
    // se envian los datos (en bits).
    digitalWrite(latch_pin, LOW);
    shiftOut(data_pin, clock_pin, MSBFIRST, Sec1[i]);
    //toma el latch_pin en alto (HIGH), para que los LEDs se iluminen
    digitalWrite(latch_pin, HIGH);
    // se hace una pausa antes del siguiente valor
    delay(200);
  }}

void secuencia2() {
  //recorre el arreglo donde se define la secuencia
  for (int i = 0; i < 6; i++) {
    // toma el latch_pin en bajo (LOW), para que los LEDs no cambien, mientras
    // se envian los datos (en bits).
    digitalWrite(latch_pin, LOW);
    shiftOut(data_pin, clock_pin, MSBFIRST, Sec2[i]);
    //toma el latch_pin en alto (HIGH), para que los LEDs se iluminen
    digitalWrite(latch_pin, HIGH);
    // se hace una pausa antes del siguiente valor
    delay(200);
  }
}

void secuencia3() {
  //recorre el arreglo donde se define la secuencia
  for (int i = 0; i < 6; i++) {
    // toma el latch_pin en bajo (LOW), para que los LEDs no cambien, mientras
    // se envian los datos (en bits).
    digitalWrite(latch_pin, LOW);
    shiftOut(data_pin, clock_pin, MSBFIRST, Sec3[i]);
    //toma el latch_pin en alto (HIGH), para que los LEDs se iluminen
    digitalWrite(latch_pin, HIGH);
    // se hace una pausa antes del siguiente valor
    delay(200);
  }
}

void secuencia4() {
  //recorre el arreglo donde se define la secuencia
  for (int i = 0; i < 2; i++) {
    // toma el latch_pin en bajo (LOW), para que los LEDs no cambien, mientras
    // se envian los datos (en bits).
    digitalWrite(latch_pin, LOW);
    shiftOut(data_pin, clock_pin, MSBFIRST, Sec4[i]);
    //toma el latch_pin en alto (HIGH), para que los LEDs se iluminen
    digitalWrite(latch_pin, HIGH);
    // se hace una pausa antes del siguiente valor
    delay(200);
  }
}

void secuencia5() {

//recorre el arreglo donde se define la secuencia
  for (int i = 0; i < 12; i++) {
    // toma el latch_pin en bajo (LOW), para que los LEDs no cambien, mientras
    // se envian los datos (en bits).
    digitalWrite(latch_pin, LOW);
    shiftOut(data_pin, clock_pin, MSBFIRST, Sec5[i]);
    //toma el latch_pin en alto (HIGH), para que los LEDs se iluminen
    digitalWrite(latch_pin, HIGH);
    // se hace una pausa antes del siguiente valor
    delay(200);
  }
}
void secuencia6() {
//recorre el arreglo donde se define la secuencia
  for (int i = 0; i < 8; i++) {
    // toma el latch_pin en bajo (LOW), para que los LEDs no cambien, mientras
    // se envian los datos (en bits).
    digitalWrite(latch_pin, LOW);
    shiftOut(data_pin, clock_pin, MSBFIRST, Sec6[i]);
    //toma el latch_pin en alto (HIGH), para que los LEDs se iluminen
    digitalWrite(latch_pin, HIGH);
    // se hace una pausa antes del siguiente valor
    delay(200);
  }
}
 void secuencia7() {
//recorre el arreglo donde se define la secuencia
  for (int i = 0; i < 5; i++) {
    // toma el latch_pin en bajo (LOW), para que los LEDs no cambien, mientras
    // se envian los datos (en bits).
    digitalWrite(latch_pin, LOW);
    shiftOut(data_pin, clock_pin, MSBFIRST, Sec7[i]);
    //toma el latch_pin en alto (HIGH), para que los LEDs se iluminen
    digitalWrite(latch_pin, HIGH);
    // se hace una pausa antes del siguiente valor
    delay(200);
  }
}
void secuencia8() {
  //recorre el arreglo donde se define la secuencia
  for (int i = 0; i < 14; i++) {
    // toma el latch_pin en bajo (LOW), para que los LEDs no cambien, mientras
    // se envian los datos (en bits).
    digitalWrite(latch_pin, LOW);
    shiftOut(data_pin, clock_pin, MSBFIRST, Sec8[i]);
    //toma el latch_pin en alto (HIGH), para que los LEDs se iluminen
    digitalWrite(latch_pin, HIGH);
    // se hace una pausa antes del siguiente valor
    delay(200);
  }}
  void secuencia9() {
  //recorre el arreglo donde se define  la secuencia
  for (int i = 0; i < 3; i++) {
    // toma el latch_pin en bajo (LOW), para que los LEDs no cambien, mientras
    // se envian los datos (en bits).
    digitalWrite(latch_pin, LOW);
    shiftOut(data_pin, clock_pin, MSBFIRST, Sec9[i]);
    //toma el latch_pin en alto (HIGH), para que los LEDs se iluminen
    digitalWrite(latch_pin, HIGH);
    // se hace una pausa antes del siguiente valor
    delay(200);
  }
}


/********** Fin ***********/

Código Fuente en Processing (con comentarios)



/********** Proyecto **********
 * Universidad santiago de cali
 * Angelica maria Campo Mancilla
 * Ejemplo: http://forum.processing.org/one/topic/radiobutton-implementation.html
 * Laboratorio 04: se Controlan 8 LEDs
 * desde el Arduino, a través de un IC 74HC595,
 * definiendo 9 patrones de movimiento que son
 * controlados desde una interfaz gráfica en Processing/ControlP5.*/

// Importamos las librerías de ControlP5 y Serial

import controlP5.*;

import processing.serial.*;A

//****** Objetos ********//

ControlP5 cp5;
RadioButton radioButton;
Serial serial;

//**** variables*****//
 
int colorDeFondo = color (100,200,20);

//*****configuracion*****//
// Solo se ejecuta una vez, al iniciar el Sketch//

void setup()
{  
// Tamaño de la Ventana//
  size(260, 150);

// Creamos el objeto de ControlP5//
  cp5 = new ControlP5(this);

// Creamos el objeto radiobutton//

  radioButton = cp5.addRadioButton("radioButton")

// Se Definen las caracteriticas de la interfaz//

  .setPosition(20, 20)
  .setSize(30, 30)
  .setColorForeground(color(200))
  .setColorActive(color(30))
  .setColorLabel(color(300))
  .setItemsPerRow(3)
  .setSpacingColumn(60)
  .setSpacingRow(10)

// Se crean los 9 botones, Para los 9 patrones//

  .addItem(" A ",1)
  .addItem(" B ",2)
  .addItem(" C", 3)
  .addItem(" D", 4)
  .addItem(" E", 5)
  .addItem(" F", 6)
  .addItem(" G", 7)
  .addItem( "H", 8)
  .addItem(" I", 9) ;

 // Creamos el objeto del puerto Serial//

  serial = new Serial(this, Serial.list()[0], 9600);}

// Se dibuja el color de fondo//

void draw() {background(colorDeFondo);}

//**** Ciclo principal ****//
// Contol de los Botones//

void keyPressed() {

  switch(key) {
    case('0'):
    radioButton.deactivateAll();
    break;
    case('1'):
    radioButton.activate(0);
    break;
    case('2'):
    radioButton.activate(1);
    break;
    case('3'):
    radioButton.activate(2);
    break;
    case('4'):
    radioButton.activate(3);
    break;
    case('5'):
    radioButton.activate(4);
    break;
    case('6'):
    radioButton.activate(5);
    break;
    case('7'):
    radioButton.activate(6);
    break;
    case('8'):
    radioButton.activate(7);
    break;
    case('9'):
  }
}
/********** Funciones **********/

void controlEvent(ControlEvent evento) {

  if (evento.isFrom(radioButton)) {

    int total = 0;
    total = (int)evento.getValue();
    println("\nValor a ser enviado por Serial = " + total);
    serial.write("P"+total); }}


/********** Fin ***********/
Video del Funcionamiento

Laboratorio 3

Descripción.

 Controlar 8 LEDs desde el Arduino, un LED encendido que se mueve en forma continua de izquierda a derecha, vía una interfaz gráfica en Processing/ControlP5 para controlar el tiempo de encendido y el tiempo de apagado.

 Materiales
  1. Computador con el IDE de Arduino Y Processing
  2. Tarjeta Arduino
  3. Cable USB; COM5
  4. Protoboard
  5. 8 LEDs + Resistencias 220Ω
  6. Cables macho-macho


 Diagrama del Montaje en la Protoboard.


 Diagrama Esquemático del Circuito.


Diagrama PCB equivalente.



Proceso del Montaje paso a paso (Fotos).

Paso 1: Conectamos los leds y las resistencias
Paso 2: Se procede hacer las conexiones con los pines digitales del arduino, sin olvidar la tierra.




Código Fuente en Arduino (con comentarios).

/********** Proyecto **********
 * Universidad Santiago de cali
 * Angelica maria campo Mancilla
 * Laboratorio 03: 8 LEDs en linea controlados por una Interface (Processing)
 * Descripcion:
 * Mover un LED encendido de Izquierda a Derecha y viceversa
 * con tiempos controlados por una Interface (Processing)
 
 * Conexiones:
 * 8 LEDs + resistencias
 
/********** Librerias **********/
 // ninguna
 /********** Constantes **********/
 #define TOTLED   8 // Total LEDs
 /********** Objetos **********/
 // ninguno
 /********** Variables **********/
 int led[TOTLED] = { 2, 3, 4, 5, 6, 7, 8, 9};
 
// Valores recibidos por el puerto serial
int t_encendido = 200;
int t_apagado = 200;
 
// Se guarda el valor que recibimos vía serial
int valor = 0;
 
/********** Configuracion **********/
void setup() {
 
// La comunicacion serial sera a 9600
  Serial.begin(9600);
   int pos = 0;
 
  // El pos sera el pin de salida
  while (pos < TOTLED) {
    pinMode(led[pos], OUTPUT);
    pos = pos + 1;
  }
 }
 
/********** Ciclo Principal **********/
 // Ciclo infinito de ejecución //
   
    void loop() {
 
   for (int pos = 0; pos < TOTLED; pos++) {
    leer();
    on(led[pos], t_encendido);
    off(led[pos], t_apagado);
  }
 
  for (int pos = TOTLED - 2; pos > 0; pos--) {
    leer();
    on(led[pos], t_encendido);
    off(led[pos], t_apagado);
  }
  Serial.begin(9600);
 
}
/********** Funciones **********/
//Lee constantemente los valores de la interfaz
void leer() {
 
 /*********Acciones******* /
// Si hay datos disponibles en el puerto serial, cambia la intensidad de iluminación del led
 
  if (Serial.available() > 0) {
 
// Leer el valor, para ajustar el encendido del led
 
    t_encendido = Serial.read();
    // Leer el valor, para ajustar el apagado del led
    t_apagado = Serial.read();
   
  }}
 
/********** Funciones **********/
 
//   Pone en +5V el pin indicado, durante tantos milisegundos
 
      void on(int pin, int ms) {
      digitalWrite(pin, HIGH);
 
//Hace una pausa en el programa para la cantidad de tiempo (en milisegundos)
    delay(ms);
   
} // end on()
 
// Pone en GND el pin indicado, durante tantos milisegundos
 
  void off(int pin, int ms) {
  digitalWrite(pin, LOW);
 
} // end off()
 
/********** Fin ***********/
Código Fuente en Processing (con comentarios).

// Proyecto Laboratorio 03: 8 LEDs en linea controlados por (Processing)
// Universidad santiago de cali
// Angelica maria Campo Mancilla

// Importamos las librerías de ControlP5 y Serial
import controlP5.*;

import processing.serial.*;

// se crean las variables para ControlP5, el Slider y El puerto serial
 
ControlP5 cp5;
 
Slider slider;
Slider slider_encender;
Slider slider_apagar;
 
int valor_encender;
int valor_apagar;
 
Serial serial;
 
// Solo se ejecuta una vez, al iniciar el Sketch
 
void setup() {
  // Tamaño de la Ventana
  size(450, 220);
  // Creamos el objeto de ControlP5
  cp5 = new ControlP5(this);
 
   // Creamos el objeto Slider, para el control del encendido
  slider_apagar = cp5.addSlider("Encendido", 1, 200, 150, 70, 40, 300, 40);
  // Creamos el objeto Slider, para el control del apagado
  slider_encender = cp5.addSlider("Apagado", 1, 200, 150, 70, 120, 300, 40);
 
 
  // Creamos el objeto del puerto Serial
  serial = new Serial(this, Serial.list()[0], 9600);
}
 
// Se ejecuta N frames por segundo
void draw() {
  // En este caso no debe dibujar nada
}
 
// Cuando ocurra un evento, aquí lo procesamos
 
void controlEvent(ControlEvent evento) {
// Obtenemos el nombre y el valor del evento
  String nombre = evento.getController().getName();
 
  if (nombre == "Encendido") {
    valor_encender = int(evento.getController().getValue());
  } else {
    valor_apagar = int(evento.getController().getValue());
  }
  // Enviamos el valor al Arduino a través del Serial
 
  serial.write(valor_encender);
  serial.write(valor_apagar);
 
  // Imprimimos en la consola, para ver que todo va Ok
 
  println(nombre + ":" + valor_encender + " / " +nombre + ":" + valor_apagar);
}
 
/********** Fin ***********/
Video del Funcionamiento.

Laboratorio 2

Descripción.

Controlar 8 LEDs desde el Arduino, uno LED encendido que se mueve de izquierda a derecha cuyos tiempos de encendido y apagado se controlan desde dos potenciómetros

 Materiales

  1. Computador con el IDE de Arduino
  2. Cable USB, COM5
  3. Protoboard
  4. 2 Potenciometros de 10 KΩ
  5. Cables Macho-Macho
  6. 8 LEDs + Resistencias de 220 Ω
 Diagrama del Montaje en la Protoboard



.

Diagrama Esquemático del Circuito.


Diagrama PCB equivalente.


Proceso del Montaje paso a paso (Fotos).

Paso 1: Ubicamos los leds y las resistencias.





Paso 2: Ubicamos los potenciometros haciendo las conexiones correspondientes a los terminales.


Paso 3: Se conecta con el arduino, sin olvidar la tierra.

Código Fuente en Arduino 

/********** Proyecto **********
 * Laboratorio 02: 8 LEDs en linea controlados con Potenciometros
 * Estudiante: Angelica Maria Campo
 * Autor: Diego Fernando Marin
 * Descripcion:
 *   Mover un LED encendido de Izquierda a Derecha y viceversa
 *   con tiempos controlados por potenciometros
 * Conexiones:
 *   8 LEDs + resistencias a los pines D2 .. D9
 *   2 Potenciometros a los pines A0 y A1
 * Version: 1
 */
 
/********** Librerias **********/
 
// ninguna
 
/********** Constantes **********/
 
#define POT1    A0
#define POT2    A1
#define TOTLED   8 // Total LEDs
 
/********** Objetos **********/
 
// ninguno
 
/********** Variables **********/
 
int led[TOTLED] = {
  2, 3, 4, 5, 6, 7, 8, 9};
 
/********** Configuracion **********/
 
void setup() {
  int pos=0;
  while (pos < TOTLED){
    pinMode(led[pos], OUTPUT);
    pos=pos+1;
  }
  pinMode(POT1, INPUT);
  pinMode(POT2, INPUT);
} // end setup()
 
/********** Ciclo Principal **********/
 
void loop() {
 
  // Sensores
  int t_encendido = analogRead(POT1);
  int t_apagado = analogRead(POT2);
 
  // Acciones
  for (int pos = 0; pos < TOTLED; pos++) {
    on(led[pos], t_encendido);  
    off(led[pos], t_apagado);  
  }
  for (int pos = TOTLED-2; pos > 0; pos--) {
    on(led[pos], t_encendido);  
    off(led[pos], t_apagado);  
  }
 
} // end loop()
 
/********** Funciones **********/
 
// Pone en +5V el pin indicado, durante tantos milisegundos
void on(int pin, int ms){
  digitalWrite(pin, HIGH);  
  delay(ms);  
} // end on()
 
// Pone en GND el pin indicado, durante tantos milisegundos
void off(int pin, int ms){
  digitalWrite(pin, LOW);  
  delay(ms);  
} // end off()
 
/********** Fin ***********/



Vídeo del Funcionamiento



Laboratorio 1

Descripción.

Controlar 8 LEDs desde el Arduino, un LED encendido que se mueve de izquierda a derecha.

 Materiales.
  1. Computador con el IDE de Arduino
  2. Cable USB
  3. Protoboard
  4. 8 LEDs + Resistencias 220Ω
  5.  Cables macho-macho.

 Diagrama del Montaje en la Protoboard.



 Diagrama Esquemático del Circuito.


Diagrama PCB equivalente.

Proceso del Montaje paso a paso.

Paso 1: Ubicamos los leds y las resistencias.







Paso 3: Se hacen las  respectivas conexiones con el arduino de acuerdo a los pines establecidos.
Código Fuente en Arduino 
/********** Proyecto **********
* Universidad Santiago de Cali
*
* Laboratorio 01: 8 LEDs en linea
* Autor: Diego Fernando Marin
* Descripcion:
*     Mover un LED encendido de Izquierda a Derecha y viceversa
* Conexiones:
*     8 LEDs + resistencias a los pines D2 .. D9
* Version: 1
*/
 
/********** Librerias **********/
 
// ninguna
 
/********** Constantes **********/
 
// ninguna
 
/********** Objetos **********/
 
// ninguno
 
/********** Variables **********/
 
// ninguna
 
/********** Configuración **********/
 
void setup() {
   pinMode(2, OUTPUT);
   pinMode(3, OUTPUT);
   pinMode(4, OUTPUT);
   pinMode(5, OUTPUT);
   pinMode(6, OUTPUT);
   pinMode(7, OUTPUT);
   pinMode(8, OUTPUT);
   pinMode(9, OUTPUT);
} // end setup()
 
/********** Ciclo Principal **********/
 
void loop() {
 
// Acciones
   digitalWrite(2, HIGH);
   delay(1000);
   digitalWrite(2, LOW);
   delay(1000);
   digitalWrite(3, HIGH);
   delay(1000);
   digitalWrite(3, LOW);
   delay(1000);
   digitalWrite(4, HIGH);
   delay(1000);
   digitalWrite(4, LOW);
   delay(1000);
   digitalWrite(5, HIGH);
   delay(1000);
   digitalWrite(5, LOW);
   delay(1000);
   digitalWrite(6, HIGH);
   delay(1000);
   digitalWrite(6, LOW);
   delay(1000);
   digitalWrite(7, HIGH);
   delay(1000);
   digitalWrite(7, LOW);
   delay(1000);
   digitalWrite(8, HIGH);
   delay(1000);
   digitalWrite(8, LOW);
   delay(1000);
   digitalWrite(9, HIGH);
   delay(1000);
   digitalWrite(9, LOW);
   delay(1000);
 
} // end loop()
 
/********** Funciones **********/
 
// ninguna
 
/********** Fin ***********/

Vídeo del Funcionamiento

Laboratorio 0

Descripción.

El propósito de este laboratorio es probar que el IDE (software) está correctamente instalado, y que tiene comunicación con la tarjeta Arduino (hardware).

Además este laboratorio sirve como ejemplo de como publicar en su Blog, la solución de cada laboratorio futuro.
En este laboratorio habrá un LED conectado a un pin digital y controlarán el tiempo de encendido y apagado usando un potenciómetro.

Materiales.

  1. Computador (con el IDE de Arduino, y el driver adecuado instalados)
  2. Tarjeta Arduino (cualquier modelo, debe corresponder al driver instalado)
  3. Cable USB (según el conector de la tarjeta Arduino)
  4. Protoboard
  5. LED + Resistencia 220Ω
  6. Potenciómetro 10KΩ
  7. Cables macho-macho  
Diagrama del montaje en protoboard.
Diagrama esquemático del circuito.
Diagrama PCB equivalente.
Proceso del montaje.

Paso 1: Ponemos nuestros componentes en la protoboard.
Paso 2: En el arduino, Conectamos los jumpers en las entradas analógicas y digitales, el conector de 5v y la tierra.
Paso 3: Conectamos los jumpers a la protoboard.
Código fuente en arduino.
/********** Proyecto **********
 * Universidad Santiago de Cali
 *
 * Laboratorio 0: Control LED con Potenciómetro
 * Autor: Diego Fernando Marin
 * Descripción:
 *   Controla el tiempo de Encendido/Apagado de un LED
 *   usando un Potenciómetro
 * Conexiones:
 *   1 LED conectado al pin digital 5 (con su resistencia)
 *   1 Potenciómetro conectado al pin análogo A2
 * Versión: 1
 */

/********** Librerías **********/

// ninguna

/********** Constantes **********/

#define LED 5
#define POT A2

/********** Objetos **********/

// ninguno

/********** Variables **********/

// ninguna

/********** Configuración **********/

void setup() {
  pinMode(LED, OUTPUT);
  pinMode(POT, INPUT);
} // end setup()

/********** Ciclo Principal **********/

void loop() {

  // Sensores
  int tiempo = analogRead(POT);

  // Acciones
  digitalWrite(LED, HIGH);
  delay(tiempo);
  digitalWrite(LED, LOW);
  delay(tiempo);

} // end loop()

/********** Funciones **********/

// ninguna

/********** Fin ***********/


Vídeo de Funcionamiento.