Liebes Forum,
ich bin bei meinem ersten Projekt mit meinem Latein am Ende und bitte um Hilfe:
Ich möchte Daten zur Luftqualität auf einem LCD-Dilplay anzeigen und zugleich mit einem Zeitstempel auf eine SD-Karte schreiben.
Dazu benutze ich ein Arduino Nano und einen MicroSD Kartenleser.
Es funktioniert alles ca. 12 mal ganz perfekt, dann kommt immer die Fehlermeldung "error opening test.txt"
Setze Deinen Code bitte in Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *).
Dann ist er auch auf mobilen Geräten besser lesbar.
Das kannst Du auch noch nachträglich ändern.
ich vermute das du die Pins 0,1 mit A0 und A1 verwechselst und damit der Controller leider auch. Grundsätzlich lässt man die digitalen Pins 0 und 1 erstmal frei, solange wie nur möglich. Denn dort hängt der USB dran und damit das flashen des Sketches. Könnte Mist machen, vielleicht genau wie in deinem Fall.
also nochmal, das sind andere Pins:
pinMode( 0 , INPUT); // Pin 0 dient nun als Input für MQ135
pinMode( 1 , INPUT); // Pin 0 dient nun als Input Für MQ2
als diese:
SensorMQ135 = analogRead(0); // Zuerst werden die Werte am Pin A0 und A1 ausgelesen...
SensorMQ2 = analogRead(1);
Das heißt für dich, pinMode für analoge Eingänge braucht man nicht.
Nutze eindeutige Namen für Pin A0 und A1 und setze diese in analogRead ein.
Vielen Dank für die vielen Hinweise, das ist ein tolles Forum !
Dem letzten Hinweis folgend habe ich mal probeweise den MQ-2 abgeklemmt. Es bleibt dabei: Es werden nach jedem Reset bis zu 15 Zeilen Daten in die Text-Datei geschrieben, dann ist Schluß mit der Fehlermeldung.
Also die beiden Sensoren funktionieren ja einwandfrei. Auch das Schreiben auf die SD funktioniert ja erst mal prima. Nur warum bricht der Schreibvorgang nach einer Weile ab? Warum kann die Datei nach 12 bis 16 Schreibvorgängen nicht mehr geöffnet werden? Ich hab auch einmal einen Sensor abgeklemmt, falls der Nano durch zu viel Strom überlastet wird. Das hat aber auch nichts verbessert.
Ich bin ratlos. Vielleicht fange ich noch einmal von vorn an mit nur einem Temperatursensor.
Vielen Dank noch einmal.
myFile = SD.open("test.txt", FILE_WRITE);
if (myFile) {
myFile = SD.open("test.txt",FILE_WRITE);
Wieso 2 mal Datei öffnen?
Kann es sein das die immer 2 mal geöffnet und einmal geschlossen wird und es deshalb nicht tut?
Habe bisher noch nie mit SD-Karten am Arduino gearbeitet, aber das kommt mir seltsam vor...
Gruß, Jürgen
PS: 255 Posts. Hoffentlich ist mein Post Zähler keine Byte Variable...