Wetterstation mit RGB-LED

Gast #4995308
Lesenswert?

Hallo zusammen,

ich studiere Wirtschaftsingenieurwesen und bin nun im dritten Semester.

In der Uni habe ich ein Semester lang Elektrotechnik gehabt, jedoch kein
Programmieren.

Nun ist unser Dozent auf die Idee gekommen, wir könnten uns das
Programmieren bis zum nächsten Semester ja mal eben selber beibringen
und eine Wetterstation bauen...

Meine Bauteile sind folgende:

- Node MCU
- DHT 22
- DS18B20
- MPL3115A2
- RGB LED

Die Hardware ist so weit fertig und ich konnte mit der Arduino IDE (ja,
viele finden die sch***e, mir bleibt derzeit aber nichts anderes über
als vollkommen ahnungslose) bereits die Sensoren einzeln und
mittlerweile auch gemeinsam auslesen. So weit so gut. Auch die 
Datenübertragung bzw. der Datenabruf über eine IP-Adresse klappt 
mittlerweile.

Meine letzte Aufgabe ist nun:

Die RGB-LED soll unter 18°C blau, über 22°C rot und dazwischen grün 
blinken.





Mein Code ist grob ohne die anderen Sensoren folgender (kann sein, dass 
ich noch was beim Löschen vergessen habe):



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

#define ONE_WIRE_BUS 2
#define TEMPERATURE_PRECISION 9

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress insideThermometer;

void setup()
{
 Serial.begin(115200);

 sensors.getAddress(insideThermometer, 0);
 sensors.setResolution(insideThermometer, TEMPERATURE_PRECISION);

 Wire.begin();
 sensors.begin();
}


void loop()
{
 delay(500);

 sensors.requestTemperatures();
 float tempC = sensors.getTempC(insideThermometer);

 Serial.print("Temperature(DS1820): ");
 Serial.print(tempC);
 Serial.println("*C ");
}



die RGB-LED zum blinken bekomme ich damit:



int redPin = D5, greenPin = D6, bluePin = D8;

void setup()
{
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}

void loop()
{
  digitalWrite(redPin, LOW);
  delay(500);
  digitalWrite(redPin, HIGH);
  delay(500);
  digitalWrite(greenPin, LOW);
  delay(500);
  digitalWrite(greenPin, HIGH);
  delay(500);
  digitalWrite(bluePin, LOW);
  delay(500);
  digitalWrite(bluePin, HIGH);
  delay(500);
 }


Ich habe mein Glück versucht, die RGB-LED je nach Temperatur blinken zu 
lassen, aber es nicht geschafft.. Ich hoffe sehr, dass ihr mir helfen 
könnt!

Ich danke euch bereits im Voraus und bitte auch noch einmal zu bedenken,
dass ich eine absolute Anfängerin bin. Also bitte Verständnis dafür
zeigen :)

Liebe Grüße,
Melina

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren