Code:
#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>
// GUItool: begin automatically generated code
AudioInputAnalog adc1(A6); //xy=263.00000762939453,49.00000476837158
//AudioSynthWaveformSine sine1; //xy=294,142.00000476837158
AudioMixer4 mixer1; //xy=458.7826232910156,58
AudioAnalyzeFFT1024 fft1024; //xy=554,124
AudioConnection patchCord1(adc1, 0, mixer1, 0);
//AudioConnection patchCord2(sine1, 0, mixer1, 1);
AudioConnection patchCord3(mixer1, fft1024);
// GUItool: end automatically generated code
const int EQbins = 14;
float EQbuff[EQbins];
void setup() {
AudioMemory(24);
Serial.begin(115200);
//mixer1.gain(0, 1);
//mixer1.gain(1, 0);
//mixer1.gain(2, 1);
sine1.amplitude(1);
sine1.frequency(330);
//sine1.Set the frequency, from 0 to 22000. Very low values may be used to create a LFO (Low Frequency Oscillator) for objects with modulation signal inputs.
sine1.phase(0);
}
void loop() {
//delay(1);
//readfft();
logread();
//finefft();
}
void logread(){
Serial.print(0); // To freeze the lower limit
Serial.print(" ");
Serial.print(1.2*10); // To freeze the upper limit
Serial.print(" ");
float printle = analogRead(A6)*3.3/1024*10;
Serial.println(printle);
}
void readfft(){
if (fft1024.available()) {
Serial.println(fft1024.read(0, 1024));
}
}
void finefft(){
if (fft1024.available()) {
EQbuff[0] = fft1024.read(0);
EQbuff[1] = fft1024.read(1);
EQbuff[2] = fft1024.read(2, 3);
EQbuff[3] = fft1024.read(4, 6);
EQbuff[4] = fft1024.read(7, 11);
EQbuff[5] = fft1024.read(12, 18);
EQbuff[6] = fft1024.read(19, 29);
EQbuff[7] = fft1024.read(30, 45);
EQbuff[8] = fft1024.read(46, 68);
EQbuff[9] = fft1024.read(69, 103);
EQbuff[10] = fft1024.read(104, 154);
EQbuff[11] = fft1024.read(155, 131);
EQbuff[12] = fft1024.read(132, 184);
EQbuff[13] = fft1024.read(344, 511);
for(int i = 0; i < EQbins; i++){
Serial.print(EQbuff[i]);
Serial.print(" ");
}
Serial.println(" ");
}
}