2016-12-16 3 views
0

j'ai un code de température et de l'humidité que je veux ajouter « si la température est inférieure à 5 degrés d'affichage 40 sur l'écran LCD. Comment puis-je faire cela.comment coder instruction if en utilisant un capteur

#include "DHT.h" 
    #include <LiquidCrystal.h> 

    #define DHTPIN 22  // what pin we're connected to 

    #define DHTTYPE DHT11 

    DHT dht(DHTPIN, DHTTYPE); 
    LiquidCrystal lcd(8,9,4,5,6,7); 

    void setup(void) { 
    lcd.begin(16, 2); 
    lcd.print("Reading sensor"); 
    dht.begin(); 
     } 

    void loop() { 

    float temperature, humidity; 

    humidity = dht.readHumidity(); 
    temperature = dht.readTemperature(); 
    delay(2000); 

    lcd.clear(); 

    char tempF[6]; 
    char humF[6]; 
    dtostrf(temperature, 5, 1, tempF); 
    dtostrf(humidity, 2, 0, humF); 

    lcd.print("T:"); 
    lcd.print(tempF); 
    lcd.print((char)223); 
    lcd.print("C "); 
    lcd.print("H: "); 
    lcd.print(humF); 
    lcd.print("%"); 
    } 

c'est mon code jusqu'à présent

+1

Cela ressemble à C, pas Java. Pourquoi est-ce marqué Java? –

+1

Arduino est C++ pas Java. Cependant, la syntaxe est la même pour l'essentiel, si (temperature <5) {// faire cet affichage} else {// faire cet autre} – DejaVuSansMono

+0

Avez-vous lu au moins un livre C ou C++ avant de commencer le codage? Si oui, avez-vous lu le chapitre sur les déclarations conditionnelles (aka IF)? – frarugi87

Répondre

0

ici, dans votre code

float temperature, humidity; 

    humidity = dht.readHumidity(); 
    temperature = dht.readTemperature(); 
    delay(2000); 

ajouter la condition

float temperature, humidity; 

    humidity = dht.readHumidity(); 
    temperature = dht.readTemperature(); 

    temperature = (temperature < 5)?40:temperature; 

    delay(2000); 
0

Voici une plus begineer méthode facile de le faire:

float temperature, humidity; 

humidity = dht.readHumidity(); 
temperature = dht.readTemperature(); 

    if(temperature < 5) 
    { 
    //code to display 40 on lcd screen 
    } 

delay(2000);