martes, 9 de mayo de 2017

CONSTRUYA UN VUMETRO CON ARDUINO Y WINAMP


Estimado lector le invito a revisar el siguiente articulo donde explico como construir un vumetro que reacciona con la música que reproduce WINAMP. 


MATERIALES:

ARDUINO UNO + CABLE USB
12 LEDS: 7 VERDES, 3 AMARILLOS, 2 ROJOS
12 RESISTENCIAS 100 OHM
1 PLACA UNIVERSAL
1 METRO DE ESTAÑO


HERRAMIENTAS:
CAUTIN
PINZA
PELA CABLES


SOFTWARE:
WINAMP 5



Lo primero que vamos hacer es armar el siguiente circuito:



Luego instalar el software WINLPT VERSION 2.09 y grabar el sketch en ARDUINO.



Una vez instalado el software vamos a MENU INICIO/WINLPT y le damos clic en "launch WINAMP" (no iniciar winamp directamente ya que ocurrirá un error y no se iniciará el plugin)


Dentro de winamp nos dirigimos al menú Opciones/vizualizacion/iniciar
Bajo la pestaña SETTINGS configurar los siguientes parámetros:

COM el que esta conectado ARDUINO,
Baudrate = 9600,
Header = 1,
DataBytesCount=12




Para comprender mejor la configuración del Plugin revisar el siguiente vídeo:





FOTOS DEL PROYECTO

Para llevar a cabo este proyecto, se utilizo doce LED y doce resistencias de 100 ohm luego se las colocó en una placa perforada de manera que se pueda colocar sobre el ARDUINO y coincida con los pines 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 y GND




VUMETRO WINAMP CON MATRIZ P10

Ahora modificaremos el SKETCH para hacerlo funcionar con matrices P10



Efecto Lineal:



Efecto Circular:




Este es el código para cargar en ARDUINO:


//CONEXIONES:
//ARDUINO________________DMD
//PIN9___________________OE
//PIN6___________________A
//PIN7___________________B
//PIN13__________________SLK
//PIN8___________________SCLK
//PIN11__________________SPI
// Protocolo:
// 0 - APAGA EL LED
// 255 - ENCIENDE EL LED
// 1 - CABECERA MARCA EL INICIO DE LA TRAMA
// Baud Rate: 9600
// CABECERA: 1
//                   1 L1 L2 L3 L4 L5 L6 L7 L8 L9 L10 L11 L12
// PAQUETE COMPLETO: 1 0  0  0  0  0  0  0  0  0  0  0  0
// BYTES: 1..12
/////////////////////////////////////////////////////////////////////
#include <DMD.h>
#include <TimerOne.h>
#include "Arial_black_16.h"
#include "SystemFont5x7.h"//para letra pequeña
#include "Arial_Black_16_ISO_8859_1.h"//para letra grande
DMD display(1,2);
const int baudrate = 9600;
const int numChannels = 12;
int curChannel = 0;

void ScanDMD()
{ 
  display.scanDisplayBySPI();
}

void writeLevel(int i, bool inc){
      if (inc==1)display.drawCircle(15,15,i,GRAPHICS_NORMAL);else display.drawCircle(15,15,i,GRAPHICS_NOR);
}
void setup() {
   Timer1.initialize( 1000 );           
   Timer1.attachInterrupt(ScanDMD);    
   Serial.begin(baudrate);
}

 void loop(){

  
 int y = Serial.available(); 

  for (int i = 0; i < y; i++) 
  {
    int inc = Serial.read(); // LEE EL DATO ENVIADO POR EL COMPUTADOR
    if (inc == 1) // SI RECIBE EL NUMERO 1
    {
      curChannel = 0; //RESETEA EL CANAL ACTUAL A 0
      continue; 
      }
    if (curChannel < numChannels) // SI EL NUMERO DE CANAL ACTUAL ES MENOR AL NUMERO TOTAL DE CANALES
    {
      inc = !!inc; //convierte 255 a 1
      writeLevel(curChannel,inc);
      curChannel++; 
    }
  } 
 }

El software WINLPT es de libre descarga, fue diseñado para trabajar directamente con el puerto paralelo; pero debido a que este puerto va desapareciendo de las computadoras modernas, se ha modificado en la version 2.0.9 para que trabaje con puerto serial o usb emulando la comunicación serie.

No hay comentarios.:

Publicar un comentario

CONSTRUYA UN ANALIZADOR DE ESPECTRO CON ARDUINO Y WINAMP

Este articulo explica como hacer un analizador de espectro utilizando el reproductor de música WINAMP y el Plugin "gen_crownsoft_lcd...