Inhaltsverzeichnis
BMP280
#include "Adafruit_BMP280.h"
#include "Adafruit_NeoPixel.h"
#define RING 4
// Anzahl der LEDs ⇒ muss angepasst werden
#define AnzahlLED 20
// LEDRing -> Name des LED-Rings
Adafruit_NeoPixel LEDRing(AnzahlLED, RING, NEO_GRB + NEO_KHZ800);
// Name des Sensor
Adafruit_BMP280 bmp;
void setup()
{
Serial.begin(9600);
// BMP280 starten
if (!bmp.begin()) Serial.println("BMP280 gestartet!");
// setBrightness(0..255)
LEDRing.setBrightness(200);
// NeoPixel Bibliothek initialisieren
LEDRing.begin();
}
void loop()
{
float gemesseneTemperatur = bmp.readTemperature();
// gelesene Temperatur in String umwandeln
String Temperatur = String(gemesseneTemperatur);
// . durch , ersetzen
Temperatur.replace(".", ",");
// Ausgabe Serieller Monitor
Serial.println("Temperatur: " + Temperatur + "°C");
Serial.println("--------------------------------");
// alle LEDs aus
LEDRing.clear();
/*
es können nur ganzzahlige Werte berücksichtigt werden
es sollen entsprechend der Skala die LEDs leuchten
der Wert vor dem Komma entscheidet über die Anzahl der LEDs
*/
if (gemesseneTemperatur >= 10 && gemesseneTemperatur < 11) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 1);
if (gemesseneTemperatur >= 11 && gemesseneTemperatur < 12) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 2);
if (gemesseneTemperatur >= 12 && gemesseneTemperatur < 13) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 3);
if (gemesseneTemperatur >= 13 && gemesseneTemperatur < 14) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 4);
if (gemesseneTemperatur >= 14 && gemesseneTemperatur < 15) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 5);
if (gemesseneTemperatur >= 15 && gemesseneTemperatur < 16) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 6);
if (gemesseneTemperatur >= 16 && gemesseneTemperatur < 17) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 7);
if (gemesseneTemperatur >= 17 && gemesseneTemperatur < 18) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 8);
if (gemesseneTemperatur >= 18 && gemesseneTemperatur < 19) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 9);
if (gemesseneTemperatur >= 19 && gemesseneTemperatur < 20) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 10);
if (gemesseneTemperatur >= 20 && gemesseneTemperatur < 21) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 11);
if (gemesseneTemperatur >= 21 && gemesseneTemperatur < 22) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 12);
if (gemesseneTemperatur >= 22 && gemesseneTemperatur < 23) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 13);
if (gemesseneTemperatur >= 23 && gemesseneTemperatur < 24) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 14);
if (gemesseneTemperatur >= 24 && gemesseneTemperatur < 25) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 15);
if (gemesseneTemperatur >= 25 && gemesseneTemperatur < 26) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 16);
if (gemesseneTemperatur >= 26 && gemesseneTemperatur < 27) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 17);
if (gemesseneTemperatur >= 27 && gemesseneTemperatur < 28) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 18);
if (gemesseneTemperatur >= 28 && gemesseneTemperatur < 29) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 19);
if (gemesseneTemperatur >= 29 && gemesseneTemperatur < 30) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 20);
LEDRing.show();
delay(2000);
}
DHT 11/DHT22
#include "DHT.h"
#include "Adafruit_NeoPixel.h"
#define RING 4
// Anzahl der LEDs ⇒ muss angepasst werden
#define AnzahlLED 20
// LEDRing -> Name des LED-Rings
Adafruit_NeoPixel LEDRing(AnzahlLED, RING, NEO_GRB + NEO_KHZ800);
// Pin des DHT-Sensors
#define SENSOR_DHT 7
// Sensortyp festlegen
// DHT22 oder DHT11
#define SensorTyp DHT22
// Sensor DHT einen Namen zuweisen
DHT dht(SENSOR_DHT, SensorTyp);
void setup()
{
Serial.begin(9600);
while (!Serial) {;}
delay(1000);
// DHT starten
dht.begin();
// setBrightness(0..255)
LEDRing.setBrightness(200);
// NeoPixel Bibliothek initialisieren
LEDRing.begin();
}
void loop()
{
// Temperatur lesen
float gemesseneTemperatur = dht.readTemperature();
// gelesene Temperatur in String umwandeln
String Temperatur = String(gemesseneTemperatur);
// . durch , ersetzen
Temperatur.replace(".", ",");
// Ausgabe Serieller Monitor
Serial.println("Temperatur: " + Temperatur + "°C");
Serial.println("--------------------------------");
// alle LEDs aus
LEDRing.clear();
/*
es können nur ganzzahlige Werte berücksichtigt werden
es sollen entsprechend der Skala die LEDs leuchten
der Wert vor dem Komma entscheidet über die Anzahl der LEDs
*/
if (gemesseneTemperatur >= 10 && gemesseneTemperatur < 11) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 1);
if (gemesseneTemperatur >= 11 && gemesseneTemperatur < 12) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 2);
if (gemesseneTemperatur >= 12 && gemesseneTemperatur < 13) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 3);
if (gemesseneTemperatur >= 13 && gemesseneTemperatur < 14) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 4);
if (gemesseneTemperatur >= 14 && gemesseneTemperatur < 15) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 5);
if (gemesseneTemperatur >= 15 && gemesseneTemperatur < 16) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 6);
if (gemesseneTemperatur >= 16 && gemesseneTemperatur < 17) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 7);
if (gemesseneTemperatur >= 17 && gemesseneTemperatur < 18) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 8);
if (gemesseneTemperatur >= 18 && gemesseneTemperatur < 19) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 9);
if (gemesseneTemperatur >= 19 && gemesseneTemperatur < 20) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 10);
if (gemesseneTemperatur >= 20 && gemesseneTemperatur < 21) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 11);
if (gemesseneTemperatur >= 21 && gemesseneTemperatur < 22) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 12);
if (gemesseneTemperatur >= 22 && gemesseneTemperatur < 23) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 13);
if (gemesseneTemperatur >= 23 && gemesseneTemperatur < 24) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 14);
if (gemesseneTemperatur >= 24 && gemesseneTemperatur < 25) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 15);
if (gemesseneTemperatur >= 25 && gemesseneTemperatur < 26) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 16);
if (gemesseneTemperatur >= 26 && gemesseneTemperatur < 27) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 17);
if (gemesseneTemperatur >= 27 && gemesseneTemperatur < 28) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 18);
if (gemesseneTemperatur >= 28 && gemesseneTemperatur < 29) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 19);
if (gemesseneTemperatur >= 29 && gemesseneTemperatur < 30) LEDRing.fill(LEDRing.Color(0, 0, 255), 0, 20);
LEDRing.show();
delay(2000);
}
Letzte Aktualisierung: