Skocz do zawartości

Pomocna odpowiedź

Napisano (edytowany)

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

 

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