Hi Freaks,
da der Post mittlerweile auf Seite drei gelandet ist, hier nochmal die Bitte um eure Comments:
Ich habe eine (Gülle) Pott, der vom Stand (Ich habe einen 4- 20mA Sensor, 24V, oder eine 12V Druckmessung, 0-5V zur Verfügung) und eine Temperaturmessung mit PTC zur Verfügung. Die exakten Daten, also Stand in mm und Temperatur in µ° sind nicht wichtig, hier ist eher eine Tendenz +- 5% notwendig.
Zum Testen läuft das Sketch
/*
Logger 2 Channel
Erfassung zweier analoge Signale, akt. Wärmetank Gala
Done TR 11.06.2012
*/
int LED12 = 12; // Out 12, Power auf Sensoren
int LED13 = 13; // Out 13, Onboard LED, Kontrolle/ aktiv
int PB2 = 2; // Taster an Pin2
int EIN2; // Status Pin2
int PB3 = 3; // Taster an Pin3
int EIN3; // Status Pin3
int TDEL = 1000; // Verz. Zeit
int TDIS = 0; // Zeit in min
// analogRead(0) = Ch0, Level Wasser
// analogRead(1) = Ch1, Temperature Wasser
// analgoRead(2) = Ch2, N/A
// analogRead(3) = Ch3, N/A
// the setup routine runs once when you press reset:
void setup() {
// Initialisiere seriellen Transfer
Serial.begin(9600);
// initialize digital pins
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
pinMode(2, INPUT);
pinMode(3, INPUT);
// Initialize analog pins
// print Header
Serial.println("Logger, TR");
Serial.println("");
Serial.println("Zeitstempel; LH2O; TH2O; Delay");
Serial.println("");
Serial.println("start");
}
// Loop fängt hier an
void loop() {
int EIN2 = digitalRead(PB2);
if(EIN2 == HIGH)
{
TDEL = 600;
}
else
{
TDEL = 3000;
delay(TDEL);
delay(TDEL);
TDIS = TDEL / 600;
}
long STAMP = millis();
//digitalWrite(LED12, HIGH);
digitalWrite(LED13, HIGH);
int LH2O = analogRead(0);
int TH2O = analogRead(1);
Serial.print(STAMP);
Serial.print("; ");
Serial.print(LH2O);
Serial.print("; ");
Serial.print(TH2O);
Serial.print("; ");
Serial.print(TDIS);
Serial.println("; ");
delay(200);
//digitalWrite(LED12, LOW);
digitalWrite(LED13, LOW);
}
// End
auf der seriellen Schnittstelle.
Die Umschaltung der Zeiten ist zum Testen gedacht, Schalter ein, 10 sec Takt, Schalter offen, 10 min Takt.
Da die Messung über ca. 1/2 Jahr und fern ab einer Stromversorgung laufen soll, will ich eine wasserdichte Kiste, den Ardu und die Mimik in dem Miniraum an dem Behälter (passt...) mit einer Autobatterie einbauen, welche dann alle 1- 2 Wochen kontrolliert/ geladen wird.
Konkrete Fragen also:
- Kann ich den Adapter µSD- SD-Karte über eine Platine mit der 5zu 3,3V an den Ardu anschließen, oder muss da noch zusätzliche Intelligenz/ Pegelanpassung durchgeführt werden?
- Wie sieht es mit dem Stromverbauch im 'Delay' aus, gibt es dort einen besseren Weg, in der Wartezeit mit ein paar µA zu arbeiten und den Prozessor nur zum Einlesen/ Schreiben aufwachen zu lassen?
- meine Zeitstempel lasse ich zur Zeit über die Millis laufen. die Laufzeit wird entsprechend bei ca. 50 Tagen liegen. Kann ich nach Ablauf (Also millis checken, wenn die aktuelle Zeit z.B. vorher über 50000 und hinterher unter 1000 war, weiß ich ja, dass ein Überlauf stattgefunden hat...) eine neue Datei kreieren, und dann in diese für die nächste Zeit schreiben? (alternativ RTC, aber wenn möglich noch nicht...)
Ich hoffe, dieses Projekt (ok, für die Freaks 5 min Arbeit, aber ich wollte ja 'nur al eben was mitloggen'...) interessiert Euch, vielleicht kann man in diesem Thread eine Neulingtutorial erschaffen, mit welchem, und der Tante SuFu diese Basic- Function logisch und verständlich, und auch kompakt erklärt wird...
Greetz, Regards, Linpotec