วันอังคารที่ 3 มีนาคม พ.ศ. 2563

งานครั้งที่ 5 ในสถานที่ฝึกงานของ นศ ใช้ระบบควบคุณภาพอย่างไร

มาตรฐาน ISO 9001


ISO 9001 เป็นมาตรฐานสากลที่องค์กรธุรกิจทั่วโลกให้ความสำคัญ เพื่อความเป็นเลิศทางด้านคุณภาพ และความมีประสิทธิภาพของการดำเนินงานภายในองค์กร
ISO 9001 จึงเป็นระบบบริหารงานคุณภาพตามมาตรฐานสากล แนวคิดสำคัญของ ISO 9001 คือการจัดวางระบบบริหารงานเพื่อการประกันคุณภาพ ซึ่งเป็นระบบที่ทำให้เชื่อมั่นได้ว่ากระบวนการต่างๆ ได้รับการควบคุมและสามารถตรวจสอบได้ โดยผ่านระบบที่ระบุขั้นตอนและวิธีการทำงาน เพื่อให้มั่นใจว่าบุคลากรในองค์กรรู้หน้าที่ความรับผิดชอบและขั้นตอนต่างๆ ในการปฏิบัติงาน โดยต้องมีการฝึกอบรมให้ความรู้และทักษะในการปฏิบัติงาน มีการจดบันทึกข้อมูล รวมทั้งการตรวจสอบการปฏิบัติงานว่าเป็นไปตามที่ระบุไว้ในระบบหรือไม่ และมีการแก้ไขข้อผิดพลาดรวมทั้งมีแนวทางในการป้องกันข้อผิดพลาดเดิม
ในปัจจุบันมาตรฐาน ISO 9001:2015 มีการเพิ่มข้อกำหนดในเรื่องการทำความเข้าใจกับองค์กรและบริบทองค์กร การทำความเข้าใจกับความต้องการและความคาดหวังของผู้มีส่วนได้ส่วนเสียเพื่อใช้สำหรับการดำเนินการกับความเสี่ยงและโอกาสรวมถึงข้อกำหนดอื่นๆ ซึ่งเป็นพื้นฐานหนึ่งที่จะช่วยให้องค์กรสามารถมุ่งสู่การพัฒนาอย่างยั่งยืนได้ต่อไป
มาตรฐานที่ใช้ได้กับทุกองค์กรและมาตรฐาน ISO อื่น
ISO 9001 เน้นบทบาทของผู้บริหารระดับสูงที่จะต้องให้ความสำคัญกับความต้องการ ความคาดหวังของลูกค้า และผู้ที่เกี่ยวข้อง องค์กรทุกประเภท ไม่ว่าจะเป็นภาคอุตสาหกรรมการผลิตหรือภาคบริการทั้งรัฐและเอกชน สามารถนำระบบบริหารงานคุณภาพ ISO 9001 ไปใช้ได้ และไม่มีขีดจำกัดว่าต้องใช้กับองค์กรขนาดใหญ่ที่มีการลงทุนสูงและบุคลากร จำนวนมากเท่านั้น แต่ยังใช้ได้กับวิสาหกิจขนาดกลางและขนาดย่อม (SMEs) ซึ่งจะช่วยยกระดับคุณภาพผลิตภัณฑ์และบริการให้เทียบเคียงกับองค์กรขนาดใหญ่ ที่มีชื่อเสียงได้ ยิ่งกว่านี้ ISO 9001:2015 ใช้โครงสร้างของข้อกำหนดตาม Annex SL ในปัจจุบันมีมาตรฐานที่มีโครงสร้างนี้เช่น ISO 14001:2015, ISO 22301:2012 และ ISO 27001:2013 เป็นต้น ซึ่งในอนาคต มาตรฐาน ISO ทุกฉบับก็จะถูกปรับให้อยู่ในรูปแบบ Annex SL เหมือนกันทำให้การดำเนินการบูรณาการ (Integrate) มาตรฐานต่างๆได้ง่ายมากขึ้น
ประโยชน์ที่ได้รับภายในองค์กร
  • มีการบริหารเชิงกลยุทธและการบริหารความเสี่ยงจากบริบทและความต้องการและความคาดหวังของผู้มีส่วนได้ส่วนเสียขององค์กร
  • มีการจัดการกับความต้องการและความคาดหวังของผู้มีส่วนได้ส่วนเสีย
  • มีคุณภาพสินค้าที่ดีสม่ำเสมอและปรับปรุงอย่างต่อเนื่อง
  • มีระบบข้อมูลเพื่อการตัดสินใจได้อย่างแม่นยำขึ้น
  • มีการจัดการความรู้ขององค์กร
  • เกิดประสิทธิภาพและประสิทธิผลในการทำงานดีขึ้น
  • เป็นส่วนหนึ่งของการมุ่งสู่การพัฒนาอย่างยั่งยืน
  • มีโครงสร้างมาตรฐานที่บูรณาการ (Integrate) มาตรฐานต่างๆได้ง่ายมากขึ้น
ประโยชน์ที่ได้รับภายนอกองค์กร
  • ลูกค้าเกิดความมั่นใจในสินค้าและบริการ
  • การจัดการเป็นที่ยอมรับในระดับสากล
  • บรรลุความต้องการและความคาดหวังของผู้มีส่วนได้ส่วนเสีย
  • เสริมสร้างความสัมพันธ์อันดีกับผู้มีส่วนได้ส่วนเสีย
  • เพิ่มศักยภาพในการแข่งขัน
The Principles of Quality Management
QMP 1  : การให้ความสำคัญกับลูกค้า Customer Focus
QMP 2  : ความเป็นผู้นำ Leadership
QMP 3  : การมีส่วนร่วมของบุคลากร Engagement of People
QMP 4  : การบริหารเชิงกระบวนการ Process Approach
QMP 5  : การปรับปรุง Improvement
QMP 6  : การตัดสินใจบนพื้นฐานของหลักฐาน Evidence-base Decision Making
QMP 7  : การบริหารความสัมพันธ์ Relationship Management

งานครั้งที่ 4 การขัดแย้งในการทำงานร่วมกับเพื่อนร่วมงาน

  1. เผชิญหน้ากับความขัดแย้ง  
              ความจริงที่เราควรรู้เกี่ยวกับ “ความขัดแย้ง” ก็คือ
  1. ความขัดแย้งเป็นสิ่งที่ไม่อาจหลีกเลี่ยงได้ 
  2. การเผชิญหน้ากับความขัดแย้งเป็นเรื่องยาก 
  3. วิธีที่เราใช้จัดการกับความขัดแย้งเป็นตัวกำหนดความสำเร็จของเราในสถานการณ์ยากลำบาก-.จงเผชิญหน้ากับบุคคลนั้น ก็ต่อเมื่อคุณห่วงใยบุคคลนั้นจริง ๆ เท่านั้น
    -การเผชิญหน้ากันเพื่อเอาชนะกันหรือเรียกร้องให้อีกฝ่ายเป็นฝ่ายผิด คงไม่ใช่บรรยากาศที่เหมาะกับการปรับความเข้าใจหรือแก้ไขความขัดแย้ง
    -เราต้องส่งเสริมบรรยากาศที่แต่ละฝ่ายคิดเหมือนกันนั่นคือ ให้ชนะกันทั้ง 2 ฝ่าย (หรืออย่างน้อยก็ขอให้อีกฝ่ายหนึ่งชนะไปก่อน)

     2. ทำความเข้าใจสถานภาพของแต่ละฝ่าย   

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

            การระบุปัญหาเป็นการทำความเข้าใจสถานการณ์ของปัญหาหรือความต้องการนั้น ๆ อย่างละอียด โดยวิเคราะห์เงื่อนไขหรือข้อจำกัดของสถานการณ์ เพื่อตัดสินใจเลือกปัญหาหรือความต้องการที่จะดำเนินการแก้ไข แล้วกำหนดขอบเขตของปัญหาให้ชัดเจน ซึ่งจะนำไปสู่การหาแนวทางในการแห้ปัญหาต่อไป การระบุปัญหาและกำนหนดขอบเขตของปัญหาให้มีความชัดเจน เราสามารถนำเทคนิคหรือวิธีการต่าง ๆ มาช่วยในการวิเคราะห์ปัญหา เพื่อให้ทราบถึงองค์ประกอบปละสาเหตุของปัญหา เช่น การวิเคราะห์องค์ประกอบของปัญหาด้วย 5W1H การหาสาเหตุของปัญหาด้วยผังก้างปลา (fishbone diagram)

     4. แสวงหาทางเลือกและประเมินทางเลือก  
              โดยให้ทั้งสองฝ่ายหาแนวทางที่หลากหลายเพื่อการแก้ปัญหา โดยทางเลือกดังกล่าวจะต้องได้รับการยินยอมและเป็นที่พอใจกันทั้งสองฝ่าย เพื่อให้ทุกฝ่ายได้รับชัยชนะ

     5. สรุปแนวทางและนำทางเลือกที่เหมาะสมไปใช้  

             ให้แต่ละฝ่ายรับรู้ในข้อตกลง แล้วนำข้อตกลงไปปฏิบัติ ซึ่งอาจมีการเจรจากันใหม่และร่วมกันแก้ปัญหาใหม่อีกครั้งหนึ่ง เพื่อปรับปรุงทางเลือกและข้อตกลงให้เป็นที่พึงพอใจกับทุกฝ่าย

วันจันทร์ที่ 3 กุมภาพันธ์ พ.ศ. 2563

งานครั้งที่ 3 กิจกรรมควบคุมความเสี่ยง

ในบริษัทแคล-คอมพ์ ที่ นศ. ทำการฝึกงานอยู่ มีการป้องกันหลายอย่าง เช่น 
1. การกำหนดพื้นที่การทำงานโดยการตีเส้นจำแนกทางเดินและพื้นที่การทำงานเพื่อป้องกันอันตราย
2. การติดป้ายเตือนว่าพื้นที่ตรงไหนคือพื้นที่อันตราย
3. การใช้รถ NGV ที่มีเสียงเตือนเมื่อมีสิ่งกีดขวาง
4. มี Audit ตรวจเช็คในไลน์ผลิตในเรื่องของ อุปกรณ์เสียหายและสายไฟชำรุด
5. มี Tower Light แสดงการทำงานของเครื่องจักรในไลน์ผลิต
6. มีอุปกรณ์ป้องกันไฟไหม้และมีการซ้อมหนีไฟหากเกิดไฟไหม้
7. การปฎิบัติตาม 5ส

งานครั้งที่ 2 กิจกรรมเพิ่มประสิทธิภาพขององค์กร

สะสาง Seiri (เซริ) คือ การแยกระหว่างของที่จำเป็นต้องใช้กับของที่ไม่จำเป็นต้องใช้ขจัดของที่ไม่จำเป็นต้องใช้ทิ้งไป นศ. มีส่วนช่วยในการคัดแยกอุปกรณ์ที่ใช้และไม่ใช้ออกจากกันและจัดเก็บ


 สะดวก Seiton (เซตง) คือ การจัดวางของที่จำเป็นต้องใช้ให้เป็นระเบียบสามารถหยิบใช้งานได้ทันที
นศ. มีส่วนช่วยในการจัดระเบียบชั้นวางของและอุปกรณ์ให้เข้าที่


สะอาด Seiso (เซโซ)  คือการปัดกวาดเช็ดถูสถานที่ สิ่งของ อุปกรณ์ เครื่องมือเครื่องจักร ให้สะอาดอยู่เสมอ
นศ. มีส่วนช่วยในการทำความสะอาด Robot และ อุปกรณ์อีกหลายๆ ชนิด

สุขลักษณะ Seiketsu (เซเคทซึ) คือ การรักษาและปฏิบัติ 3ส ได้แก่ สะสาง สะดวก และสะอาดให้ดีตลอดไป นศ. ได้ปฎิบัติ 3ส ทุกครั้งเมื่อมีโอกาส
สร้างนิสัย Shitsuke (ซึทซึเคะ) คือ การรักษาและปฏิบัติ 4ส หรือสิ่งที่ กำหนดไว้แล้วอย่างถูกต้องจนติดเป็นนิสัย นศ. ปฎิบัติ 4ส ตามที่ครูฝึกกำหนดให้อย่างต่อเนื่องและเคร่งครัด

งานครั้งที่1 ถ่ายผังโครงสร้างองค์กร ในสถานที่ฝึกงาน โดยอธิบายว่าเป็นการจัดโครงสร้างขององค์การแบบใด


โครงสร้างองค์การตามสายงานหลัก (Line Organization Structure) หมายถึงการจัดรูปแบบโครงสร้างให้มีสายงานหลัก และมีการบังคับบัญชาจากบนลงล่างลดหั่นเป็นขั้น ๆ จะไม่มีการสั่งการแบบข้ามขั้นตอนในสายงาน ซึ่งโครงสร้างแบบนี้เหมาะสมสำหรับองค์การต่าง ๆ ที่ต้องการให้มีการขยายตัวในอนาคตได้ เพราะเพียงแต่เพิ่มเติมโครงสร้างในบางสายงานให้มีการควบคุมบังคับบัญชาลดหลั่นลงไปอีกได้ การจัดองค์การแบบนี้ อาจจะคำนึงถึงสภาพของงานที่เป็นจริง

ผังโครงสร้างของบริษัทแคล-คอมพ์ เมื่ออ่านจากบนลงล่าง ขั้นบนสุดจะเป็นระดับผู้บริหาร ลองลงมาจะเป็นระดับผู้จัดการ และขั้นสุดท้ายจะเป็นระดับหัวหน้าควบคุมรับผิดชอบในไลน์ผลิต

วันศุกร์ที่ 5 ตุลาคม พ.ศ. 2561

MINI Project


Mini Project 

LED RGB CUBE 3x3x3





บล็อกไดอะแกรม






Software



int led1_red   = 3;              // กำหนดให้ led1_red ใช้ขาที่ 3

int led1_green = 4;            // กำหนดให้ led1_green ใช้ขาที 4  
int led1_blue  = 5;            // กำหนดให้ led1_blue ใช้ขาที่ 5


int led2_red   = 6;              // กำหนดให้ led2_red ใช้ขาที่ 6

int led2_green = 7;           // กำหนดให้ led2_green ใช้ขาที่ 7
int led2_blue  = 8;            // กำหนดให้ led2_blue ใช้ขาที่ 8


int led3_red   = 9;            // กำหนดให้ led3_red ใช้ขาที่ 9 

int led3_green = 10;         // กำหนดให้ led3_green ใช้ขาที่ 10   
int led3_blue  = 11;         // กำหนดให้ led3_blue ใช้ขาที่ 11  

int sw1 = 12;

int SW2;                           // กำหนดให้ sw1 ใช้ขาที่ 12   

void setup() {

  Serial.begin(9600);
  pinMode(led1_red,OUTPUT);     
  pinMode(led1_green,OUTPUT);
  pinMode(led1_blue,OUTPUT);

  pinMode(led2_red,OUTPUT);

  pinMode(led2_green,OUTPUT);
  pinMode(led2_blue,OUTPUT);

  pinMode(led3_red,OUTPUT);     // กำหนดให้ led1_red,led2_red,led3_red เป็น OUTPUT

  pinMode(led3_green,OUTPUT);  // กำหนดให้ led1_green,led2_green,led3_green เป็น OUTPUT  
  pinMode(led3_blue,OUTPUT);    // กำหนดให้ led1_blue,led2_blue,led3_blue เป็น OUTPUT

  pinMode(sw1,INPUT);           // กำหนดให้ sw1 เป็น INPUT


}


void loop() {

  SW2= digitalRead(sw1);
  Serial.println(SW2); 
   if (SW2 == 1){              // ถ้า sw1 = 1 ให้ทำต่อ
     LEDRED1();                 
     delay(500);
     LEDGREEN1();
     delay(500);
     LEDBLUE1();
     delay(500);
     LEDRED2();
     delay(500);
     LEDGREEN2();
     delay(500);
     LEDBLUE2();
     delay(500);
     LEDRED3();            // ให้ LEDRED1,LEDRED2,LEDRED3 ทำงาน       
     delay(500);              // หน่วงเวลา 0.5 วิ  
     LEDGREEN3();     // ให้ LEDGREEN1,LEDGREEN2,LEDGREEN3 ทำงาน         
     delay(500);             // หน่วงเวลา 0.5 วิ
     LEDBLUE3();        // ให้ LEDBLUE1,LEDBLUE2,LEDBLUE3 ทำงาน    
     delay(500);             // หน่วงเวลา 0.5 วิ  

}
  else                         // ถ้าไม่ใช่
  {
    LEDRED();          // ให้ LEDRED ทำงาน       
   delay (500);           // หน่วงเวลา 0.5 วิ    
   LEDGREEN();     // ให้ LEDGREEN ทำงาน         
   delay (500);          // หน่วงเวลา 0.5 วิ     
   LEDBLUE();       // ให้ LEDBLUE ทำงาน          
   delay (500);         // หน่วงเวลา 0.5 วิ     
  }
  }

void LEDRED(){

  digitalWrite(led1_red,HIGH);
  digitalWrite(led1_green,LOW);
  digitalWrite(led1_blue,LOW);
  digitalWrite(led2_red,HIGH);
  digitalWrite(led2_green,LOW);
  digitalWrite(led2_blue,LOW);
  digitalWrite(led3_red,HIGH);        // เขียน led1_red,led2_red,led3_red เป็น HIGH
  digitalWrite(led3_green,LOW);     // เขียน led1_green,led2_green,led3_green เป็น LOW
  digitalWrite(led3_blue,LOW);       // เขียน led1_blue,led2_blue,(led3_blue เป็น LOW
}

void LEDGREEN(){

  digitalWrite(led1_red,LOW);
  digitalWrite(led1_green,HIGH);
  digitalWrite(led1_blue,LOW);
  digitalWrite(led2_red,LOW);
  digitalWrite(led2_green,HIGH);
  digitalWrite(led2_blue,LOW);
  digitalWrite(led3_red,LOW);          // เขียน led1_red,led2_red,led3_red เป็น LOW
  digitalWrite(led3_green,HIGH);    // เขียน led1_green,led2_green,led3_green เป็น HIGH
  digitalWrite(led3_blue,LOW);        // เขียน led1_blue,led2_blue,(led3_blue เป็น LOW
}

void LEDBLUE(){

  digitalWrite(led1_red,LOW);
  digitalWrite(led1_green,LOW);
  digitalWrite(led1_blue,HIGH);
  digitalWrite(led2_red,LOW);
  digitalWrite(led2_green,LOW);
  digitalWrite(led2_blue,HIGH);
  digitalWrite(led3_red,LOW);         // เขียน led1_red,led2_red,led3_red เป็น LOW
  digitalWrite(led3_green,LOW);     // เขียน led1_green,led2_green,led3_green เป็น LOW
  digitalWrite(led3_blue,HIGH);      // เขียน led1_blue,led2_blue,(led3_blue เป็น HIGH
}
void LEDRED1(){
  digitalWrite(led1_red,HIGH);   // เขียน led1_red เป็น HIGH
  digitalWrite(led2_red,LOW);    // เขียน led2_red เป็น LOW
  digitalWrite(led3_red,LOW);    // เขียน led3_red เป็น LOW
}
void LEDRED2(){
  digitalWrite(led1_red,LOW);   // เขียน led1_red เป็น LOW
  digitalWrite(led2_red,HIGH);  // เขียน led2_red เป็น HIGH
  digitalWrite(led3_red,LOW);   // เขียน led3_red เป็น LOW
}
void LEDRED3(){
  digitalWrite(led1_red,LOW);   // เขียน led1_red เป็น LOW
  digitalWrite(led2_red,LOW);   // เขียน led2_red เป็น LOW
  digitalWrite(led3_red,HIGH);  // เขียน led3_red เป็น HIGH 
}
void LEDGREEN1(){
  digitalWrite(led1_green,HIGH);   // เขียน led1_green เป็น HIGH
  digitalWrite(led2_green,LOW);    // เขียน led2_green เป็น LOW
  digitalWrite(led3_green,LOW);    // เขียน led3_green เป็น LOW
}
void LEDGREEN2(){
  digitalWrite(led1_green,LOW);    // เขียน led1_green เป็น LOW
  digitalWrite(led2_green,HIGH);   // เขียน led2_green เป็น HIGH
  digitalWrite(led3_green,LOW);    // เขียน led3_green เป็น LOW
}
void LEDGREEN3(){
  digitalWrite(led1_green,LOW);    // เขียน led1_green เป็น LOW
  digitalWrite(led2_green,LOW);    // เขียน led2_green เป็น LOW
  digitalWrite(led3_green,HIGH);   // เขียน led3_green เป็น HIGH
}
void LEDBLUE1(){
  digitalWrite(led1_blue,HIGH);     // เขียน led1_blue เป็น HIGH
  digitalWrite(led2_blue,LOW);      // เขียน led2_blue เป็น LOW
  digitalWrite(led3_blue,LOW);      // เขียน led3_blue เป็น LOW
}
void LEDBLUE2(){
  digitalWrite(led1_blue,LOW);       // เขียน led1_blue เป็น LOW
  digitalWrite(led2_blue,HIGH);     // เขียน led2_blue เป็น HIGH
  digitalWrite(led3_blue,LOW);       // เขียน led3_blue เป็น LOW

}

void LEDBLUE3(){
  digitalWrite(led1_blue,LOW);    // เขียน led1_blue เป็น LOW
  digitalWrite(led2_blue,LOW);   // เขียน led2_blue เป็น LOW
  digitalWrite(led3_blue,HIGH);  // เขียน led3_blue เป็น HIGH
}



ลิงก์วิดีโอตัวอย่าง  https://youtu.be/oDJ-wighUXg

                                                                 






วันพฤหัสบดีที่ 4 ตุลาคม พ.ศ. 2561

สอบแก้ เรื่อง วิธีการสร้างโครงการอัตโนมัติ Arduino Based Automation ผ่าน Bluetooth?

แผนภูมิวงจรรวม

Arduino จากบ้านอัตโนมัติวงจร
ส่วนประกอบ Hardware
  • Arduino UNO
  • โมดูลบลูทูธ HC - 05
  • ตัวต้านทาน 10 KΩ
  • ตัวต้านทาน 20 KΩ
  • ตัวต้านทาน 1 KΩ X 4
  • 2N2222 ทรานซิสเตอร์ NPN Transistor X 4
  • 1N4007 ไดโอด X 4
  • รีเลย์ 12 V X 4
  • บอร์ดต้นแบบ (บอร์ดขนมปัง)
  • สายเชื่อมต่อ
  • แหล่งจ่ายไฟ 12 V
  • สมาร์ทโฟนหรือแท็บเล็ต (เปิดใช้งาน Bluetooth)
MCU ( Microcontroller Unit)
  • Arduino UNO

INPUT
  • โมดูลบลูทูธ HC - 05
  • สมาร์ทโฟนหรือแท็บเล็ต (เปิดใช้งาน Bluetooth)
OUTPUT
  • 1N4007 ไดโอด X 4
  • รีเลย์ 12 V X 4
อธิบาย Software
#include <SoftwareSerial.h>           นำข้อมูลจาก Linbrary SoftwareSerial มาใช้

const int rxPin = 4; ให้ขา 4 ชื่อ rx
const int txPin = 2; ให้ขา 2 ชื่อ tx              

SoftwareSerial mySerial(rxPin, txPin);  เซ็ตค่าข้อมูลใหม่

const int Loads[] = {9, 10, 11, 12}; เซ็ตค่า Loads ให้มีค่า 9,10,11,12

int state = 0; ตั้งค่าให้ state เป็น 0
int flag = 0; ตั้งค่าให้ flag เป็น 0


void setup() 
{
   for (int i=0;i<4;i++) คำสั่งทำซ้ำให้ i = 0 วนซ้ำตราบใดที่ i น้อยกว่า 4 หลังทำเสร็จในแต่ละรอบให้เพิ่มค่า i ไป 1
    {
      pinMode(Loads[i], OUTPUT); สั่งให้ Loads[i] เป็น OUTPUT
    }
   mySerial.begin(9600); ตั้งค่าความเร็บในการรับ-ส่งข้อมูล เป็น 9600
   for (int i=0;i<4;i++) คำสั่งทำซ้ำให้ i = 0 วนซ้ำตราบใดที่ i น้อยกว่า 4 หลังทำเสร็จในแต่ละรอบให้เพิ่มค่า i ไป 1
    {
      digitalWrite(Loads[i], LOW); สั่งให้ Loads เป็น LOW (ถ้าเป็นหลอดไฟสั่งให้หลอดดับ)
    }
   
}

void loop() 
{
    
    if(mySerial.available() > 0) ถ้าค่าข้อมูลมากกว่า 0
    {
      state = mySerial.read();  ให้ state ค่าเท่ากับค่าข้อมูลที่ อ่านได้
      flag=0; ให้ flag เป็น0
    }
    switch(state)                                                 จะทำการตรวจสอบตัวแปรว่ามีค่าเท่ากับ case ใด ถ้าตรง                                                                           กับ case ใดก็จะทำงาน
    {
      case '0':digitalWrite(Loads[0], HIGH);     ฟังก์ชั่นพิเศษ  เคส 0 แสดงค่า Load อาเรย์ 0  เป็น HIGH
               flag=1;                                        ฟังก์ชั่นพิเศษ  flag เท่ากับ 1
               break;                                         ฟังก์ชั่นพิเศษ  หยุดการทำงาน
      case '1':digitalWrite(Loads[0], LOW);       ฟังก์ชั่นพิเศษ  เคส 1 แสดงค่า Load อาเรย์ 0  เป็นLOW
               flag=1;                                        ฟังก์ชั่นพิเศษ  flag เท่ากับ 1
               break;                                                            หยุดการทำงาน
      case '2':digitalWrite(Loads[1], HIGH);      ฟังก์ชั่นพิเศษ  เคส 2 แสดงค่า Load อาเรย์ 1  เป็นHIGH
               flag=1;                                        ฟังก์ชั่นพิเศษ flag เท่ากับ 1
               break;                                          ฟังก์ชั่นพิเศษ หยุดการทำงาน
      case '3':digitalWrite(Loads[1], LOW);      ฟังก์ชั่นพิเศษ   เคส 3 แสดงค่า Load อาเรย์ 1  เป็น LOW
               flag=1;                                        ฟังก์ชั่นพิเศษ  flag เท่ากับ 1
               break;                                           ฟังก์ชั่นพิเศษ  หยุดการทำงาน
      case '4':digitalWrite(Loads[2], HIGH);       ฟังก์ชั่นพิเศษ เคส 4 แสดงค่า Load อาเรย์ 2  เป็น HIGH
               flag=1;                                           ฟังก์ชั่นพิเศษ flag เท่ากับ 1
               break;                                             ฟังก์ชั่นพิเศษ หยุดการทำงาน
      case '5':digitalWrite(Loads[2], LOW);          ฟังก์ชั่นพิเศษ เคส 5 แสดงค่า Load อาเรย์ 2  เป็น LOW
               flag=1;                                           ฟังก์ชั่นพิเศษ flag เท่ากับ 1
               break;                                            ฟังก์ชั่นพิเศษ    หยุดการทำงาน
      case '6':digitalWrite(Loads[3], HIGH);         ฟังก์ชั่นพิเศษ  เคส 6 แสดงค่า Load อาเรย์ 3  เป็น HIGH
               flag=1;                                            ฟังก์ชั่นพิเศษ flag เท่ากับ 1
               break;                                             ฟังก์ชั่นพิเศษ  หยุดการทำงาน
      case '7':digitalWrite(Loads[3], LOW);           ฟังก์ชั่นพิเศษ  เคส 7 แสดงค่า Load อาเรย์ 3  เป็น LOW
               flag=1;                                            ฟังก์ชั่นพิเศษ   flag เท่ากับ 1
               break;                                              ฟังก์ชั่นพิเศษ หยุดการทำงาน
      case '8':digitalWrite(Loads[0], LOW);           ฟังก์ชั่นพิเศษ    เคส 8 แสดงค่า Load อาเรย์ 0  เป็น LOW
               digitalWrite(Loads[1], LOW);              ฟังก์ชั่นพิเศษ   แสดงค่า Load อาเรย์ 1 เป็น สถานะLOW
               digitalWrite(Loads[2], LOW);             ฟังก์ชั่นพิเศษ   แสดงค่า Load อาเรย์ 2 เป็น สถานะ LOW
               digitalWrite(Loads[3], LOW);            ฟังก์ชั่นพิเศษ    แสดงค่า Load อาเรย์ 3 เป็น สถานะ LOW
               flag=1;                                         ฟังก์ชั่นพิเศษ      flag เท่ากับ 1
               break;                                           ฟังก์ชั่นพิเศษ     หยุดการทำงาน
     }
}

FlowChart

   






วันพฤหัสบดีที่ 27 กันยายน พ.ศ. 2561

งานปฏิบัติที่ 18 งานโปรแกรมรับค่า Analog INPUT มาควบคุม LED แบบต่างๆ

wiring diagram

รูปที่ 1

โค้ดที่18.1 (Code Arduino)
int led = 10;
void setup()
{
  Serial.begin(9600);
  pinMode(led,OUTPUT);     
}
void loop()
{
  int x,y;
  x = analogRead(A0);
  y = map(x,0,1023,0,255);
  Serial.print("x = ");Serial.println(x);
  Serial.print("y = ");Serial.println(y);  
  analogWrite(led,y);
}

โค้ดที่18.2 (Code Arduino) 
int red = 11;int green = 10;int blue = 9;void setup(){  Serial.begin(9600);  pinMode(red,OUTPUT);     pinMode(green,OUTPUT);    pinMode(blue,OUTPUT);    }void loop(){  int x,y,z,r,s,t;  x = analogRead(A0);  y = analogRead(A1);  z = analogRead(A2);  r = map(x,0,1023,0,255);  s = map(y,0,1023,0,255);  t = map(z,0,1023,0,255);  Serial.print("r = ");Serial.println(r);  Serial.print("s = ");Serial.println(s);   Serial.print("t = ");Serial.println(t);   analogWrite(red,r);  analogWrite(green,s);  analogWrite(blue,t);
}

โค้ดที่18.3 (Code Arduino) 
int red = 11;
int green = 10;
int blue = 9;
void setup()
{
  Serial.begin(9600);
  pinMode(red,OUTPUT);   
  pinMode(green,OUTPUT);  
  pinMode(blue,OUTPUT);    
}
void loop()
{
  int x,y,z,r,s,t;
  x = analogRead(A0);
  y = analogRead(A1);
  z = analogRead(A2);
  r = map(x,0,1023,0,255);
  s = map(y,0,1023,0,255);
  t = map(z,0,1023,0,255);
  Serial.print("r = ");Serial.println(r);
  Serial.print("s = ");Serial.println(s); 
  Serial.print("t = ");Serial.println(t); 
  analogWrite(red,r);
  analogWrite(green,s);
  analogWrite(blue,t);
}

งานปฏิบัติที่ 17 งานโปรแกรม Smart Farm system เบื้องต้น

wiring diagram

รูปที่ 1



โค้ดที่17.1 (Code Arduino)

#include <SoftwareSerial.h>
#include <DHT11.h>
//=============================================
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//LiquidCrystal_I2C lcd(0x27, 16, 2);
LiquidCrystal_I2C lcd(0x3F, 16, 2);
SoftwareSerial ArduinoSerial(3, 2); // RX, TX
//=============================================
int SW_ON = 4,SW_OFF = 5,pin=6;//กำหนดขา INPUT
int Sun = 9,CSun = 0,Relay1 = 12, Relay2 = 11; //กำหนดขา OUTPUT  
int ATL = A0,ATH = A1;//กำหนดขา Analog
int VTL1 = 0,VTH1 = 0,TL = 0,TH =0,VRHL = 50,VRHH = 80;
DHT11 dht11(pin);
//=============================================
void setup()
{
  lcd.begin();
  Serial.begin(115200);
  ArduinoSerial.begin(4800);
  while (!Serial){
    ;
    }
  //=====================================================
  lcd.setCursor(0, 0);lcd.print("Elec Pattayatech");
  lcd.setCursor(0, 1);lcd.print("Smart Farm 2016 ");
  delay(5000);
  //====================================================
  pinMode(Relay1, OUTPUT);pinMode(Relay2, OUTPUT);  
  pinMode(SW_ON, INPUT); pinMode(SW_OFF, INPUT); pinMode(Sun, INPUT);
  digitalWrite(Relay1, HIGH);digitalWrite(Relay2, HIGH);
  lcd.setCursor(0, 0);lcd.print("                ");
  lcd.setCursor(0, 1);lcd.print("                ");
}
//=============================================================
void loop()
{
  while (ArduinoSerial.available() > 0) {
  float val = ArduinoSerial.parseFloat();
  if (ArduinoSerial.read() == '\n') {
  if (val == 10) {
  digitalWrite(13, 1);
  } else if (val == 11) {
  digitalWrite(13, 0);
  }
  Serial.println(val);
  }
  }
  delay(100);
  //========ปรับค่าอุณหภูมิอ้งอิง====================================
  CSun = digitalRead(Sun);
  int err;
  float temp, humi;
  if((err=dht11.read(humi, temp))==0)
  {
  VTL1 = analogRead(ATL);
  VTH1 = analogRead(ATH);
  TL = map(VTL1,0,1023,10,30);
  TH = map(VTH1,0,1023,25,45);
  Serial.print("TL :");Serial.print(TL);Serial.println("*C");
  Serial.print("TH :");Serial.print(TH);Serial.println("*C");
  //===========================================================
    int Stemp =(int)(temp);int Shumi=(int)(humi);//ตัดทศนิยม
    Serial.print("temp :");Serial.print(Stemp);Serial.println("*C");
    Serial.print("humidity :");Serial.print(Shumi);Serial.println("%");
    Serial.print("SUN :");Serial.println(CSun);//Serial.println();
    //===================================================
    lcd.setCursor(0, 0);lcd.print("TL:");lcd.print(TL);
    lcd.setCursor(6, 0);lcd.print("TH:");lcd.print(TH);
    lcd.setCursor(12, 0);lcd.print("S1:");lcd.print(!CSun);
    lcd.setCursor(0, 1);lcd.print("TN:");lcd.print(Stemp);
    lcd.setCursor(6, 1);lcd.print("RH:");lcd.print(Shumi);
    lcd.setCursor(12, 1);lcd.print("P1:0");lcd.print(Shumi);
    delay(1000);
    //===================================================
   //=======ควบคุมอุณหภูมิ===========================
   if(temp < TL && temp < TH ){
        digitalWrite(Relay1, HIGH);//ปั๊มน้ำหยุดทำงาน
        lcd.setCursor(12, 1);lcd.print("P1:0");
        delay(100);
        digitalWrite(Relay2, LOW);//หลอดไฟทำงาน
        lcd.setCursor(12, 0);lcd.print("L1:1");
        delay(60000);//หน่วงเวลา 1 นาที
      }else if(temp > TL && temp > TH){
        digitalWrite(Relay2, HIGH);//หลอดไฟไม่ทำงาน
        lcd.setCursor(12, 0);lcd.print("L1:0");
        delay(100);
        digitalWrite(Relay1, LOW);//ปั๊มน้ำทำงาน
        lcd.setCursor(12, 1);lcd.print("P1:1");
        delay(60000);//หน่วงเวลา 1 นาที
      }else if(temp > TL && temp < TH){
       //=======ควบคุมความชื้น===========================
      if(humi < VRHL && humi < VRHH){
        digitalWrite(Relay2, HIGH);//หลอดไฟไม่ทำงาน
        lcd.setCursor(12, 0);lcd.print("L1:0");
        delay(100);
        digitalWrite(Relay1, LOW);//ปั๊มน้ำทำงาน
        lcd.setCursor(12, 1);lcd.print("P1:1");
        delay(60000);//หน่วงเวลา 1 นาที
      }else if(humi > VRHL && humi > VRHH){
        digitalWrite(Relay1, HIGH);//ปั๊มน้ำหยุดทำงาน
        lcd.setCursor(12, 1);lcd.print("P1:0");
        delay(100);
        digitalWrite(Relay2, LOW);//หลอดไฟทำงาน
        lcd.setCursor(12, 0);lcd.print("L1:1");
        delay(60000);//หน่วงเวลา 1 นาที
      }else if(humi > VRHL && humi < VRHH){
        //delay(1000);
        digitalWrite(Relay1, HIGH);//ปั๊มน้ำหยุดทำงาน
        lcd.setCursor(12, 1);lcd.print("P1:0");
        digitalWrite(Relay2, HIGH);//หลอดไฟไม่ทำงาน
        lcd.setCursor(12, 0);lcd.print("L1:0");
        //หน่วงเวลา 1 นาที      
        }
     //=======ENDควบคุมความชื้น===========================      
        }
     //=======ENDควบคุมอุณหภูมิ===========================
  }
  else
  {
    Serial.println();Serial.print("Error No :");
    Serial.print(err);Serial.println();  
  }
 delay(DHT11_RETRY_DELAY);
}

งานครั้งที่ 5 ในสถานที่ฝึกงานของ นศ ใช้ระบบควบคุณภาพอย่างไร

มาตรฐาน ISO 9001 ISO 9001 เป็นมาตรฐานสากลที่องค์กรธุรกิจทั่วโลกให้ความสำคัญ เพื่อความเป็นเลิศทางด้านคุณภาพ และความมีประสิทธิภาพของการด...