Stap 3: Voer de code
bestandsnaam van dit voorbeeld
char [naam] = "NEWSONG. LOG";
char toneline [5];
int n, houder;
SD chip Selecteer pin
Const uint8_t chipSelect = SS;
bestandssysteemobject
SdFat sd;
Seriële stream maken
ArduinoOutStream cout(Serial);
foutmeldingen worden opgeslagen in flash RAM opslaan
#define fout(en) sd.errorHalt_P(PSTR(s))
int playtone;
int dlay;
VOID Setup
{
pinMode (8, OUTPUT);
pinMode (A5, INPUT);
Serial.begin(9600);
Als (! sd.begin (chipSelect, SPI_HALF_SPEED)) sd.initErrorHalt();
startupsong();
}
void loop
{
Als (! sd.begin (chipSelect, SPI_HALF_SPEED)) sd.initErrorHalt();
ofstream sdout (naam, ios::out | ios::app);
Als (! sdout) fout ("open is mislukt");
delay(200);
randomSeed(analogRead(5));
/ * Hebt u een los analoge pin,
het zal halen met willekeurige ruis uit de
omgeving (radiogolven,
kosmische straling, te zenden interferentie
van mobiele telefoons en TL-lampen,
en zo verder). * /
lange dlayer = willekeurige (180000) +180000;
/ * uitzendingen oorspronkelijk deze code voor een willekeurige annoyer met ten minste 3 minuten vertraging was. Zo kunt u de dlayer naar een kortere tijd als u wilt. */
int dlayer = 180000;
terwijl (dlayer < 0) {dlayer = willekeurige (180000) +180000;}
Serial.End();
Serial.begin(9600);
Serial.Print ("vertraging 1 is");
Serial.Print (dlayer/1000, DEC);
Serial.Print ("seconden, aprox");
Serial.Print (dlayer/1000/60, DEC);
Serial.println ("minuten");
delay(dlayer);
playtone = random(2000);
Serial.Print ("Toon 1 is");
Serial.println(playtone);
Toon (8, playtone);
delay(50);
noTone(8);
delay(50);
sdout << playtone << endl;
sdout.Close();
playtone = random(7000);
Serial.Print ("Toon 2 is");
Serial.println(playtone);
Toon (8, playtone);
delay(50);
noTone(8);
delay(50);
sdout << playtone << endl;
playtone = random(5000);
Serial.Print ("Toon 3 is");
Serial.println(playtone);
Toon (8, playtone);
delay(50);
noTone(8);
delay(50);
sdout << playtone << endl;
sdout.Close();
readsong();
}
ongeldig startupsong() {}
Serial.println ("Playing opstarten liedje.");
Toon (8, 2500);
delay(50);
noTone(8);
Toon (8, 2500);
delay(50);
noTone(8);
delay(50);
Toon (8, random(7000));
delay(Random(250));
noTone(8);
delay(50);
Toon (8, random(5000));
delay(50);
noTone(8);
delay(50);
}
ongeldig readsong() {}
SdFile rdfile ("lied. AANMELDEN", O_READ);
terwijl ((n = rdfile.fgets (toneline, sizeof(toneline))) > 0) {}
/*
Als (toneline [n - 1] == '\n') {}
Cout < <> ' ' << toneline;
} else {}
Cout << '#' << toneline << endl;
}
*/
houder = atoi(toneline);
Toon (8, houder);
delay(50);
noTone(8);
delay(50);
Serial.Print("+");
Serial.println(Holder);
Cout << houder << endl;
}
char c;
ifstream bestand ("KLINKT. LOGBOEK");
Als (! file.is_open()) sd.errorHalt ("openen mislukt");
Kopieer het bestand naar serieel
terwijl ((c = file.get()) > = 0) cout << c;
Cout << "Done" << endl;
}