Está en la página 1de 5

Arduino Vumetro Estereo LCD Visualizacion con Memoria de Pico | ... https://virushardrive.wordpress.com/2017/09/04/arduino-vumetro-este...

Hardr!ve – Quod natura non dat, Salmantica non


praestat

permanece al día vía rss


Arduino Vumetro Estereo LCD Visualizacion con Memoria
de Pico

Publicado: 04/09/2017 en --Electrónica--, --Programación--


Etiquetas:arduino lcd vu meter, arduino stereo lcd vu meter, arduino stereo vu meter, arduino vu
meter, arduino vu meter hd44780, arduino vumetro, arduino vumetro estereo, arduino vumetro
estereo lcd, arduino vumetro hd44780, arduino vumetro lcd, lcd vu meter, stereo lcd vu meter,
stereo vu meter, vu meter, vu meter hd44780, vumetro, vumetro estereo, vumetro estereo lcd,
vumetro hd44780, vumetro lcd
0
El vúmetro es un dispositivo indicador en equipos de audio para mostrar el nivel de señal en
unidades de volumen, también es llamado “indicador del volumen”.

Consta de un instrumento de bobina móvil o galvanómetro con una balística (amortiguamiento)


determinada, alimentado por medio de un rectificador de onda completa que se conecta a la línea de
audio mediante una resistencia en serie. No necesita más fuente de energía para su funcionamiento
que la señal de entrada. Esencialmente permite visualizar las variaciones de la tensión en la señal de
audio, rectificándola y obteniendo el valor medio. Este se obtiene por la balística del instrumento
usado, no por una integración capacitiva. Lo que exige que el galvanómetro de un vúmetro no sea
fabricado igual que otros tipos de medidores eléctricos (como los amperímetros, voltímetros, etc.)
para conformar el estándar SVI (Standard Volume Indicator).

El vúmetro no fue diseñado para medir explícitamente la tensión de la señal, sino para que los
usuarios tuvieran una referencia u objetivo de 0 VU, identificado como el 100% o 0 decibelios, en
telefonía y en la modulación de los transmisores de la época, por lo que no era muy importante que
el dispositivo no fuera extremadamente lineal o preciso para bajos niveles. En efecto, la escala de -20
VU a +3 VU, con 0 VU al 70% de la escala, fue limitado por la tecnología de la época. La mitad
superior de la escala solo cubre 6 dB, permitiendo ajustar con precisión solo los niveles alrededor de
0 VU.

Se ha reemplazado en muchos equipos el tradicional vúmetro de aguja por indicadores luminosos


con LEDs. Además del nivel ponderado, algunos vúmetros digitales también muestran los picos o
máximos. Como regla general, los niveles de grabación deben ser tales que no superen el área roja
más allá de 0 VU, o solo en raras ocasiones. Si el volumen de grabación es demasiado alto, la calidad
del sonido y respuesta en frecuencia es generalmente más pobre y los efectos de saturación y recorte
pueden ser especialmente problemáticos para un sistema de grabación digital. Por el contrario si el
nivel es demasiado bajo, los niveles de ruido serán altos en relación a la señal principal que se está
grabando.

Actualmente, la mayoría de las computadoras utilizan pantallas LED o LCD para indicar el nivel de
sonido, por otro lado, dan un aspecto colorido y dramático.

1 de 5 12/12/2020 11:20 p. m.
Arduino Vumetro Estereo LCD Visualizacion con Memoria de Pico | ... https://virushardrive.wordpress.com/2017/09/04/arduino-vumetro-este...

Este proyecto consta de una visualización con memoria de pico que muestra gráficamente la señal de
audio estéreo que ingresa a través de dos entradas analógicas de nuestra placa Arduino.
Tiene múltiples aplicaciones, ya que podría ser un indicador de nivel de audio, control de nivel de
líquido, voltímetro o amperímetro en una fuente de alimentación, indicador de temperatura,
medición de una señal de RF, etc.

El diagrama esquemático del vúmetro estéreo se observa en la siguiente imagen:

(h ps://virushardrive.files.wordpress.com/2017/09/arduino_peak_stereo_vu_meter.png)
(click para ampliar)

Lista de Componentes
1 Display LCD 16×2 con controlador Hitachi HD44780 o compatible
2 Capacitores Electrolíticos 1uF 63V
2 Diodos Rectificadores 1N4001
1 Resistencia 3K3Ω 0.25W
1 Resistencia 220Ω 0.25W
2 Resistencias 330KΩ 0.25W
?

2 de 5 12/12/2020 11:20 p. m.
Arduino Vumetro Estereo LCD Visualizacion con Memoria de Pico | ... https://virushardrive.wordpress.com/2017/09/04/arduino-vumetro-este...

Arduino Vumetro Estereo LCD Visualizacion con Memoria de Pico


1 #include <LiquidCrystal.h>
2
3 #define IN_LEFT A4 // analog input for left channel
4 #define IN_RIGHT A5 // analog input for right channel
5
6 #define T_REFRESH 100
7 #define T_PEAKHOLD (3 * T_REFRESH)
8
9 LiquidCrystal lcd(7, // RS
10 8, // E
11 3, // DB4
12 4, // DB5
13 5, // DB6
14 6 // DB7
15 );
16
17 byte fill[6] = {0x20, 0x00, 0x01, 0x02, 0x03, 0xFF};
18 byte peak[7] = {0x20, 0x00, 0x04, 0x05, 0x06, 0x07, 0x20};
19 byte block[8][8]=
20 {
21 {0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
22 {0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18},
23 {0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C},
24 {0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E},
25
26 {0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08},
27 {0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04},
28 {0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02},
29 {0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01},
30 };
31
32 int lmax[2];
33 int dly[2];
34
35 long lastT = 0;
36
37 void bar(int row, int lev) {
38
39 lcd.setCursor(0, row);
40 lcd.write(row ? 'R' : 'L');
41
42 for(int i = 1; i < 16; i++) {
43 int f = constrain(lev-i*5, 0, 5);
44 int p = constrain(lmax[row]-i*5, 0, 6);
45 if(f)
46 lcd.write(fill[f]);
47 else
48 lcd.write(peak[p]);
49 }
50
51 if(lev > lmax[row]) {
52 lmax[row] = lev;
53 dly[row] = -(T_PEAKHOLD) / T_REFRESH;
54 }
55 else {
56 if(dly[row] > 0)
57 lmax[row] -= dly[row];

3 de 5 12/12/2020 11:20 p. m.
Arduino Vumetro Estereo LCD Visualizacion con Memoria de Pico | ... https://virushardrive.wordpress.com/2017/09/04/arduino-vumetro-este...

58
59 if(lmax[row] < 0)
60 lmax[row] = 0;
61 else
62 dly[row]++;
63 }
64 }
65
66 void setup() {
67
68 byte fillbar[8] = {
69 B00000,
70 B01000,
71 B01100,
72 B01010,
73 B01001,
74 B01010,
75 B01100,
76 B01000
77 };
78
79 byte mark[8] = {
80 B00000,
81 B01010,
82 B10001,
83 B10101,
84 B10001,
85 B01010,
86 B00000,
87 B00000
88 };
89
90 lcd.begin(16, 2);
91
92 lcd.createChar(0, fillbar);
93 lcd.createChar(1, mark);
94
95 lcd.setCursor(3, 0);
96 lcd.print("JLM Sound");
97 lcd.setCursor(12, 0);
98 lcd.write(1);
99
100 for(int i = 0; i < 16; i++) {
101 lcd.setCursor(i, 1);
102 lcd.write((byte)0);
103
104 delay(125);
105 }
106
107 lcd.clear();
108
109 for(int j = 0; j < 8; j++)
110 lcd.createChar(j, block[j]);
111 }
112
113 void loop() {
114
115 if(millis() < lastT)
116 return;

4 de 5 12/12/2020 11:20 p. m.
Arduino Vumetro Estereo LCD Visualizacion con Memoria de Pico | ... https://virushardrive.wordpress.com/2017/09/04/arduino-vumetro-este...

117
118 lastT += T_REFRESH;
119
120 int anL = map(sqrt(analogRead(IN_LEFT)*16), 0, 128, 0, 80);
121 int anR = map(sqrt(analogRead(IN_RIGHT)*16), 0, 128, 0, 80);
122
123 bar(0, anL);
124 bar(1, anR);
125 }

Blog de WordPress.com. No vendas mi información personal

5 de 5 12/12/2020 11:20 p. m.

También podría gustarte