Wasserwächter aka Teetemperaturfühler          

  • Veröffentlicht
  • Veröffentlicht in Allgemein
  • 0 Kommentare
  • Aktualisiert
  • 2 mins read

Ich bin nicht nur eine Kaffeenase, sondern liebe auch guten Grünen Tee. Doch wenn ich das Wasser im Wasserkocher erhitze weiß ich nie ob es die richtige Temperatur hat. Deswegen habe ich diese kleine Platine entworfen, welche von einem Arduino Nano angesteuert wird.

Es ist mein erster Versuch eine Platine zu erstellen und aus diesem Grund ist vielleicht nicht alles Optimal aber Versuch macht kluch oder wie heißt es 😉

Es werden RGB LEDs eingesetzt und keine WS2812b. Diese habe ich erst später kennengelernt.
Als Temperaturfühler kommt ein DS18B20 zum Einsatz und die Bauteile sind als SMD aufgeführt.

Der Code ist recht Simpel aufgebaut und ändert die Farbe der LEDs bei 90°, 80°, 70°, 60° und 50° Celsius.

Die Temperatur wird nicht nur mittels Farbänderung angezeigt, sondern lässt sich auch im Terminal mitverfolgen.

Wenn ihr Interesse habt gibt es jetzt den Code:

#include <OneWire.h>
#include <DallasTemperature.h>

//Pinbelegung
int redLedPin = 9;
int greenLedPin = 10;
int blueLedPin = 11;
int temp_sensor = 5;

//Temeraturenvariable
float temperature = 0;
int neunzig = 90;
int achtzig = 80;
int siebzig = 70;
int sechzig = 60;
int fuenfzig = 50;

//Helligkeitsvariable
int helligkeita = 255; 
int helligkeitb = 150; 
int helligkeitc = 90; 
int dunkel = 0; 

//OneWire
OneWire oneWirePin(temp_sensor);
DallasTemperature sensors(&oneWirePin);

void setup(void){
  Serial.begin(9600);
  
//LED als Output 
pinMode(redLedPin,OUTPUT);
pinMode(greenLedPin,OUTPUT);
pinMode(blueLedPin,OUTPUT);

//Sensor beginnt
sensors.begin();
}

void loop(){
  
  //Teste Sensor
  Serial.print("Abfrage der Temeratur vom Senor: ");
  sensors.requestTemperatures(); 
  Serial.println("ERLEDIGT");
  
  temperature = sensors.getTempCByIndex(0);

  
  Serial.print("Die Temperature betraegt ");
  Serial.print(temperature);

 //If Schleife mit LED und SerialMonitor
if(temperature >= neunzig && temperature >=achtzig){ 
    Serial.println(", Rote LED ist aktiv"); 
    analogWrite(redLedPin, helligkeita); 
} 
else if(temperature <= achtzig && temperature >= siebzig){ 
    Serial.println(", Gelbe LED ist aktiv"); 
    analogWrite(greenLedPin, helligkeitc);
    analogWrite(redLedPin, helligkeita); 
} 
else if(temperature <= siebzig && temperature >= sechzig){ 
    Serial.println(", Gruene LED ist aktiv"); 
   analogWrite(greenLedPin, helligkeita);
} 
else if(temperature <= sechzig && temperature >= fuenfzig){
    Serial.println(", Blaue LED ist aktiv");
    analogWrite(blueLedPin, helligkeita);
}
else if(temperature <= fuenfzig){
    Serial.println(", Weisse LED ist aktiv");
    analogWrite(blueLedPin, helligkeitb);
    analogWrite(greenLedPin, helligkeitb);    
    analogWrite(redLedPin, helligkeita);
}
delay(500);
}

Auch die KiCad6 Dateien könnt ihr gerne runterladen:

Schreibe einen Kommentar