本帖最後由 小牙 於 2014-11-21 22:03 編輯  
 
各位前輩您好,最近小弟剛接觸ARDUINO UNO想做一個隨著亮度變暗LED較便亮,還有當霧氣產生時LED也會同時變亮,因為找不到可以量測霧氣感測器,所以想說可不可以用露點計算知道相對濕度以及實際氣溫時,露點可以透過以下公式求得近似值:  當中的 則是:  溫度   和露點   單位為攝氏、相對濕度   為百分比,  則代表自然對數。常數   和 分別是:   ℃此公式是基於 Magnus-Tetens 近似法( Magnus-Tetens Approximation),當中把飽和水氣壓視為溫度的函數。[2]此方法僅在以下範圍時有效: 0℃ <   < 60℃1% <   < 100%0℃ <   < 50℃簡易近似法[編輯]當知道乾球溫度、而相對濕度大於50%時,露點可以用下列的公式求得,其誤差值僅為 ±1℃。  或者  但就不知道如何用。或者限定到某種上下線也可以 
下面是我打的程式,我把光敏跟DHT11程式做結合但還是沒辦法同步沒辦法說溼度和溫度到某種程度LED就會變亮 
int lightLevel;float humidity; 
float temperature; 
#include "DHT.h" 
#define DHTPIN 8  
#define DHTTYPE DHT11 
#define LED_PIN 12 
#define SERIAL_BAUDRATE 115200DHT dht(DHTPIN, DHTTYPE);  
 void setup(void){  dht.begin();   
Serial.begin(115200) ;   
Serial.begin(SERIAL_BAUDRATE);} 
void loop(void) 
{  float humidity = dht.readHumidity();  
   float temperature = dht.readTemperature()   
  int lightLevel = analogRead(A0);   
  Serial.print("Temperature: ");   
  Serial.println(temperature);    
  Serial.print("Humidity: ");   
  Serial.println(humidity);  
  Serial.print("Light level: ");   
  Serial.println(lightLevel);  
  Serial.println("");    
  delay(2000);   
  int r = analogRead(lightLevel);  
  int b = map(r, 0, 1023, 0, 255);   
  // 環境光線越弱強,LED就越亮   
  analogWrite(LED_PIN, b); 
} 
懇請各位前輩能幫忙,真的很想完成第一項自己所做的 
 
 |