Hallo,
sorry voor het binnenvallen maar ik ben bezig met een werk gerelateerd projectje en kom ergens niet uit.
Heb een datalogger gemaakt welke de data van een mma8451 sensor (accelerometer) logged naar een sd kaart.
Heb hierbij gebruik gemaakt van een voorbeeld te vinden op:
https://github.com/greima...s/LowLatencyLoggerMPU6050
Laatste stukje code van de void loop()
void loop(void) {
// Read any Serial data.
do {
delay(10);
} while (Serial.available() && Serial.read() >= 0);
Serial.println();
Serial.println(F("type:"));
Serial.println(F("b - open existing bin file"));
Serial.println(F("c - convert file to csv"));
Serial.println(F("d - dump data to Serial"));
Serial.println(F("e - overrun error details"));
Serial.println(F("l - list files"));
Serial.println(F("r - record data"));
Serial.println(F("t - test without logging"));
while(!Serial.available()) {
SysCall::yield();
}
#if WDT_YIELD_TIME_MICROS
Serial.println(F("LowLatencyLogger can not run with watchdog timer"));
SysCall::halt();
#endif
char c = tolower(Serial.read());
// Discard extra Serial data.
do {
delay(10);
} while (Serial.available() && Serial.read() >= 0);
if (ERROR_LED_PIN >= 0) {
digitalWrite(ERROR_LED_PIN, LOW);
}
if (c == 'b') {
openBinFile();
} else if (c == 'c') {
binaryToCsv();
} else if (c == 'd') {
dumpData();
} else if (c == 'e') {
checkOverrun();
} else if (c == 'l') {
Serial.println(F("\nls:"));
sd.ls(&Serial, LS_SIZE);
} else if (c == 'r') {
logData();
} else if (c == 't') {
testSensor();
} else {
Serial.println(F("Invalid entry"));
}
}
Hij wacht hier op input via de seriele monitor, toetsdruk "r", om te starten met loggen.
Ik wil dit behouden, maar een extra voorwaarde eraan hangen, dat hij ook start bij drukken op een button.
Dus iets van :
if (button == LOW){
logData();
}
Maar waar ik het ook plaats ik krijg het nergens werkend behalve als de arduino opstart met de button ingedrukt, dan werkt het wel.
Dus ergens blijft hij wachten op input en moet dat zien te doorbreken met de button, maar het wil niet lukken. Daarvoor heb ik net te weinig programmeerkennis, tenminste totdat alle haakjes en do...while...loops er komen dan.
Kan iemand mij vertellen hoe ik dit het beste kan oplossen??
Vriendelijke groet,
Bert