Paso 3: Introduce el código
nombre de archivo de este ejemplo
char nombre [] = "NEWSONG. REGISTRO";
char toneline [5];
int n, titular;
Chip SD seleccione pin
const uint8_t chipSelect = SS;
objeto de sistema de archivos
SdFat sd;
crear secuencia Serial
Cout(Serial) de ArduinoOutStream;
almacenar cadenas de error en flash para ahorrar memoria RAM
#define error (es) sd.errorHalt_P(PSTR(s))
int playtone;
cpon int;
void setup()
{
pinMode (8, salida);
pinMode (A5, entrada);
Serial.Begin(9600);
Si (! sd.begin (chipSelect, SPI_HALF_SPEED)) sd.initErrorHalt();
startupsong();
}
void loop()
{
Si (! sd.begin (chipSelect, SPI_HALF_SPEED)) sd.initErrorHalt();
ofstream sdout (nombre, ios::out | ios::app);
Si (! sdout) error ("open error");
Delay(200);
randomSeed(analogRead(5));
/ * Si usted tiene un pin analógico inconexos,
recogerá el ruido aleatorio de la
entorno (ondas de radio,
rayos cósmicos, interferencia electromagnéticos-netic
de los teléfonos celulares y las luces fluorescentes,
y así sucesivamente). * /
dlayer larga = +180000 (180000) al azar;
/ * originalmente este código fue por un azar más con al menos un retraso de 3 minutos. Así que puede cambiar el dlayer a un tiempo más corto si quieres. */
dlayer int = 180000;
mientras (dlayer < 0) {dlayer = random +180000 (180000);}
Serial.end();
Serial.Begin(9600);
Serial.Print ("retardo 1 es");
Serial.Print (dlayer/1000, DEC);
Serial.Print ("segundos, aprox");
Serial.Print (dlayer/1000/60, DEC);
Serial.println ("minutos");
Delay(dlayer);
Playtone = random(2000);
Serial.Print ("tono 1 es");
Serial.println(Playtone);
tono (8, playtone);
Delay(50);
noTone(8);
Delay(50);
sdout << playtone << endl;
sdout.Close();
Playtone = random(7000);
Serial.Print ("tono 2 es");
Serial.println(Playtone);
tono (8, playtone);
Delay(50);
noTone(8);
Delay(50);
sdout << playtone << endl;
Playtone = random(5000);
Serial.Print ("tono 3 es");
Serial.println(Playtone);
tono (8, playtone);
Delay(50);
noTone(8);
Delay(50);
sdout << playtone << endl;
sdout.Close();
readsong();
}
void startupsong() {}
Serial.println ("tocando la canción de inicio.");
tono (8, 2500);
Delay(50);
noTone(8);
tono (8, 2500);
Delay(50);
noTone(8);
Delay(50);
tono (8, random(7000));
Delay(Random(250));
noTone(8);
Delay(50);
tono (8, random(5000));
Delay(50);
noTone(8);
Delay(50);
}
void readsong() {}
SdFile rdfile («canción. SESIÓN", O_READ);
mientras que ((n = rdfile.fgets (toneline, sizeof(toneline))) > 0) {}
/*
Si (toneline [n - 1] == '\n') {}
cout < <> ' ' << toneline;
} else {}
cout << '#' << toneline << endl;
}
*/
titular = atoi(toneline);
tono (8, titular);
Delay(50);
noTone(8);
Delay(50);
Serial.Print("+");
Serial.println(Holder);
cout << titular << endl;
}
char c;
ifstream archivo ("sonidos. REGISTRO");
Si (! file.is_open()) sd.errorHalt ("Abra fallado");
Copie el archivo en serie
mientras que ((c = file.get()) > = 0) cout << c;
cout << "Hecho" << endl;
}