Skocz do zawartości

Spectrum analyzer na WS2812B


Pomocna odpowiedź

Witam.
Chciałem zrobić sobie bardzo podobający mi się analizator widma, w myśl -> TEGO PROJEKTU <-.
Jestem w trakcie kompletowania wszystkiego ale napotkałem kłopot a w zasadzie kilka. Pierwszy problem to błędy w kodzie które wypluwa tylko VisualStudioCode ponieważ Arduino IDE program kompiluje.
Drugi problem jaki na początku napotkałem to nie działa część sprzętowa. Dokonałem zakupu MSGEQ7 i podłączyłem to pod Arduino Nano (powinno być pod arduino Pro Mini) i na tym Arduino Nano nie chce działać a Pro Mini nie posiadam na razie. Tylko co to za różnica ? Pinologia ta co potrzeba to powinno działać. MSGEQ7 złożyłem na płytce uniwersalnej sprawdzając przed uruchomieniem 15 razy połączenia żeby czegoś nie uwalić.

Program ściągnąłem od autora, ale w VSCode nie kompiluje się bo woła że są błędy. Oto program:

-> PROGRAM <-

A to błędy które wypluwa VSC:


> Executing task in folder spectrum analyzer na MSGEQ7: platformio run <

Processing pro16MHzatmega328 (platform: atmelavr; board: pro16MHzatmega328; framework: arduino)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/pro16MHzatmega328.html
PLATFORM: Atmel AVR (2.2.0) > Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz)
HARDWARE: ATMEGA328P 16MHz, 2KB RAM, 30KB Flash
DEBUG: Current (simavr) On-board (simavr)
PACKAGES: 
 - framework-arduino-avr 5.0.0 
 - toolchain-atmelavr 1.50400.190710 (5.4.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 7 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <Adafruit NeoPixel> 1.6.0
|-- <MSGEQ7> 1.2.2
Building in release mode
Compiling .pio/build/pro16MHzatmega328/src/main.cpp.o
src/main.cpp:14:1: error: 'Timer' does not name a type
 Timer t;
 ^
src/main.cpp: In function 'void setup()':
src/main.cpp:79:3: error: 't' was not declared in this scope
   t.every(80, peakLower);
   ^
src/main.cpp: In function 'void CReSet()':
src/main.cpp:128:108: error: 'Wheel' was not declared in this scope
       strip.setPixelColor(peakArray[band - 1] + numBand * (band - 1), Wheel(map(10, 0, numBand - 0, k, 255)));
                                                                                                            ^
src/main.cpp:129:5: error: 't' was not declared in this scope
     t.update();
     ^
src/main.cpp: In function 'void anyBand(byte)':
src/main.cpp:157:89: error: 'Wheel' was not declared in this scope
       strip.setPixelColor(i + numBand * (band - 1), Wheel(map(i, 0, numBand - s, a, 255)));
                                                                                         ^
*** [.pio/build/pro16MHzatmega328/src/main.cpp.o] Error 1
==================================================================================== [FAILED] Took 0.62 seconds ====================================================================================
The terminal process "platformio 'run'" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.

 

IMG20201015135334.jpg

IMG20201015143137.jpg

IMG20201015150958.jpg

Edytowano przez matrix0606
Link do komentarza
Share on other sites

11 godzin temu, Wojciech napisał:

Hej, a próbowałeś dodać taką linię na początku kodu?


#include <Timer.h>

 

Tak tylko wówczas wywala że nie ma bliblioteki Timer.h. Natomiast normalnie kompilator nie wywala info że nie ma biblioteki timer tylko że
" 'Timer' does not name a type".

Dodatkowo że:
" 't' was not declared in this scope"

W ogóle to wypluwa kilka (5) błędów:
 

{
	"resource": "/home/matrix/Documents/PlatformIO/Projects/spectrum analyzer na MSGEQ7/src/main.cpp",
	"owner": "cpp",
	"severity": 8,
	"message": "'Wheel' was not declared in this scope",
	"startLineNumber": 129,
	"startColumn": 108,
	"endLineNumber": 129,
	"endColumn": 108
}



> Executing task in folder spectrum analyzer na MSGEQ7: platformio run <

Processing pro16MHzatmega328 (platform: atmelavr; board: pro16MHzatmega328; framework: arduino)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/pro16MHzatmega328.html
PLATFORM: Atmel AVR (2.2.0) > Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz)
HARDWARE: ATMEGA328P 16MHz, 2KB RAM, 30KB Flash
DEBUG: Current (simavr) On-board (simavr)
PACKAGES: 
 - framework-arduino-avr 5.0.0 
 - toolchain-atmelavr 1.50400.190710 (5.4.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 7 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <Adafruit NeoPixel> 1.6.0
|-- <MSGEQ7> 1.2.2
Building in release mode
Compiling .pio/build/pro16MHzatmega328/src/main.cpp.o
src/main.cpp:15:1: error: 'Timer' does not name a type
 Timer t;
 ^
src/main.cpp: In function 'void setup()':
src/main.cpp:82:3: error: 't' was not declared in this scope
   t.every(80, peakLower);
   ^
src/main.cpp: In function 'void CReSet()':
src/main.cpp:131:108: error: 'Wheel' was not declared in this scope
       strip.setPixelColor(peakArray[band - 1] + numBand * (band - 1), Wheel(map(10, 0, numBand - 0, k, 255)));
                                                                                                            ^
src/main.cpp:132:5: error: 't' was not declared in this scope
     t.update();
     ^
src/main.cpp: In function 'void anyBand(byte)':
src/main.cpp:160:89: error: 'Wheel' was not declared in this scope
       strip.setPixelColor(i + numBand * (band - 1), Wheel(map(i, 0, numBand - s, a, 255)));
                                                                                         ^
*** [.pio/build/pro16MHzatmega328/src/main.cpp.o] Error 1
==================================================================================== [FAILED] Took 0.62 seconds ====================================================================================
The terminal process "platformio 'run'" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.

 

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.