Помогите запустить Music Shield
- Войдите на сайт для отправки комментариев
Подскажите про MusicShield, пожалуйста.
MusicShield подключил к Меге. Работаю на Arduino 1. Карточка на 2 гига (читал, что не все карточки кушаются, но это мы узнаем в конце) - три файла 001.mp3, 002.mp3, 003.mp3. Скачал библиотеки MusicShieldNewSDLib и FAT16. Заменил файл portpins.h. Взял пример из библиотеки MusicShieldNewSDLib - MusicPlayWithName - проигрывание файла по имени.
Получился код:
// Попытка проиграть файл .mp3 через MusicShield
#include
#include
#include
#include
#include
#include
#include
#include
void setup()
{
Serial.begin(9600);
InitSPI();
InitIOForVs10xx();
InitIOForKeys();
InitIOForLEDs();
Mp3Reset();
if (!initialSDCard())
return;
RED_LED_ON();//light red LED
}
void loop()
{
playFile("001.mp3");
}
Arduino ругается:
test0.cpp: In function 'void setup()':
test0:16: error: 'InitSPI' was not declared in this scope
test0:18: error: 'InitIOForVs10xx' was not declared in this scope
test0:20: error: 'InitIOForKeys' was not declared in this scope
test0:22: error: 'InitIOForLEDs' was not declared in this scope
test0:24: error: 'Mp3Reset' was not declared in this scope
test0:25: error: 'initialSDCard' was not declared in this scope
test0:28: error: 'RED_LED_ON' was not declared in this scope
test0.cpp: In function 'void loop()':
test0:34: error: 'playFile' was not declared in this scope
Что-нибудь заметно?
Понятно, что не подцепились библиотеки. В чем разница между #include "aaa.h" и #include ? Поясните также про размещение вновь подключаемых библиотек: Я работаю на Маке. Стандартные библиотеки (Servo, SPI, SD, EEPROM, ...) Arduino лежат в самом пакете Arduino.app (Arduino.app/Contents/Resources/libraries/). И туда новые не напишешь. Для новых есть другое место: /Users/MyUserName/Library/Arduino/ (там же размещается файл preferences.txt) - туда я и складываю новые - правильно?
пардон, вот так с именами библиотек:
// Попытка проиграть файл .mp3 через MusicShield
#include "Arduino.h"
#include "avr/io.h"
#include "MusicShieldNewSDLib/config.h"
#include "MusicShieldNewSDLib/player.h"
#include "MusicShieldNewSDLib/vs10xx.h"
#include "Fat16/Fat16.h"
#include "Fat16/Fat16Util.h"
#include "MusicShieldNewSDLib/newSDLib.h"
.........
Я что-то помню про разницу в ковычках если не ошибаюсь то как-то так:
#include "ccc.h" - стандартные библиотеки лежащие рядом с компилятором
#include <ccc.h> - сторонние библиотеки
В винде сторонние либы хранятся в папке libraries
И не понятно зачем вы подключаете библиотеки, которые и так уже по умолчанию подключены:
Советую вам прежде чем задавать какие-либо вопросы ознакомиться с разделами сайта: Среда разработки Arduino и Программирование Ардуино.