【问题标题】:how to code if statement when using a sensor使用传感器时如何编写 if 语句
【发布时间】:2017-05-02 12:57:28
【问题描述】:

我有一个温度和湿度代码,我想添加“如果温度低于 5 度,在液晶屏上显示 40。我该怎么做。

    #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,而不是 Java。为什么这被标记为 Java?
  • Arduino 是 C++ 而不是 Java。但是语法基本相同, if(temperature
  • 在开始编码之前,您是否至少阅读过一本 C 或 C++ 书籍?如果是这样,您是否阅读过关于条件语句(又名 IF)的章节?

标签: c++ arduino sensors


【解决方案1】:

就在这里,在您的代码中

    float temperature, humidity;

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

添加条件

    float temperature, humidity;

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

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

    delay(2000); 

【讨论】:

    【解决方案2】:

    这是一种对初学者更友好的方法:

    float temperature, humidity;
    
    humidity = dht.readHumidity();
    temperature = dht.readTemperature();
    
      if(temperature < 5)
      {
        //code to display 40 on lcd screen
      }
    
    delay(2000); 
    

    【讨论】:

      猜你喜欢
      • 2016-06-28
      • 2021-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      • 2021-07-30
      • 1970-01-01
      • 2016-08-30
      相关资源
      最近更新 更多