Browse Source

Update 'Teensy4.1_Datalogger new.ino'

master
Julian Graf 1 year ago
parent
commit
d5ee9e3b3f
1 changed files with 38 additions and 12 deletions
  1. 38
    12
      Teensy4.1_Datalogger new.ino

+ 38
- 12
Teensy4.1_Datalogger new.ino View File

} }
arithmetic_mean = summ / float(amount_saved); arithmetic_mean = summ / float(amount_saved);
square_mean = pow((square_summ / float(amount_saved)), (1 / 2.0)); square_mean = pow((square_summ / float(amount_saved)), (1 / 2.0));
cubic_mean = pow((cubic_mean / float(amount_saved)), (1 / 3.0));
cubic_mean = pow((cubic_summ / float(amount_saved)), (1 / 3.0));


summ = 0; summ = 0;
square_summ = 0; square_summ = 0;
square_deviation = pow((square_summ / float(amount_saved - 1)), (1 / 2.0)); square_deviation = pow((square_summ / float(amount_saved - 1)), (1 / 2.0));
cubic_deviation = pow((cubic_summ / float(amount_saved - 1)), (1 / 2.0)); cubic_deviation = pow((cubic_summ / float(amount_saved - 1)), (1 / 2.0));


time_stemp_seconds = second();
time_stemp_minutes = minute();
time_stemp_hours = hour();

seconds_skipped = 60 - amount_saved; seconds_skipped = 60 - amount_saved;
} }
float speed_max; float speed_max;


int seconds_skipped; int seconds_skipped;

short int time_stemp_seconds;
short int time_stemp_minutes;
short int time_stemp_hours;
}; };




} }
void setup_anemometer(int pin) { void setup_anemometer(int pin) {
this->reed_contact = Bounce(pin, 10);
anemometer_pin = pin;
pinMode(pin, INPUT);
//this->reed_contact = Bounce(pin, 1);
} }


void meassure() { void meassure() {
if (reed_contact.update() && reed_contact.fallingEdge()) {
/*if (reed_contact.update() && reed_contact.fallingEdge()) {
count_per_second++;
}*/
if(digitalRead(anemometer_pin) == HIGH){
this_signal = 1;
}
else{
this_signal = 0;
}
if(this_signal != last_signal){
if(this_signal == 1){
count_per_second++; count_per_second++;
}
last_signal = this_signal;
} }
} }


} }


void file_print() { void file_print() {
file.printf("Min:\tMax:\tArith. Mittel:\tStandard Abw.:\tQuadr. Mittel:\tStandard Abw.:\tKub. Mittel:\tStandard Abw.:\tÜbersprungene Sek.:\n");
file.printf("Time Stemp:\tMin:\tMax:\tArith. Mittel:\tStandard Abw.:\tQuadr. Mittel:\tStandard Abw.:\tKub. Mittel:\tStandard Abw.:\tÜbersprungene Sek.:\n");
for (int i = 0; i < saved_minutes; i++) { for (int i = 0; i < saved_minutes; i++) {
file.printf("%d:%d:%d\t\t", values[i].time_stemp_hours, values[i].time_stemp_minutes, values[i].time_stemp_seconds);
file.printf("%.2f\t%.2f\t", values[i].speed_min, values[i].speed_max); file.printf("%.2f\t%.2f\t", values[i].speed_min, values[i].speed_max);
file.printf("%.2f\t%.2f\t", values[i].arithmetic_mean, values[i].arithmetic_deviation);
file.printf("%.2f\t%.2f\t", values[i].square_mean, values[i].square_deviation);
file.printf("%.2f\t%.2f\t", values[i].cubic_mean, values[i].cubic_deviation);
file.printf("%.2f\t\t%.2f\t\t", values[i].arithmetic_mean, values[i].arithmetic_deviation);
file.printf("%.2f\t\t%.2f\t\t", values[i].square_mean, values[i].square_deviation);
file.printf("%.2f\t\t%.2f\t\t", values[i].cubic_mean, values[i].cubic_deviation);
file.printf("%i\n", values[i].seconds_skipped); file.printf("%i\n", values[i].seconds_skipped);
} }


file.printf("Übersprungene Min.: %i\n", 60 - saved_minutes);
file.printf("Übersprungene Min.: %i\n\n", 60 - saved_minutes);


saved_minutes = 0; saved_minutes = 0;
} }
int count_per_second = 0; int count_per_second = 0;
int saved_seconds = 0; int saved_seconds = 0;
int saved_minutes = 0; int saved_minutes = 0;
int last_signal = 0;
int this_signal = 0;
float wind_speed_per_second[60]; float wind_speed_per_second[60];
int anemometer_pin;


Bounce reed_contact = Bounce(2, 10);
//Bounce reed_contact = Bounce(2, 1);


calculations values[60]; calculations values[60];


saved_seconds = 0; saved_seconds = 0;
} }
void file_print() { void file_print() {
file.printf("\nWindruchtung in ° Winkel:\n");
file.printf("\nWindrichtung in ° Winkel:\n");
for (int i = 0; i < saved_minutes; i++) { for (int i = 0; i < saved_minutes; i++) {
file.printf("%.2f °\n", values[i]); file.printf("%.2f °\n", values[i]);
} }
static int first_time = 1; static int first_time = 1;


if (hour() == 0 || first_time == 1) {
if (hour() == 1 || first_time == 1) {
write_sd(1); write_sd(1);
first_time = 0; first_time = 0;
} }
anemometer_1.setup_anemometer(2); anemometer_1.setup_anemometer(2);
anemometer_2.setup_anemometer(9); anemometer_2.setup_anemometer(9);
anemometer_3.setup_anemometer(22); anemometer_3.setup_anemometer(22);
seconds_for_blink = 0;
Serial.println("Messung startet"); Serial.println("Messung startet");
last_second = second(); last_second = second();

Loading…
Cancel
Save