บทที่ ๑ บทนำ สังคมในปัจจุบันเทคโนโลยีมีความเจริญก้าวหน้าไปอย่างรวดเร็วทั้งด้านสื่อสารการ อุปโภคและบริโภคต่างๆมีความทันสมัย จากการสังเกตในสถานที่ต่างๆโดยเฉพาะในห้องน้ำบางสถานที่มีอ่างล้างมือที่ทันสมัยสะดวกสบายง่ายต่อการใช้สอยแต่ภายในโรงเรียนวัดไผ่ดำ แผนกสามัญศึกษา ยังไม่มีเทคโนโลยีที่เจริญก้าวหน้าเพื่อตอบสนองโลกในยุคปัจจุบันและเพื่อเปิดโอกาสให้สามเณรโรงเรียนวัดไผ่ดำ แผนกสามัญศึกษา ได้ใช้เทคโนโลยีที่ทันสมัยและป้องกันเชื้อโรคเข้าสู่ร่างกาย นอกจากนี้ ยังพบปัญหาการลืมปิดน้ำภายในโรงเรียนทำให้สูญเสียค่าใช้จ่ายภายในโรงเรียนในแต่ละเดือนเป็นจำนวนมาก ดังนั้น ผู้จัดทำจึงได้คิดค้นสิ่งประดิษฐ์อ่างล้างมืออัตโนมัติขึ้นมาเพื่อให้เกิดการใช้ สอยของสามเณร และเป็นการประหยัดทรัพยากรน้ำภายในโรงเรียนเพื่อลดปัญหาค่าใช้จ่ายที่มากขึ้นอีกทั้งเป็นการยับยั้งเชื้อโรคเข้าสู่ร่างกายได้
วัตถุประสงค์ ๑.เพื่อพัฒนาอ่างล้างมืออัตโนมัติ ๒.เพื่อสำรวจความพึงพอใจในการใช้อ่างล้างมืออัตโนมัติ ๓.เพื่อเพิ่มความสะดวกสบาย ๔.เพื่อประหยัดทรัพยากรน้ำ
ขอบเขตของการศึกษาทดลอง สามเณรนักเรียนโรงเรียนวัดไผ่ดำ แผนกสามัญศึกษา
ตัวแปรที่ศึกษา ตัวแปรต้น คือ อ่างล้างมืออัตโนมัติ ตัวแปรตาม คือ ผู้ใช้งานอ่างล้างมือ ตัวแปรควบคุม คือ แบบสำรวจความพึงพอใจ
ประโยชน์ที่คาดว่าจะได้รับ ๑.สามเณรนักเรียนมีความพึงพอใจในการใช้อ่างล้างมืออัตโนมัติ ๒.เพื่อประหยัดทรัพยากรน้ำ
ขอบเขตและข้อจำกัดของโครงงาน เป็นอ่างล้างมือที่ได้พัฒนาจากอ่างทั่วไปให้มีการใช้งานที่สะดวกขึ้นและเป็นอ่างล้างมือที่ใช้ระบบเซนเซอร์ในการสั่งงานเท่านั้น
บทที่ ๒ เอกสารที่เกี่ยวข้อง เครื่องมือที่ใช้ในการพัฒนาเชิงเทคนิค Arduino คือ โครงการที่นำชิปไอซีไมโครคอนโทรลเลอร์ตระกูลต่างๆ มาใช้ร่วมกันในภาษา C ซึ่งภาษา C นี้เป็นลักษณะเฉพาะ คือมีการเขียนไลบารี่ของ Arduino ขึ้นมาเพื่อให้การสั่งงานไมโครคอนโทรลเลอร์ที่แตกต่างกัน สามารถใช้งานโค้ดตัวเดียวกันได้ โดยตัวโครงการได้ออกบอร์ดทดลองมาหลายๆรูปแบบ เพื่อใช้งานกับ IDE ของตนเอง สา เหตุหลักที่ทำให้ Arduino เป็นนิยมมาก เป็นเพราะซอฟแวร์ที่ใช้งานร่วมกันและสามารถโหลดได้ฟรี และตัวบอร์ดทดลองยังถูกแจกแปลน ทำให้ผู้ผลิตจีนนำไปผลิตและขายออกตลาดมาในราคาที่ถูกมากๆ โดยบอร์ดที่ถูกที่สุดในตอนนี้คือบอร์ด Arduino ที่มีราคาเพียง ๑๒๐ - ๑๕๐ บาทเท่านั้น จากที่ได้กล่าวไปแล้ว Auduino นั้นได้ใช้ชิป AVR เป็นหลักใน Auduino แทบรุ่น สาเหตุมาจากไมโครคอนโทรเลอร์ของตะกูล AVR นั้นมีความทันสมัย ในชิปในบางตัวสามารถเชื่อมต่อผ่าน USB ได้โดยตรง สามารถใช้กับคอมพิวเตอร์สมัยใหม่ได้เป็นอย่างดี และในไมโครคอนโทรเลอร์ตะกูล AVR ยังมีส่วนของโปรแกรมพิเศษที่เรียกว่า Bootloader อยู่ในระดับล่างกว่าส่วนโปรแกรมปกติ ซึ่งจะเป็นส่วนโปรแกรมที่จะถูกเรียกขึ้นมาก่อนการเรียกโปรแกรมปกติ ทำให้สามารถเขียนสั่งให้ทำงานใดๆ ก็ได้ ก่อนการเรียกโปรแกรมปกติ ทำให้ Arduino นั้นอาศัยส่วนโปรแกรมแกรมพิเศษนี้ในการทำให้ชิปสามารถโปรแกรมผ่านพอร์ตอนุกรมชนิด UART ได้ จึงทำให้การเขียนโปรแกรมลงไปในชิปใช้เพียง USB to UART ก็เพียงพอแล้ว แต่การโปรแกรมด้วยการใช้โปรโตคอล UART ก็มีข้อเสียตรงที่ต้องใช้เวลาในการบูตเข้าโปรแกรมปกติประมาณ ๑ – ๒ วินาที
โปรแกรมเขียนคำสั่ง
ภาษาที่ใช้ในการเขียนโปรแกรมอ่างล้างมืออัตโนมัติคือ ภาษา C โดยมีตัวอย่างโปรแกรม
ดังนี้
โค้ดที่ใช้ปล่อยระบบน้ำและน้ำยาล้างมือ
#include
const int trigPin = 13;
const int
echoPin = 12;
long
duration;
int distance;
void setup() {
pinMode(10,OUTPUT);// ช่อง 10
pinMode(9,OUTPUT);// ช่อง 9
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro
seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave
travel time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
distance= duration*0.034/2;
Serial.print("Distance in CM: ");
// Pass INC as a parameter to get the distance in
inches
Serial.println(distance);
delay(500 );
if((distance >10) && (distance <=30) ) //ถ้า ช่อง 10
เซนเซอร์ตรวจจับได้ น้อยกว่าหรือ = 30 เซนติเมตร
{ digitalWrite(10,HIGH); // ให้เปิดวาล์ว(น้ำก็จะไหล)
} /*>> จะเอาไม่เอาก็ได้ << else if(ultrasonic.distanceRead()<=
10)//ถ้า ช่อง 10 เซนเซอร์ตรวจจับได้ น้อยกว่าหรือ = 10 เซนติเมตร
{ digitalWrite(10,LOW); // ให้ปิดวาล์ว(น้ำก็จะไม่ไหล)
}***ส่วนนี้คือถ้าเข้าใกล้ 10 เซน ปั๊มจะปิด(น้ำไม่ไหล)*/
else //แต่ถ้าไม่
{ digitalWrite(10,LOW); // ให้ปิดวาล์ว(น้ำก็จะไม่ไหล)
} if(distance<= 10) //ถ้า ช่อง 10 เซนเซอร์ตรวจจับได้
น้อยกว่าหรือ = 10 เซนติเมตร
{ digitalWrite(9,HIGH); //ให้ปั๊มลมทำงาน(ดันลมเข้ากล่องสบู่)
} else //แต่ถ้าไม่
{ digitalWrite(9,LOW); //ให้ปั๊มลมไม่ทำงาน
}
} |