Learning   Examples | Foundations | Hacking | Links

Ejemplos > Comunicación

Atenuador (Dimmer)

Muestra el envío de datos desde el ordenador a la placa Arduino, en este caso para controlar el brillo de un LED. Los datos se envían en bytes individuales, cada uno de ellos oscila entre 0 y 255. Arduino lee estos bytes y los utiliza para ajustar el brillo de los LED.

Puedes enviar bytes al Arduino desde cualquier software que tenga acceso al puerto serie del ordenador. Puedes ver ejemplos para Processing y Max/MSP versión 5 mas abajo.

Circuito

Un LED conectado al pin 9 utilizando la resistencia adecuada, según sea necesario. Para la mayoría de los LEDs comunes, generalmente se puede prescindir de la resistencia, ya que la corriente de salida de los pines de E/S digitales es limitada.

haz click en la imagen para ampliarla

imagen desarrollada utilizando Fritzing. Para mas circuitos de ejemplo, visita la página del proyecto Fritzing

Esquema

haz click en la imagen para ampliarla

Code

 
     
     
       
  

     
     

Código para Processing

Ejecuta el siguiente programa (sketch) en Processing. Envía bytes por el puerto serie al Arduino para atenuar el LED.

 /* Código Processing para este ejemplo */
  // Atenuador - envía bytes a traves del puerto serie
  // by David A. Mellis
  
  // Este ejemplo es de dominio público.

  import processing.serial.*;
  Serial port;
  
  void setup() {
  size(256, 150);
  
  println("Puertos serie disponibles:");
  println(Serial.list());
  
  // Utiliza el primer puerto disponible de la lista (numero 0).  Cambia esto para
  // seleccionar el puerto correspondiente a tu placa Arduino board.  El último
  // parámetro (ej. 9600) es la velocidad de la comunicación.  Debe
  // corresponder con el valor pasado a Serial.begin() en el
  // programa (sketch) Arduino.
  port = new Serial(this, Serial.list()[0], 9600);  
  
  // Si conoces el nombre del puerto usado por la placa Arduino, puedes
  // especificarlo directamente aquí si quieres.
  //port = new Serial(this, "COM1", 9600);
  }
  
  void draw() {
  // traza un gradiente de negro a blanco
  for (int i = 0; i < 256; i++) {
  stroke(i);
  line(i, 0, i, 150);
  }
  
  // escribe la posición actual del ratón por el puerto serie
  // como un byte simple
  port.write(mouseX);
  }
  */

Código de Max

El programa (patch) de Max/MSP se parece a la imagen de debajo. El código del programa está vinculado a la imagen. Cópialo y pégalo en una ventana de nuevo programa.

Share