1 | #include <SPI.h>
|
2 | #include <SD.h>
|
3 | #include <Adafruit_BMP085.h>
|
4 |
|
5 | File meineDatei;
|
6 | Adafruit_BMP085 bmp;
|
7 |
|
8 | void setup() {
|
9 | // SD-Karte initialisieren
|
10 | Serial.begin(9600);
|
11 | while (!Serial) {
|
12 | ; // warten auf serielle Portverbindung.
|
13 | }
|
14 |
|
15 | if (!bmp.begin()) {
|
16 | Serial.println("Could not find a valid BMP085 sensor, check wiring!");
|
17 | while (1) {}
|
18 | }
|
19 |
|
20 | if (!SD.begin(10)) {
|
21 | Serial.println("Initialisierung fehlgeschlagen!");
|
22 | return;
|
23 | }
|
24 | Serial.println("Initialisierung erfolgreich.");
|
25 |
|
26 | // Öffnen der Datei. Beachten Sie, dass nur ein Programm zur Zeit auf die Datei schreiben kann.
|
27 | meineDatei = SD.open("ergebnisse.txt", FILE_WRITE);
|
28 |
|
29 | // Schreiben Sie die Ergebnisse der Programme in die Datei
|
30 | if (meineDatei) {
|
31 | meineDatei.println("Ergebnisse von Programm 1:");
|
32 | meineDatei.println(programm1());
|
33 | meineDatei.println("Ergebnisse von Programm 2:");
|
34 | meineDatei.println(programm2());
|
35 | meineDatei.println("Ergebnisse von Programm 3:");
|
36 | meineDatei.println(programm3());
|
37 | meineDatei.println("Ergebnisse von Programm 4:");
|
38 | meineDatei.println(programm4());
|
39 |
|
40 | // Schließen der Datei
|
41 | meineDatei.close();
|
42 | } else {
|
43 | // wenn das Öffnen der Datei fehlschlägt:
|
44 | Serial.println("Fehler beim Öffnen der Datei");
|
45 | }
|
46 | }
|
47 |
|
48 | void loop() {
|
49 | // Nichts zu tun hier
|
50 | }
|
51 |
|
52 | String programm1() {
|
53 | int TMP36 = A1;
|
54 | int sensorwert;
|
55 | int temperatur = 0;
|
56 | int t = 500;
|
57 |
|
58 | sensorwert = analogRead(TMP36);
|
59 | temperatur = map(sensorwert, 0, 410, -50, 150);
|
60 | delay(t);
|
61 | return String(temperatur) + " Grad Celsius";
|
62 | }
|
63 |
|
64 | String programm2() {
|
65 | int xA = analogRead(A3);
|
66 | int yA = analogRead(A2);
|
67 | int zA = analogRead(A6);
|
68 |
|
69 | return String(xA) + "," + String(yA) + "," + String(zA);
|
70 | }
|
71 |
|
72 | String programm3() {
|
73 | const byte soundpin = A0;
|
74 | int sample = analogRead(soundpin);
|
75 | float volt_calc = sample * (5.0 / 4096.0);
|
76 |
|
77 | return String(sample) + "\t" + String(volt_calc);
|
78 | }
|
79 |
|
80 | String programm4() {
|
81 |
|
82 | float temp = bmp.readTemperature(); // °C
|
83 |
|
84 | float press = bmp.readPressure(); // Pa
|
85 |
|
86 | float alt = bmp.readAltitude(); // meters
|
87 |
|
88 | return String(temp) + "\t" + String(press) + "\t" + String(alt) ;
|
89 | }
|