查看完整版本: [Arduino] 溫控及MQ9感測風扇
頁: [1]

aa563214789 發表於 2016-4-12 03:49 PM

[Arduino] 溫控及MQ9感測風扇

本帖最後由 snowflying 於 2016-4-14 06:44 PM 編輯

#include <SoftwareSerial.h>
#include <Wire.h>   //DHT11函式
#include <LiquidCrystal_I2C.h>  //LCD函式
#define BUZZER_PIN 7
#define DHT11_PIN 2        //DHT11定義接腳
#include <dht.h>         
dht DHT;
int sensorWaarde;             //MQ9
float vol;            //MQ9

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
const byte LEFT1  =5;    //馬達接腳設定
const byte LEFT2  =6;

void setup () {
Serial.begin(9600);
pinMode(BUZZER_PIN,OUTPUT);
pinMode(LEFT1,OUTPUT);
pinMode(LEFT2,OUTPUT);
lcd.begin(20,4);  
lcd.backlight();
lcd.print("Temperature      C");
lcd.setCursor(0,1);
lcd.print("Humidity         %");
lcd.setCursor(0,2);
lcd.print("Waarde           PPM");

}


void loop() {

sensorWaarde = analogRead(0);   //MQ9程式碼
vol = (float)sensorWaarde/1024 * 5.0;
Serial.print("Waarde: "); Serial.print(sensorWaarde,DEC);
  Serial.print(", Voltage: "); Serial.println(vol, 1);
lcd.setCursor(14,2);
lcd.print(sensorWaarde);



int chk = DHT.read11(DHT11_PIN);
if(chk==0){
lcd.setCursor(14,0);
lcd.print(DHT.temperature,0);
lcd.setCursor(14,1);
lcd.print(DHT.humidity,0);

}
delay(2000);

if(sensorWaarde>150){
  digitalWrite(BUZZER_PIN,HIGH);
}
else {
digitalWrite(BUZZER_PIN,LOW);
}





if(DHT.temperature>=23 or sensorWaarde>=70){
  int i = 50;
   analogWrite(LEFT1, i);
   analogWrite(LEFT2, 0);


}

else if (DHT.temperature>=25 or sensorWaarde>=100){
int i = 100;
    analogWrite(LEFT1,i);
    analogWrite(LEFT2,0);

}

else if (DHT.temperature>=28 or sensorWaarde>=150){
int i = 150;
    analogWrite(LEFT1,0);
    analogWrite(LEFT2,i);

}

else if (DHT.temperature>=30 or sensorWaarde>=200){
int i = 250;
    analogWrite(LEFT1,i);
    analogWrite(LEFT2,0);

}

else {
    analogWrite(LEFT1,0);
    analogWrite(LEFT2,0);

}



}


程式卡關    材料有MQ9有毒氣體感測器,DHT11溫度感測器 ,直流馬達,L298n模組驅動馬達
              問題一 目前這程式風扇沒辦法隨著溫度或是MQ9數值而改變風扇轉速
              問題二 如果用switch迴圈 有沒有辦法判斷兩個範圍的變數值
請求各位大大幫幫忙!!{:38:}

...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

lextric 發表於 2016-6-10 09:08 AM

1. 目測這個軟件不止會改變速度,還會改變風扇的方向。
2. Switch 沒法判斷,要用if...else.

daniao233 發表於 2017-6-29 11:48 PM

{:32:}。。。。。。。。。。。
頁: [1]