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);
}
}