具有C#或同等功能的Ardunio音频频谱

具有C#或同等功能的Ardunio音频频谱,c#,audio,arduino,spectrum,C#,Audio,Arduino,Spectrum,我使用了一个带有arduino的msgeq7芯片,从一个连接在试验板上的音频插孔分割音频。我的代码显示了7种不同的频率,每种频率都有一个快速频闪的“响度”值。我想知道是否有人知道我如何使用arduino的数据来创建c#的图形频谱?没有什么太复杂的,只是一个7x6的网格,底部有绿点,顶部有红点,它们上下移动以帮助显示音量。有人帮忙吗 我不知道c#但是你可以跳到处理上,它是基于java构建的,但是很容易掌握窍门。您可以使用processing与Arduino建立串行连接,并在它们之间发送数据,然后在

我使用了一个带有arduino的msgeq7芯片,从一个连接在试验板上的音频插孔分割音频。我的代码显示了7种不同的频率,每种频率都有一个快速频闪的“响度”值。我想知道是否有人知道我如何使用arduino的数据来创建c#的图形频谱?没有什么太复杂的,只是一个7x6的网格,底部有绿点,顶部有红点,它们上下移动以帮助显示音量。有人帮忙吗

我不知道c#但是你可以跳到处理上,它是基于java构建的,但是很容易掌握窍门。您可以使用processing与Arduino建立串行连接,并在它们之间发送数据,然后在processing中以您认为合适的方式呈现数据

Arduino代码示例:

void setup() {
  Serial.begin(9600);
  Serial.setTimeout(20);
  delay(100);
}

void loop() {
//send data over serial port
    Serial.println("Hello World");
    delay(50);
}
处理代码:

import processing.serial.*;

Serial myPort;
String val;

void setup() {
  smooth();
  size(300, 350);
//you may have to mess around with the value in brackets to get the right on.
//Try printling out all values in Serial.list() and find your Arduino port name
  String portName = Serial.list()[3];
  println(portName);
  myPort = new Serial(this, portName, 9600);
  myPort.bufferUntil('\n');
}

void draw(){
    //draw stuff
}

void serialEvent( Serial myPort) {
  //put the incoming data into a String - 
  //the '\n' is our end delimiter indicating the end of a complete packet
  val = myPort.readStringUntil('\n');
  //make sure our data isn't empty before continuing
  if (val != null) {
    //trim whitespace and formatting characters (like carriage return)
    val = trim(val);
    println(val);
  }
}
希望这能让你开始。大部分信息来自Sparkfun Arduino处理教程 如果你还有其他问题,请看一看