- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想使用 Arduino Nano 和每个 channel 的 5 个 LED 创建一个音频 VU 表。
问题是我找不到/创建执行此操作的程序。
//STEREO LED VU
const int leftLedCount = 5;
const int rightLedCount = 5;
const int leftLed[leftLedCount] = {2,3,4,5,6};
const int rightLed[rightLedCount] = {7,8,9,10,11};
int leftInput, l;
int rightInput, r;
void setup()
{
for (l = 0; l < leftLedCount; l++)
pinMode(leftLed[l], OUTPUT);
for (r = 0; r < rightLedCount; r++)
pinMode(rightLed[r], OUTPUT);
testLEDs();
}
void testLEDs()
{
for (l = 0; l < leftLedCount; l++)
digitalWrite(leftLed[l], HIGH);
for (r = 0; r < rightLedCount; r++)
digitalWrite(rightLed[r], HIGH);
delay(1000);
turnOffLEDs();
}
void turnOffLEDs()
{
for (l = 0; l < leftLedCount; l++)
digitalWrite(leftLed[l], LOW);
for (r = 0; r < rightLedCount; r++)
digitalWrite(rightLed[r], LOW);
}
void loop()
{
leftInput = analogRead(A0)/12,5;
rightInput = analogRead(A1)/12,5;
//LEFT
for(l=0; l <= leftInput; l++)
{
digitalWrite(leftLed[l], HIGH);
}
//RIGHT
for(r=0; r <= rightInput; r++)
{
digitalWrite(rightLed[r], HIGH);
}
//TURN OFF LEDS
turnOffLEDs();
}
问题:
我认为问题在于更改输入电平,因为我不明白应该如何分配信号电平。任何形式的小帮助都会有所帮助。
最佳答案
您可能想在这些表达式中编写 12.5
而不是 12,5
:leftInput = analogRead(A0)/12,5; rightInput = analogRead(A1)/12,5;
但即便如此,analogRead
返回值从 0
到 1023
(包括).因此 left/rightInput
的值范围从 0
到大约 81
,而您需要它在 0 的范围内。 ..4
。我建议设置另一个阈值数组,并根据信号强度点亮所有高于阈值的 LED,例如(未测试)添加它而不是你的 loop()
:
const int thresholdsLeftLed[leftLedCount] = { 4, 208, 412, 616, 820 };
const int thresholdsRightLed[rightLedCount] = { 4, 208, 412, 616, 820 };
void LightLEDs(int signalLeft, int signalRight)
{
for (int l = 0; l < leftLedCount; ++l)
digitalWrite(leftLed[l], signalLeft > thresholdsLeftLed[l] ? HIGH : LOW);
for (int r = 0; r < rightLedCount; ++r)
digitalWrite(rightLed[r], signalRight > thresholdsRightLed[r] ? HIGH : LOW);
}
void loop()
{
LightLEDs(analogRead(A0), analogRead(A1));
}
请注意,您可能不需要关闭所有 LED,因为如果信号低于阈值,它们会在循环中关闭
关于c++ - Arduino 立体声音量表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50319029/
我正在使用 libspotify 检索音乐以使用某些音频库播放。 Spotify 音乐应为原始 16 位、44100hz、立体声 LPCM。我一直在尝试用 NAudio 播放音乐,但不幸的是它不是立体
我在stackoverflow上找到了以下不可思议的代码。请任何人帮助我添加第二个 channel (立体声) 将有nchannels = 2 必须(以某种方式)增加文件大小,并且必须添加2.数组(即
我试图将我的音频通话强制设为单声道,我愿意使用 PCMU、G.729、OPUS 和 SpeeX 作为我的通话编解码器。 现在我正在使用以下代码在我的 sdp 消息中搜索所选的编解码器: functio
我正在使用 AudioKit 创建一个实验性 iOS 音频应用程序。目前,我正在尝试将 AKStereoInput 的左声道重新路由到 AudioKit.output 的右声道,并将 AKStereo
我目前正在使用 python 处理 .wav 文件,使用 Pyaudio 流式传输音频,使用 python wave 库加载文件数据。 我计划稍后包括处理单个立体声 channel ,关于信号的幅度和
我正在尝试获取空间中几个点的 3D 坐标,但我从 undistortPoints() 和 triangulatePoints() 都得到了奇怪的结果。 由于两个相机的分辨率不同,我分别校准,得到0,3
我正在尝试从具有以下音轨布局的 Prores 中提取只有 2.0 的 Prores 视频(L R 在同一轨道上)。如何使用 FFmpeg 库来做到这一点? 我无法从以下 ffmpeg 库规范 http
我正在使用javasound并具有格式的AudioInputStreamPCM_SIGNED 8000.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endi
我想要与此匹配的 FFmpeg cli 设置(这是手刹预设) 这是预设文件,我不明白这些对ffmpeg是什么。 { "AlignAVStart": false, "AudioCopyM
为了解决我遇到的 5.1 电影的对话非常好的问题,我使用 FFMPEG 将我的 MKV 电影的每个音轨转换为具有音频规范化的 2.0 音轨,从而使视频和字幕保持不变。 该命令如下所示: for /r
我试图理解 YouTube 在他们推荐的上传编码设置中列出的内容,以获得最佳质量。这是链接:https://support.google.com/youtube/answer/1722171#zipp
我有一个包含 16 个音频单声道流的 MXF 文件,我需要将其重新编码为一个 mp4 文件,其中 2<=n<=16 个 channel 合并输入流,例如在输出 channel 1 上输入 channe
我是一名优秀的程序员,十分优秀!