โครงงานอ่างล้างมืออัตโนมัติ
                                                                    บทที่ ๑
                                                                    บทนำ
        สังคมในปัจจุบันเทคโนโลยีมีความเจริญก้าวหน้าไปอย่างรวดเร็วทั้งด้านสื่อสารการ
อุปโภคและบริโภคต่างๆมีความทันสมัย จากการสังเกตในสถานที่ต่างๆโดยเฉพาะในห้องน้ำบางสถานที่มีอ่างล้างมือที่ทันสมัยสะดวกสบายง่ายต่อการใช้สอยแต่ภายในโรงเรียนวัดไผ่ดำ แผนกสามัญศึกษา ยังไม่มีเทคโนโลยีที่เจริญก้าวหน้าเพื่อตอบสนองโลกในยุคปัจจุบันและเพื่อเปิดโอกาสให้สามเณรโรงเรียนวัดไผ่ดำ แผนกสามัญศึกษา ได้ใช้เทคโนโลยีที่ทันสมัยและป้องกันเชื้อโรคเข้าสู่ร่างกาย นอกจากนี้ ยังพบปัญหาการลืมปิดน้ำภายในโรงเรียนทำให้สูญเสียค่าใช้จ่ายภายในโรงเรียนในแต่ละเดือนเป็นจำนวนมาก
         ดังนั้น ผู้จัดทำจึงได้คิดค้นสิ่งประดิษฐ์อ่างล้างมืออัตโนมัติขึ้นมาเพื่อให้เกิดการใช้ สอยของสามเณร และเป็นการประหยัดทรัพยากรน้ำภายในโรงเรียนเพื่อลดปัญหาค่าใช้จ่ายที่มากขึ้นอีกทั้งเป็นการยับยั้งเชื้อโรคเข้าสู่ร่างกายได้

วัตถุประสงค์
  ๑.เพื่อพัฒนาอ่างล้างมืออัตโนมัติ
  ๒.เพื่อสำรวจความพึงพอใจในการใช้อ่างล้างมืออัตโนมัติ
  ๓.เพื่อเพิ่มความสะดวกสบาย
  ๔.เพื่อประหยัดทรัพยากรน้ำ

                                                  ขอบเขตของการศึกษาทดลอง
                                      สามเณรนักเรียนโรงเรียนวัดไผ่ดำ แผนกสามัญศึกษา

                                                               ตัวแปรที่ศึกษา
ตัวแปรต้น       คือ อ่างล้างมืออัตโนมัติ
ตัวแปรตาม     คือ ผู้ใช้งานอ่างล้างมือ
ตัวแปรควบคุม คือ แบบสำรวจความพึงพอใจ

                                                             ประโยชน์ที่คาดว่าจะได้รับ
๑.สามเณรนักเรียนมีความพึงพอใจในการใช้อ่างล้างมืออัตโนมัติ
๒.เพื่อประหยัดทรัพยากรน้ำ

                                                       ขอบเขตและข้อจำกัดของโครงงาน
     เป็นอ่างล้างมือที่ได้พัฒนาจากอ่างทั่วไปให้มีการใช้งานที่สะดวกขึ้นและเป็นอ่างล้างมือที่ใช้ระบบเซนเซอร์ในการสั่งงานเท่านั้น

                                                                   บทที่ ๒
                                                           เอกสารที่เกี่ยวข้อง
                                            เครื่องมือที่ใช้ในการพัฒนาเชิงเทคนิค
             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);         //ให้ปั๊มลมไม่ทำงาน

  }

}