Arduino+P10Led+Fix_FFT=спектроанализатор

Тема в разделе "Глядите, что я сделал", создана пользователем atompost, 9 апр 2018.

  1. atompost

    atompost Гик


    1. Светодиодный модуль P10Red
    2. Arduino Uno R3
    Схема подключения:
    [​IMG]

    Код (C++):
    #include <fix_fft.h>
    #include <SPI.h>
    #include <DMD2.h>
    SoftDMD dmd(1, 1);
    int inpPin = A0;
    char im[128], data[128];
    int i = 0, val;
    void setup() {
      dmd.setBrightness(5);
      dmd.begin();
      pinMode(inpPin, INPUT);
    }
    void loop() {
      for (i = 0; i < 128; i++) {
        val = analogRead(inpPin);
        data[i] = val / 4  - 128;
        im[i] = 0;
      }
      fix_fft(data, im, 7, 0);
      for (i = 1; i < 31; i++) {
        data[i] = sqrt(data[i] * data[i] + im[i] * im[i]);
        dmd.drawLine(i, 15, i, 16 - data[i], GRAPHICS_ON);
        dmd.drawLine(i, 16 - data[i] , i , 0, GRAPHICS_OFF);
      }
    }
    Если у кого-то буду замечания или предложения по коду, буду только рад))))
     
    Последнее редактирование: 10 апр 2018
  2. parovoZZ

    parovoZZ Гуру

    а где, собственно,
    ?
     
  3. atompost

    atompost Гик

    Может не правильно назвал, поправьте если ошибаюсь:(
     
  4. parovoZZ

    parovoZZ Гуру

    Спектроанализатор =)
     
  5. atompost

    atompost Гик

    Спасибо, исправлю:oops: