Проще говоря, у меня есть микрофон, который срабатывает от звука. Затем он записывает звук в течение 5 секунд, что составляет около 60 КБ. Этот файл затем записывается на SD-карту как «A.WAV». Здесь мне нужна помощь.
Приведенный ниже код начинается ПОСЛЕ создания WAV на SD-карте
Я хотел бы отправить этот файл A.WAV на мой Raspberry PI через USB. Я понимаю, что вы можете подключить ARDUINO MEGA (через USB) к PI, а затем PI считывает последовательный порт (/dev/cu.us/usbmodem14101)
То, что я думаю (в моей голове) о том, что «необработанные данные» затем «перестраивается» PI в «новый» (A.WAV), за исключением PI. По сути, я разбиваю свой A.WAV на необработанные данные и отправляю его в PI для его «перестройки» обратно в A.WAV, чтобы я мог манипулировать им.
Отказ от ответственности:
Я не могу сделать все это на PI, я хотел бы использовать их оба для этого, пожалуйста, дайте мне знать, что это возможно для записи файла через последовательный порт в качестве необработанных данных для его «перестройки»
Также, если есть способ, которым мы можем протолкнуть весь файл через последовательный порт, я тоже был бы рад этому!
Спасибо
#include <SoftwareSerial.h>
//SD CARD SYSTEM
#include <SPI.h>
#include <SD.h>
// set up variables using the SD utility library functions:
Sd2Card card;
SdVolume volume;
SdFile root;
File myFile;
String number = "";
void setup()
{
//Intialize SD Card System
Serial.print("Initializing SD card...");
if (!SD.begin(53)) {
Serial.println("initialization failed!");
while (1);
}
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.print("\nInitializing SD card...");
if (!card.init(SPI_HALF_SPEED, chipSelect)) {
Serial.println("initialization failed. Things to check:");
Serial.println("* is a card inserted?");
Serial.println("* is your wiring correct?");
Serial.println("* did you change the chipSelect pin to match your shield or module?");
while (1);
} else {
Serial.println("Wiring is correct and a card is present.");
}
// print the type of card
Serial.print("Card type: ");
switch (card.type()) {
case SD_CARD_TYPE_SD1:
Serial.println("SD1");
break;
case SD_CARD_TYPE_SD2:
Serial.println("SD2");
break;
case SD_CARD_TYPE_SDHC:
Serial.println("SDHC");
break;
default:
Serial.println("Unknown");
}
if (SD.exists("a.WAV"))
{
Serial.println("Found File!");
} else {
Serial.println("Missing File!");
}
myFile = SD.open("a.WAV");
if (myFile) {
while (myFile.available()) {
number.concat(myFile.read());
number = (myFile.read());
Serial.write(myFile.read());
}
Serial.println(myFile, HEX);
//close the file:
myFile.close();
}
}
void loop()
{
}
Ожидаемое :
A.WAV перестраивается в хранилище PI.
Фактический:
A.WAV читается как необработанные данные, не зная, как преобразовать их в формат, который Python может перестроить обратно в MP3