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

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

อุปกรณ์ในชุด โปรเจค Arduino พัดลมเปิดปิดอัตโนมัติควบคุมความเร็วตามอุณหภูมิ 4ระดับ

  • Arduino UNO R3 แถมฟรี สายUSB 1 ชิ้น
  • บอร์ดทดลอง Breadboard 830 Point 1ชิ้น
  • สายไฟจัมเปอร์ ผู้-ผู้ ยาว 20cm. จำนวน 40 เส้น 1 แพร
  • สายไฟจัมเปอร์ ผู้-เมีย ยาว 20cm. จำนวน 40 เส้น 1 แพร
  • สายไฟจัมเปอร์ เมีย-เมีย ยาว 20cm. จำนวน 40 เส้น 1 แพร
  • Electronics box กล่องอิเล็กทรอนิกส์ ขนาด 200mmx300mmx63mm (กxยxส) 1 ใบ
  • DC male Adapter Jack plug สำหรับ Arduino 2.1 x 5.5 mm 1 ชิ้น
  • สายไฟพร้อมหัวปลั๊ก ขนาด2*0.75 ยาว2m 1 เส้น
  • DHT22 / AM2302 Module โมดูลวัดอุณหภูมและความชื้น Temperature and Humidity Sensor Module พร้อมสายไฟ 1ชิ้น
  • L298N Motor Drive Module 1 ชิ้น
  • 1602 LCD (Blue Screen) 16x2 โมดูลจอ LCD พร้อม I2C Interface 1 ชิ้น
  • พัดลมเป่าเทอร์โบ 12v ขนาด 74*74mm 1 ชิ้น
  • Switching Power supply แหล่งจ่ายไฟ 12V 3A 1 ชิ้น
  • บอร์ดทดลอง LED 8 ดวง สีแดง
  • Code โปรเจค Arduino พัดลมเปิดปิดอัตโนมัติควบคุมความเร็วตามอุณหภูมิ 4ระดับ
  • 1
    #include "DHT.h"
    2
    #include <Wire.h>
    3
    #include <LiquidCrystal_I2C.h>
    4
    int Number = 0;
    5
    const int in3Pin = 3;
    6
    const int in4Pin = 4;
    7
    int p8_Lv1 = 8;
    8
    int p8_Lv2 = 9;
    9
    int p8_Lv3 = 10;
    10
    int p8_Lv4 = 11;
    11
    LiquidCrystal_I2C lcd(0x27, 16, 2);
    12
    #define DHTPIN 2 // what digital pin we're connected to
    13
    #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
    14
    DHT dht(DHTPIN, DHTTYPE);
    15
    void setup() {
    16
    Serial.begin(9600);
    17
    Serial.println("DHTxx test!");
    18
    dht.begin();
    19
    lcd.begin();
    20
    lcd.backlight();
    21
    pinMode(in3Pin, OUTPUT);
    22
    pinMode(in4Pin, OUTPUT);
    23
    analogWrite (in3Pin , 0);
    24
    digitalWrite(in4Pin, LOW);
    25
    pinMode(p8_Lv1, OUTPUT);
    26
    pinMode(p8_Lv2, OUTPUT);
    27
    pinMode(p8_Lv3, OUTPUT);
    28
    pinMode(p8_Lv4, OUTPUT);
    29
    digitalWrite(p8_Lv1, LOW);
    30
    digitalWrite(p8_Lv2, LOW);
    31
    digitalWrite(p8_Lv3, LOW);
    32
    digitalWrite(p8_Lv4, LOW);
    33
    }
    34
    void loop() {
    35
    delay(2000);
    36
    float h = dht.readHumidity();
    37
    // Read temperature as Celsius (the default)
    38
    float t = dht.readTemperature();
    39
    // Read temperature as Fahrenheit (isFahrenheit = true)
    40
    float f = dht.readTemperature(true);
    41
    // Check if any reads failed and exit early (to try again).
    42
    if (isnan(h) || isnan(t) || isnan(f)) {
    43
    Serial.println("Failed to read from DHT sensor!");
    44
    return;
    45
    }
    46
    // Compute heat index in Fahrenheit (the default)
    47
    float hif = dht.computeHeatIndex(f, h);
    48
    // Compute heat index in Celsius (isFahreheit = false)
    49
    float hic = dht.computeHeatIndex(t, h, false);
    50
    Serial.print("Humidity: ");
    51
    Serial.print(h);
    52
    Serial.print(" %\t");
    53
    Serial.print("Temperature: ");
    54
    Serial.print(t);
    55
    Serial.print(" *C ");
    56
    Serial.print(f);
    57
    Serial.print(" *F\t");
    58
    Serial.print("Heat index: ");
    59
    Serial.print(hic);
    60
    Serial.print(" *C ");
    61
    Serial.print(hif);
    62
    Serial.println(" *F");
    63
    if ( t < 30 ) {
    64
    Number = 0;
    65
    analogWrite (in3Pin , 0);
    66
    digitalWrite(p8_Lv1, LOW);
    67
    digitalWrite(p8_Lv2, HIGH);
    68
    digitalWrite(p8_Lv3, HIGH);
    69
    digitalWrite(p8_Lv4, HIGH);
    70
    }
    71
    if ( t > 30 && t <= 35 ) {
    72
    Number = 1;
    73
    analogWrite (in3Pin , 100);
    74
    digitalWrite(p8_Lv1, LOW);
    75
    digitalWrite(p8_Lv2, LOW);
    76
    digitalWrite(p8_Lv3, HIGH);
    77
    digitalWrite(p8_Lv4, HIGH);
    78
    }
    79
    if ( t > 35 && t <= 40 ) {
    80
    Number = 2;
    81
    analogWrite (in3Pin , 150);
    82
    digitalWrite(p8_Lv1, LOW);
    83
    digitalWrite(p8_Lv2, LOW);
    84
    digitalWrite(p8_Lv3, LOW);
    85
    digitalWrite(p8_Lv4, HIGH);
    86
    }
    87
    if ( t > 40 ) {
    88
    Number = 3;
    89
    analogWrite (in3Pin , 255);
    90
    digitalWrite(p8_Lv1, LOW);
    91
    digitalWrite(p8_Lv2, LOW);
    92
    digitalWrite(p8_Lv3, LOW);
    93
    digitalWrite(p8_Lv4, LOW);
    94
    }
    95
    lcd.setCursor(0, 0);
    96
    lcd.print("Tem:");
    97
    lcd.print(t);
    98
    lcd.print("*C");
    99
    lcd.setCursor(0, 1);
    100
    lcd.print("Hum:");
    101
    lcd.print(h);
    102
    lcd.print("% ");
    103
    lcd.print("Num:");
    104
    lcd.print(Number);
    105
    }

ความคิดเห็น

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

เปิดปิดไฟด้วยเสียง