Mini Project

Mini Project

พัดลมเปิดปิดอัตโนมัติควบคุมความเร็วตามอุณหภูมิ-4ระดับ



อุปกรณ์
1.เซ็นเซอร์วัดอุณหภูมิ
2.Arduino
3.LCD
4.LED 8ดวง
5.DriveMotor

Wiring diagram


Block


Code

#include "DHT.h"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

DHT dht;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
  lcd.begin();
  Serial.begin(9600);
  Serial.println();
  Serial.println("Status\tHumidity (%)\tTemperature (C)\t(F)");
  pinMode(10,OUTPUT);
  pinMode(11,OUTPUT);

  dht.setup(2); // data pin 2
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
}

void loop()
{
  delay(dht.getMinimumSamplingPeriod());

  float humidity = dht.getHumidity();
  float temperature = dht.getTemperature();

  Serial.print(dht.getStatusString());
  Serial.print("\t");
  Serial.print(humidity, 1);
  Serial.print("\t");
  Serial.print(temperature, 1 );
          lcd.setCursor(0, 0);
          lcd.print("  Temperature ");
          lcd.setCursor(6, 1);
          lcd.print(temperature,1);     
   Serial.print("\t");
  Serial.println(dht.toFahrenheit(temperature), 1);
   if(temperature <= 30.0 ){
    analogWrite(10,0);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    digitalWrite(6, LOW);
  }
  else if(temperature >= 30.1 && temperature <= 30.5 ){
    analogWrite(10,100);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
  }
  else if(temperature >= 30.6 && temperature <= 31.0){
    analogWrite(10,150);
    digitalWrite(3, HIGH);
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
  }
  else if(temperature >= 31.1){
    analogWrite(10,255);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
  }
}

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

ความรู้เบื้องต้นเกี่ยวกับไมโครคอนโทรลเลอร์

งานปฎิบัติ 6