Warum gibt mir DHT Sensor im seriellen Monitor immer 0°C und 0% Luftfeuchtigkeit an?

Die Verdrahtung stimmt ganz sicher aber ich habe schon mehrere Programme probiert und der Sensor wird zwar erkannt, gibt aber immer nur 0 aus.

// Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain


// REQUIRES the following Arduino libraries:
// - DHT Sensor Library: https://github.com/adafruit/DHT-sensor-library
// - Adafruit Unified Sensor Lib: https://github.com/adafruit/Adafruit_Sensor


#include "DHT.h"


#define DHTPIN 9    // Digital pin connected to the DHT sensor
// Feather HUZZAH ESP8266 note: use pins 3, 4, 5, 12, 13 or 14 --
// Pin 15 can work but DHT must be disconnected during program upload.


// Uncomment whatever type you're using!
//#define DHTTYPE DHT11   // DHT 11
#define DHTTYPE DHT11   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)


// Connect pin 1 (on the left) of the sensor to +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor


// Initialize DHT sensor.
// Note that older versions of this library took an optional third parameter to
// tweak the timings for faster processors.  This parameter is no longer needed
// as the current DHT reading algorithm adjusts itself to work on faster procs.
DHT dht(DHTPIN, DHTTYPE);


void setup() {
  Serial.begin(9600);
  Serial.println(F("DHTxx test!"));


  dht.begin();
}


void loop() {
  // Wait a few seconds between measurements.
  delay(2000);


  // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  float h = dht.readHumidity();
  // Read temperature as Celsius (the default)
  float t = dht.readTemperature();
  // Read temperature as Fahrenheit (isFahrenheit = true)
  float f = dht.readTemperature(true);


  // Check if any reads failed and exit early (to try again).
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }


  // Compute heat index in Fahrenheit (the default)
  float hif = dht.computeHeatIndex(f, h);
  // Compute heat index in Celsius (isFahreheit = false)
  float hic = dht.computeHeatIndex(t, h, false);


  Serial.print(F("Humidity: "));
  Serial.print(h);
  Serial.print(F("%  Temperature: "));
  Serial.print(t);
  Serial.print(F("°C "));
  Serial.print(f);
  Serial.print(F("°F  Heat index: "));
  Serial.print(hic);
  Serial.print(F("°C "));
  Serial.print(hif);
  Serial.println(F("°F"));
}
programmieren, Arduino Uno, Arduino Nano
Wie erstelle ich in Mathematica eine Liste von Zahlen, deren Quersumme größergleich 5 ist?

Guten Abend zusammen,

ich würde gerne in Mathematica eine Liste von Zahlen bis 100 erstellen, deren Quersumme größergleich 5 ist.

Sprich 1-4 fliegt raus, 5-9 bleibt drin, 10-13 ist raus usw.

Nun habe ich nach reichlicher Überlegung das Folgende gebastelt:

Select[
 Total[ (*Addiert die Ziffern auf*)
  IntegerDigits[ (*trennt die Zahlen in Ziffern auf*)
   Range[100]], (*erzeugt die Zahlen bis 100*) 
  {2}], 
 GreaterThan[4]] (*Auswahlbedingung >=5*)

Damit wird nun eine Liste der Quersummen ausgegeben, die 5 oder größer sind. Damit bin ich aber noch nicht am Ziel.

  1. Frage: Beim Aufaddieren der Ziffern wird keine andere Zahl als 2 zugelassen, die Hilfe gibt dazu nur ein Beispiel an. Ist es korrekt, dass diese für das Lesen zeilenweise nötig ist?
  2. Frage: Wie setze ich diesen Vektor nun ein, um ihn als Bedingung zum Anzeigen der Zahl zu verwenden?

In anderer Sprache würde ich den Zahlenvektor mit einem Vektor aller Quersummen hochzählen und letzteren ständig auf die Größe prüfen. Ist diese zu klein, würde ich die entsprechende Zahl aus dem Zahlenvektor streichen.
Bei Mathematica muss ich in diesem Fall wohl ein "Nothing" enschieben, so viel habe ich herausgefunden. Nur wie ich einen solchen Vergleich implementiere, habe ich noch nicht begriffen.

Danke für eure Hilfe im Voraus!

Computer, Schule, Mathematik, programmieren, rechnen, mathematica, Wolfram Alpha

Meistgelesene Beiträge zum Thema Programmieren