#include <Wire.h>
#define LED_ROT 10
#define LED_GRUEN 9
#define LED_BLAU 8
#define Taster 11
#define Sensor A0
int LED_ROTStatus;
#define MAX_Array 100
float meinArray[100];
unsigned long millis_alt = 0;
float TempDigi;
float Temperatur;
int counter = 0;
boolean taster;
boolean schalte;
bool tasterstatus = false;
int zaehler;
void setup() {
pinMode(LED_ROT, OUTPUT);
pinMode(LED_GRUEN, OUTPUT);
pinMode(LED_BLAU, OUTPUT);
pinMode(Taster, INPUT_PULLUP);
millis_alt = millis();
Serial.begin(9600);
}
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////
void loop() {
taster = digitalRead(11);
// schalte = Schalter(taster);
if(taster == LOW && tasterstatus == false)
{
tasterstatus = true;
Serial.print("Mittelwert : ");
Serial.println(Mittelwert());
Serial.print("Min Wert : ");
Serial.println(Minwert());
Serial.print("Max Wert : ");
Serial.println(Maxwert());
Serial.println(Temperatur);
}
if(taster == HIGH)
{
tasterstatus = false;
delay(20);
}
///////////////////////////////////////////////////////
if(Temperatur < 15.0 || Temperatur > 25.0)
{
digitalWrite(LED_ROT, HIGH);
digitalWrite(LED_GRUEN, LOW);
}
else
{
digitalWrite(LED_GRUEN, HIGH);
digitalWrite(LED_ROT, LOW);
}
/////////////////////////////////////////////////////
if(counter < 100)
{
if(millis() - millis_alt > 1000)
{
TempDigi = analogRead(Sensor);
Temperatur = TempDigi * 5.0 * 10.0 / 1024;
meinArray[counter] = Temperatur;
counter ++;
millis_alt = millis();
digitalWrite(LED_BLAU, HIGH);
digitalWrite(LED_BLAU, LOW);
// Serial.println(Temperatur);
// Serial.println(meinArray[counter]);
// Serial.println(counter);
}
}
else
{
counter = 0;
}
}
////////////////////////////////////////////////////////
float Mittelwert()
{
int Summe = 0;
float mittelwert;
for (int i=0; i < 100; i ++)
{
Summe += meinArray[i];
mittelwert = Summe / 100;
}
return(mittelwert);
}
float Minwert()
{
float MinWert;
for (int i=0; i < 100; i ++)
{
if (meinArray[i] < MinWert)
{
MinWert = meinArray[i];
}
}
return(MinWert);
}
float Maxwert()
{
float MaxWert;
for (int i= 0; i < 100; i ++)
{
if(meinArray[i] > MaxWert)
{
MaxWert = meinArray[i];
}
}
return(MaxWert);
}
/////////////////////////////////////////////////////
/*bool Schalter(bool btn)
{
static unsigned long altzeit = millis();
static bool status = 0;
static bool flanke = 0;
if (millis() - altzeit >= 20)
{
altzeit = millis();
if (!btn && !flanke)
{
flanke = true;
status = !status;
}
if (btn) flanke = false;
}
return (status);
}
*/
////////////////////////////////////////////////////