พัดลมเปิดปิดอัตโนมัติควบคุมความเร็วตามอุณหภูมิ 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>4int Number = 0;5const int in3Pin = 3;6const int in4Pin = 4;7int p8_Lv1 = 8;8int p8_Lv2 = 9;9int p8_Lv3 = 10;10int p8_Lv4 = 11;11LiquidCrystal_I2C lcd(0x27, 16, 2);12#define DHTPIN 2 // what digital pin we're connected to13#define DHTTYPE DHT22 // DHT 22 (AM2302), AM232114DHT dht(DHTPIN, DHTTYPE);15void setup() {16Serial.begin(9600);17Serial.println("DHTxx test!");18dht.begin();19lcd.begin();20lcd.backlight();21pinMode(in3Pin, OUTPUT);22pinMode(in4Pin, OUTPUT);23analogWrite (in3Pin , 0);24digitalWrite(in4Pin, LOW);25pinMode(p8_Lv1, OUTPUT);26pinMode(p8_Lv2, OUTPUT);27pinMode(p8_Lv3, OUTPUT);28pinMode(p8_Lv4, OUTPUT);29digitalWrite(p8_Lv1, LOW);30digitalWrite(p8_Lv2, LOW);31digitalWrite(p8_Lv3, LOW);32digitalWrite(p8_Lv4, LOW);33}34void loop() {35delay(2000);36float h = dht.readHumidity();37// Read temperature as Celsius (the default)38float t = dht.readTemperature();39// Read temperature as Fahrenheit (isFahrenheit = true)40float f = dht.readTemperature(true);41// Check if any reads failed and exit early (to try again).42if (isnan(h) || isnan(t) || isnan(f)) {43Serial.println("Failed to read from DHT sensor!");44return;45}46// Compute heat index in Fahrenheit (the default)47float hif = dht.computeHeatIndex(f, h);48// Compute heat index in Celsius (isFahreheit = false)49float hic = dht.computeHeatIndex(t, h, false);50Serial.print("Humidity: ");51Serial.print(h);52Serial.print(" %\t");53Serial.print("Temperature: ");54Serial.print(t);55Serial.print(" *C ");56Serial.print(f);57Serial.print(" *F\t");58Serial.print("Heat index: ");59Serial.print(hic);60Serial.print(" *C ");61Serial.print(hif);62Serial.println(" *F");63if ( t < 30 ) {64Number = 0;65analogWrite (in3Pin , 0);66digitalWrite(p8_Lv1, LOW);67digitalWrite(p8_Lv2, HIGH);68digitalWrite(p8_Lv3, HIGH);69digitalWrite(p8_Lv4, HIGH);70}71if ( t > 30 && t <= 35 ) {72Number = 1;73analogWrite (in3Pin , 100);74digitalWrite(p8_Lv1, LOW);75digitalWrite(p8_Lv2, LOW);76digitalWrite(p8_Lv3, HIGH);77digitalWrite(p8_Lv4, HIGH);78}79if ( t > 35 && t <= 40 ) {80Number = 2;81analogWrite (in3Pin , 150);82digitalWrite(p8_Lv1, LOW);83digitalWrite(p8_Lv2, LOW);84digitalWrite(p8_Lv3, LOW);85digitalWrite(p8_Lv4, HIGH);86}87if ( t > 40 ) {88Number = 3;89analogWrite (in3Pin , 255);90digitalWrite(p8_Lv1, LOW);91digitalWrite(p8_Lv2, LOW);92digitalWrite(p8_Lv3, LOW);93digitalWrite(p8_Lv4, LOW);94}95lcd.setCursor(0, 0);96lcd.print("Tem:");97lcd.print(t);98lcd.print("*C");99lcd.setCursor(0, 1);100lcd.print("Hum:");101lcd.print(h);102lcd.print("% ");103lcd.print("Num:");104lcd.print(Number);105}
ความคิดเห็น
แสดงความคิดเห็น