โครงงาน
บ้านหลังคาเย็น
จัดทำโดย
1.สามเณร อนุชิต ศรีโยธี
2.สามเณร ปฐมภรณ์ พิมพ์สระเท้า
ครูที่ปรึกษา
อาจารย์ ศิวรรจน์ สวัจฉัตว์
อาจารย์ สุนินาท พุฒจันทร์
โรงเรียนพระปริยัติธรรมเกียรติแก้ววิทยา
ตำบลศรีแก้ว อำเภอศรีรัตนะ จังหวัดศรีสะเกษ
บทคัดย่อ
เนื่องจากว่าโรงเรียนพระปริยัติธรรมเกียรติแก้ววิทยาได้สร้างหอพักสำหรับสามเณรที่มาเรียนในโรงเรียนพระปริยัติธรรมขึ้น และได้ให้สามเณรเป็นจำนวนมากได้ใช้ เพื่อเป็นการสะดวกต่อสามเณรที่จะได้ไม่ต้องขับรถกลับไปกลับมาและยังช่วยลดค่าน้ำมัน อีกทั้งยังประหยัดค่าใช้จ่ายของพ่อแม่ ผู้ปกครองของสามเณร เลยได้สร้างห่อพักขึ้นมาและเนื่องจากว่าห้องนอนของโรงเรียนพระปริยัติธรรมเกียรติแก้ววิทยามีช่องระบายอากาศน้อยจึงทำให้อากาศในห้องนอนอบอ้าวทางฝ่ายผู้จัดทำโครงงานจึงได้คิดที่จะแก้ไขปัญหาในเรื่องนี้โดยได้คิดค้นเครื่องทำหลังคาเย็นเพื่อทำให้ห้องนอนของโรงเรียนพระปริยัติธรรมเกียรติแก้ววิทยาได้เย็นขึ้นได้เร็วทันใจของสามเณรที่พักอยู่ในห้องนอนและทำให้สามเณรไม่ต้องมาร้อนอบอ้าวอีกต่อไป
บ้านหลังคาเย็น สามารถทำงานได้เป็นอย่างดี โดยเวลาที่หลังคาร้อนเซ็นเซอร์ก็จะทำงานแล้วจะทำให้เครื่องปั้มน้ำทำงานโดยการฉีดน้ำใส่หลังคาจนกว่าหลังคาจะเย็น ทำให้สามเณรที่อยู่ในห้องนอนเย็นสบาย และไม่ต้องมาร้อนอบอ้าวอีก
ที่มาและความสำคัญ
ในปัจจุบันปัญหาโลกร้อนทวีความรุนแรงมากขึ้นเรื่อยๆเห็นได้ชัดจากอุณหภูมิบนพื้นผิวโลกที่มีอุณหภูมิที่สูงขึ้น จนส่งผลกระทบต่อความเป็นอยู่ของมนุษย์อย่างมาก ในบริเวณที่อากาศเคยเย็นสบาย เช่น จังหวัดเชียงใหม่ก็กลับกลายเป็นร้อนขึ้นอย่างไม่น่าเชื่อ และในบริเวณที่อุณหภูมิสูงอยู่แล้ว ก็กลับกลายเป็นพื้นที่ภัยร้อนหรือภัยแล้ง และที่สำคัญที่ขาดไม่ได้คือบริเวณใจกลางของประเทศไทยอย่างกรุงเทพมหานครและปริมณฑลที่นอกจากจะมีอุณหภูมิที่ร้อนขึ้นที่มีปัจจัยมาจากสภาวะโลกร้อนแล้ว ยังมีผลมาจากการวางแผนผังเมือง การลดลงของพื้นที่สีเขียว มลภาวะทั้งทางน้ำ อากาศ และอื่นๆ จนกรุงเทพเมืองฟ้าอมรนี้เปรียบได้กับแหล่งกักเก็บความร้อนเลยทีเดียว ทางคณะผู้จัดทำจึงต้องการทำให้หลังคาที่ร้อนกลายเป็นเย็น โดยไม่มีข้อจำกัดของการใช้พลังงาน กระบวนการผลิตไม่ต้องสังเคราะห์ขึ้นใหม่ให้เกิดผลเสีย แต่ทางคณะผู้จัดทำก็ฝ่าฟันลองผิดลองถูกจนสามารถทำโครงงานที่มีชื่อว่า บ้านหลังคาเย็น ที่ใช้หลักการของน้ำมาลดอุณหภูมิภายในทำให้เกิดความเย็นแต่ไม่ถึงขนาดจนแข็ง แต่จะสามารถปรับอุณหภูมิให้ต่ำกว่าอุณหภูมิอากาศภายนอกซึ่งจากการสังเกตทดลอง ถือว่าสามารถใช้ได้ดีกับ หลังคาบ้าน
ดังนั้นทางคณะผู้จัดทำจึงได้มีแนวคิดที่จะจัดทำโครงงานนี้ขึ้น เพื่อแก้ปัญหาดังกล่าวโดยมีหลักการง่ายคือต้องการลดความร้อนของหลังคา เพื่อให้อุณภูมิของหอพักเย็นลงในระดับหนึ่ง ทำให้สามเณรที่อยู่ในหอพักสามารถนอนพักผ่อนในช่วงเวลาที่อากาศร้อนได้
วัตถุประสงค์ของการทำโครงงาน
- เพื่อสร้างเครื่องที่สามารถทำให้หลังคาเย็น ลดอุณภูมิความร้อน ของหลังคาลงได้
- เพื่อศึกษาและประยุกต์ใช้หลักการทำงานของระบบสมองกลได้อย่างมีประสิทธิภาพ
แนวคิดและทฤษฎี
เนื่องจากปัจจุบันยังใช้น้ำเยอะผมกะจะทำให้น้ำลดน้อยลงโดยหลังคาก็เย็นเหมือนเดิม
เป้าหมายของการทำโครงงาน
- ได้สร้างเครื่องที่สามารถทำให้หลังคาเย็นได้
- ได้ศึกษาและประยุกต์ใช้หลักการทำงานของระบบสมองกลได้อย่างมีประสิทธิภาพ
อุปกรณ์ที่ต้องใช้ในการทำโครงงาน
Arduino UNO R3 | Temperature Sensor |
LED Digital | Relay |
Breadboard | สายไฟจัมเปอร์ |
ขั้นตอนการทำและดำเนินงาน
1.วางแผนการทำงานและเรียนรู้การต่อวงจร
2.ศึกษาอุปกรณ์
3.ศึกษา code
4.ทดสอบเครื่องทำหลังคาเย็น
5.บันทึกผลการทดสอบ ระบุปัญหา
6.สรุปผล
หลักการทำงานของ บ้านหลังคาเย็น
เมื่อหลังคาของห้องนอนร้อนตามอุณหภูมิที่คณะผู้จัดทำโครงงานกำหนดเซ็นเซอร์วัดอุณหภูมิไว้ประมาณ 32 องศาเซลเซียส เมื่อถึงอุณหภูมิที่กำหนดไว้ Arduino UNO R3 จะสั่งงานให้ Relay ทำการควบคุมปั้มน้ำให้เปิด ทำให้เครื่องปั้มน้ำเริ่มทำงานโดยการดึงน้ำขึ้นไปฉีดบนหลังคาที่ร้อนให้ทั่วถึง และเครื่องปั้มน้ำกะจะทำงานไปเรื่อยๆ จะไม่หยุดอัตโนมัติ จนกว่าหลังคาที่ร้อนๆจะเย็นได้ประมาณ 29 องศาเซลเซียส Relay ถึงจะควบคุมเครื่องปั้มน้ำให้ปิด…
ผลสรุป
โครงงาน บ้านหลังคาเย็น ทำงานได้ตามเป้าหมายที่คณะผู้จัดทำตั้งไว้
ข้อเสนอแนะโครงาน
จะต้องมีการเพิ่มตัวเก็บผลของความร้อนมาประมวลผล และปรับปรุงในส่วนของการใช้น้ำเยอะให้น้อยลง
ภาคผนวก
รูปกิจกรรม
Code Program
#include <DHT.h>
#define DHTPIN 2 #define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
char disp_c[8] ;
//????? ?? pin const int SCLK_pin= 4; const int RCLK_pin= 5; const int DIO_pin = 6;
// 0-9 –> ?????? 0-9 // 0.-9. –> ?????? 10-19 // space –> ‘ ‘ // A-Z, a-z –> ‘A’ ‘B’ … ‘a’ ‘b’
int disp[8];
//time values for delay workaround unsigned long prev =0; unsigned long waitMS=0; float h; float t; float f; float hi; char cstr[16];
void setup() {
pinMode(RCLK_pin,OUTPUT); pinMode(DIO_pin,OUTPUT); pinMode(SCLK_pin,OUTPUT); pinMode(8, OUTPUT); //Relay
showText(‘O’,’P’,’E’,’N’); // ?????????????????? digitalWrite(8, HIGH); Serial.begin(9600); Serial.println(“DHTxx test!”); dht.begin(); }
int n; unsigned long start=millis(); byte b = 0;
void loop() {
showDisplay(); if(b==0){ b++; wait(3000); // ??????????????????????????? } else{ if ( millis() > (prev + waitMS)) { //code to loop in here
//??????? loop ????????????????????
// ????????????????? ????????????????? Ardu // showText(‘A’,’r’,’d’,’u’); // ??????????????????????????
// ??????????????? ??????????????? 95.42 // showText(9,15,4,2); //15 –> ??????? 5.
// ?????????????? ??? run ??? //showText((n/1000)%10,(n/100)%10+10,(n/10)%10,n%10); //?????????????????????????? //showText(‘1′,’2′,’3′,’4’); n++; if(n>10000) { n=0; }
h = dht.readHumidity(); t = dht.readTemperature(); f = dht.readTemperature(true); /* if (isnan(h) || isnan(t) || isnan(f)) { Serial.println(“Failed to read from DHT sensor!”); return; }*/
hi = dht.computeHeatIndex(f, h); //Serial.print(“Humidity: “); //Serial.print(h); //Serial.print(” %\t”); itoa(t, cstr, 10); showText(cstr[0],(cstr[1]-‘0’)+10,cstr[2],cstr[3]); Serial.print(“Temperature: “); Serial.print(t); Serial.print(” *C “); if(t>=29) { digitalWrite(8, LOW); } else { digitalWrite(8, HIGH); } //Serial.print(f); //Serial.print(” *F\t”); //Serial.print(“Heat index: “); //Serial.print(hi); //Serial.println(” *F”); Serial.println(“”); // ????????? wait(1000); } } }
void showText(char a, char b , char c,char d){ disp_c[0] = d; disp_c[1] = c; disp_c[2] = b; disp_c[3] = a; } void showDisplay() { setDisp(); for(int i=0; i<8; i++) { setDigit(i,disp[i]); } }
void setDigit(int dig, int character) { int digits[]= { 128,64,32,16,8,4,2,1 };
//character set (0-9)0-9 // (10-19)0.-9. // (20-45)A-Z // (46-71)a-z // (72)- (73) space int characters[]= { 3,159,37,13,153,73,65,31,1,9, 2,158,36,12,152,72,64,30,0,8, 17,1,99,3,97,113,67,145,243,135,145,227,85,19,3,49,25,115,73,31,129,129,169,145,137,37, 5,193,229,133,33,113,9,209,247,143,81,227,85,213,197,49,25,245,73,225,199,199,169,145,137,37, 253,255 };
digitalWrite(RCLK_pin, LOW); shiftOut(DIO_pin, SCLK_pin, LSBFIRST, characters[character]); shiftOut(DIO_pin, SCLK_pin, LSBFIRST, digits[dig]); digitalWrite(RCLK_pin, HIGH); }
void setDisp() { for (int i=0; i<8;i++) { int val = disp_c[i]; if((val >= 32)&&(val <= 47)){ // ! ??? / ?????????? switch (val){ case 45 : val = 72; break; // ??????????? – default : val = 73; break; // ????????????????? ?????????? } } else if((val >= 48)&&(val <= 57)) //0-9 { val -= 48; } else if((val >= 65)&&(val <= 90)) //A-Z { val -= 45; } else if((val >= 97)&&(val <= 122)) //a-z { val -= 51; }
disp[i] = val;
} } void wait( unsigned long milsec) { prev = millis(); waitMS = milsec; } |