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 to post
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 to post
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

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.