Online grafer med ingenting men en Arduino, Ethernet Shield och Sensor (3 / 5 steg)
Steg 3: EEPROM konfiguration
Konfigurera EEPROM för första gången sker enkelt med hjälp av följande skiss, som jag har kallat EEPROM_config. Denna skiss (tillsammans med SGDL själv) kräver en extra bibliotek som kallas EEPROMAnything, som måste läggas till den Arduino bibliotek mapp där sin skissbok mapp är. Medan du ändå håller på, bör du också lägga till tid biblioteket som vi behöver för SGDL.
/* ************************************************************************
* *** Super Graphing datalogger - EEPROM config ***
* ************************************************************************
* Everett Robinson, December 2012.
*
* Extra icke följande standardbibliotek användes, och kommer att behöva vara
* lagt till mappen bibliotek:
* - EEPROMAnything: http://playground.arduino.cc/Code/EEPROMWriteAnyt...
*
* Denna skiss hjälper dig ange värden i EEPROM som är nödvändiga för
* Super grafritande datalogger. Det behöver bara den köras en gång innan
* första gången du lägger upp SGDL, eller i den osannolika händelsen att EEPROM
* blir skadad.
*
* Se till att värdena i konfigurationen config är lämpliga för
* ditt projekt innan uncommenting EEPROM_writeAnything (0, config); linje.
*
*/
#include < EEPROM.h >
#include < EEPROMAnything.h >
TypeDef struct {
osignerade långa newFileTime;
char workingFilename [19].
} konfiguration;
Detta är en en av sak, så allt är i setup
void setup() {
Serial.BEGIN(9600);
Skapa det config strukt att skriva till EEPROM, ändra värden i förekommande fall
Kontrollera att filnamn inte är för långt till workingFilename char matrisen
konfiguration config = {1356912000L,"/data/25-12-12.csv}";
Skriva värden till EEPROM
EEPROM_writeAnything (0, config); Avkommentera när du är säker på att allt är korrekt
konfiguration config2; Skapa en andra config struct för kontroll
EEPROM_readAnything(0,config2);
Serial.Print ("värdet läsa från EEPROM för newFileTime är:");
Serial.println(config2.newFileTime);
Serial.Print ("värdet läsa från EEPROM för workingFilename är:");
Serial.println(config2.workingFilename);
Serial.println ("om dessa värden är korrekta så allt gick som planerat. Annars");
Serial.println ("Vänligen dubbelkolla att värdena förklarat för struct config är");
Serial.println ("rätta och att det EEPROM_writeAnything linjen är okommenterade.");
}
void loop() {
}
Jag har avsiktligt bortkommenterade raden skriva så att ingen skriver skräppost till EEPROM av misstag. Medan EEPROM har ett liv av ~ 100 000 skriva cykler, jag skulle snarare inte slösa bort någon av dem. Granska skissen noga och se till att du har justerat det följaktligen innan ladda upp den till Arduino. Viktigaste är att se till att din newFileTime något förnuftigt (inom en snar framtid framför allt).