--- title: ASR-รัฐมนตรีว่าการกระทรวงการอุดมศึกษา วิทยาศาสตร์ วิจัยและนวัตกรรมและคณะกรรมการพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ (กวทช.) เยี่ยมชมการดำเนินงานของสำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ (สวทช.) วันที่ 16 กุมภาพันธ์ 2567 subtitle: date: วันศุกร์ที่ 16 กุมภาพันธ์ 2567 เวลา 14.00 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) (อาจารย์สุธิรา) ใช้ความเร็วสูงก็ใช้ตัวนี้ได้นะคะ อันนี้ตัวอย่างที่ 1 นะคะ มาดูตัวอย่างต่อไปนะคะ ตัวอย่างที่ 2 ตัวนี้นะคะ คลิปนี้เขาเอา Servo Motor  ไปทำเป็นระบบเปิดประตู เปิด-ปิดประตูนะคะ เด็ก ๆ เปิดเกินไปแล้ว เดี๋ยวนะคะ โฆษณาขึ้น เมื่อเราดู YouTube อันนี้จำลองนะคะ ทำเป็นบ้านจำลองนะคะ แล้วก็ดูอุปกรณ์ต่อ อันนี้ต่อจากคอมมันของเรานี่เราก็จะต่อจากคอมนะคะ เด็ก ๆ ใช้บอร์ดตัวเดียวกับเราเลย ESD 8266 นะคะ ให้ดูข้างในนี่ ๆ ตัว Servo Motor  จะอยู่นี่ แล้วก็มาทำไอ้ตัวแกนเปิดประตูเพิ่มขึ้นอีก เห็นไหมคะ เปิดประตูนะคะ เลย ๆ นี่สั่ง Open ดูนะคะ ตอนนี้ประตูมันปิดอยู่นะ เดี๋ยวพอเขากด เห็นไหม ประตูเปิดเห็นไหมคะ เห็นไหมคะ เปิดปิด ควบคุมการเปิดปิดด้วยมือถือนะคะ โดยใช้เซอร์โวมอเตอร์ตัวที่เราเราจะได้ทดลองใช้นะคะ มาดูตัวอย่างอีก 1 ชิ้นค่ะ ตัวอย่างที่ 3 ค่ะ เป็นการนำเซอร์โวมอเตอร์ไปประยุกต์ใช้กับถังขยะถังขยะ ให้นึกถึงช่วง COVID นะ เชื้อโรค เพราะฉะนั้น การไปจับถังขยะ เราก็จะไม่ปลอดภัย อะไรเป็นไอเดียว่าทำถังขยะอัตโนมัตินะคะ ของนี้เขาพัฒนารุ่นแรกนี่ ใช้เป็นเซนเซอร์ถังขยะเปิด ตัวใหม่เขาใช้เป็น... จับการเคลื่อนไหวนะคะ เรามีอุปกรณ์ชิ้นนี้อยู่เดี๋ยวเราจะไปหาถังขยะมาให้เด็ก ๆ ทดลองทำนะคะ นี่ ๆ ตัว Ultra Sonic เรามีแล้วนะคะ สาย Jumper เราก็มีอยู่แล้วประกอบชิ้นส่วนนะคะ เดี๋ยวเด็ก ๆ จะได้ทดสอบได้ระบบตัวนี้ นะคะ ถังขยะอัตโนมัติ เดี๋ยวเขาจะเทสต์ให้ดู หลักการก็คือดูอัลตราโวนิกเซ็นเซอร์ตัวนี้ก็คือจับการเคลื่อนไหวมีวัตถุเคลื่อนเข้ามาใกล้ ๆ รัศมีนี้ ฝาถังขยะก็จะเปิดเองอัตโนมัติเห็นไหมคะ เมื่อกี้ อาจจะย้อนให้ดูอีกครั้ง มีวัตถุเลื่อนเข้ามาจากได้ก็เปิดนะคะ นั่นคือตัวอย่างการนำ Servo Motor ไปประยุกต์ใช้นะคะ เราจะสั่งให้ Servo Motor  ทำงานได้อย่างไร เราก็ต้องมาเขียนโค้ดให้มัน ทีนี้เราต้องมาดูว่าโค้ดที่เราจะเขียนนี่ มันมีฟังก์ชั่นหรือคำสั่งอะไรบ้างนะคะ อันดับแรกเลย เราจะต้องเรียกใช้ library Library ที่ชื่อว่า Servo.h ตัวแรกเลยนะคะ เมื่อเราจะใช้งาน Servo.h ตัวนี้เราต้องเรียกใช้ Library Search แล้วทีนี้สิ่งที่ออกมาก็คือใน ของเรานี่นะคะ มันก็จะมีฟังก์ชัน เมื่อเรียกใช้ Library นี้แล้วเนี่ เราก็จะสามารถไปใช้ฟังก์ชันต่าง ๆ พี่มาควบคุมเซอร์โวตัวนี้ ได้ฟังก์ชั่นแรกก็คือ a นะคะ จะเป็นฟังก์ชันที่ใช้ในการกำหนดขาสัไอ้ตัวสายสีส้มน่ะ นั่นแหละเราจะกำหนดค่าสัญญาณให้สายสีส้มนะคะ ด้วยคำสั่งนี้นะคะ ซึ่งเราจะต้องต่อไอ้ตัว Servo Motor เข้ากับบอร์ด เข้ากับบอร์ดทดลองเรา แล้วก็เท่ากับนะคะ เสร็จแล้วก็จะกำหนดค่าให้กับพัลส์ที่เราจะเชื่อมกับ Servo นั่นเองนะคะ โดยคำสั่งนี้เราจะต้องเรียกใช้งาน โดยจะต้องพิมพ์คำว่า Servo.attach () วงเล็บเปิดวงเล็บปิด ในที่นี้หมายถึงขา ขาในตัวบอร์ดของเรานาะเด็ก ๆ ก็คือเราจะให้เชื่อมกับขาไหนเราก็ระบุเลข pin ลงไปนะคะ ไม่ใช่เลข pin ต้องบอกว่าค่าของ pin ตัวนั้นนะคะ หรือเขาบอกว่าลืมเขียนอีกรูปแบบหนึ่งว่า attach (pin)อะไรนะ ลูกน้ำไหม ไม่ใช่ . นะ ลูกน้ำ ลูกน้ำ ลูกน้ำ นะคะ ไม่ใช่ . นะเด็ก ๆ ถ้ากำหนดให้สูงสุดก็ได้ กำหนดค่าให้ ไอ้ min ต่ำสุดและสูงสุดนะคะ min max แต่ส่วนใหญ่รับค่าที่ min เดียวเพราะเราเชื่อมเฉพาะเซอร์โวกับบอร์ดเรานะคะ เพราะฉนั้นก็จะเขียนในรูปแบบแรกฟังก์ชั่นแรกที่เราจะต้องเรียกใช้ฟังก์ชันที่ 2 ฟังก์ชัน write () เราจะต้องพิมพ์คำว่าไว้ W r i t e แล้วก็ตามด้วยวงเล็บเสมอนะคะ เสมอนะคะ ฟังก์ชันนี้ใช้ในการควบคุมตำแหน่ง ที่เราอยากให้เซอร์โวมันหมุน ให้นึกถึงนะ 90 ถ้าเราจะให้หมุนไปทางขวา มือคือ 0 ฟังก์ชันนี้ เห็นไหมคะ วงเล็บนี่ ก็คือถ้าเราให้หมุนไปที่ 0 องศา ในวงเล็บเราก็ใส่ 0 ลงไปนะคะ servo.write () แล้วก็ตามด้วยในวงเล็บ เวลาเรียกใช้คำสั่งนี่เราจะต้องพิมพ์คำว่าวงเล็บเปิดในวงเล็บใส่ค่าองศาที่เราต้องการให้หมุนเหมือนภาพในสไลด์ที่ให้ดู ที่บอกว่าถ้าเราหมุนตามเข็มนาฬิกาไปทางขวามือ ค่าที่่กำหนดนั่นก็คือ 0 แต่ถ้าเราต้องการให้มันหมุนไปที่ 180 องศา ก็คือหมุนทวนเข็มนาฬิกานะคะ ใน Angel นี่เราก็ใส่เป็น 180 แต่ถ้าเราจะให้มันหมุนกลับมาที่ ตรงกลาง กึ่งกลาง 90 องศาใน Angle เราก็ใส่ 90 เพราะถ้าเราบอกแล้วเราจะกำหนดที่ 0-180 ได้นะคะ มาดูฟังก์ชันต่อมาที่เราจะได้ใช้นะคะ ถ้าได้ใช้นะ คือบางตัวนี่ ไม่จำเป็นต้องใช้ทุกฟังชั่นนะคะ แต่ถ้าได้ใช้นี่ ก็คือฟังก์ชันตัวที่ 3 ชื่อว่า writeMicroseconds () นะคะ มันจะเป็นฟังก์ชันที่ใช้ควบคุมตำแหน่งมอเตอร์นะคะ ให้หมุนไปตามองศาที่เรากำหนด แต่ตัวนี้ writeMicroseconds นี่จะต้องมากำหนดค่าความว่างของเค้าในหน่วย μs เพิ่มเข้าไปด้วยนะคะ โดยปกติความกว้างของพัลส์จะอยู่ที่ 1,000 ถึง 2,000 μs นะคะ แต่ แต่มันก็เป็นกับบางรุ่นนะ เพราะฉะนั้น เวลาไปซื้อ Servo นะ ต้องเช็กนะคะ ว่ามันสามารถได้กี่องค์ สามัมี95 130 นะคะ แล้วแต่นะคะ เราสามารถกำหนด ถ้าได้นะคะ แต่เราก็ต้องดูด้วยว่ามอเตอร์เราน่ะ มันหมุนได้เท่าไรนะคะ วิธีการใช้เราจะต้องพิมพ์คำสั่ง Servo Micro System ตามด้วยในวงเล็บจะบอกว่าอยู่ไหมไม่ใช่สิ เหมือนตัวมิว μs อย่างนี้นะคะ เด็ก ๆ เข้าใจง่ายกว่านะคะ คือระบุค่าตัวเลขลงไปน่ะค่ะ ว่าค่าพัลส์เป็นเท่าไรคะ เอาเป็น 1,000 ถึง 2,000 ได้ แต่เขาบอกบางตัวเพราะเขาจะอยู่ที่ 700 ถึง 2,000 อย่างนี้ ก็แล้วแต่เราจะกำหนดได้ ว่าเราต้องการให้การหมุนหาความกว้างของเพลานี่มันเท่าไรนะคะ เพราะถ้าตั้งเขาบอกว่าถ้าตั้งมากเกินไปเวลาเวลาทำนี่ มอเตอร์มันจะหมุนเกินภาพตัวที่มันกำหนดไว้นี่มันก็จะมีเสียงค้างได้นะคะ แล้วก็จะทำให้เกิดการกินกระแสไฟด้วยนะคะ ตัวนี้นะคะ ใช้หรือไม่ใช้ก็ได้ ตอนนี้ก็คือเมื่อใดที่มีการกำหนดค่าพัลส์ ถึงจะมาใช้ sorvo นะคะ เชื่อมต่อมาฟังก์ชันค่ะ เป็นฟังก์ชันที่ใช้ในการอ่านค่าองศานะคะ ก็คืออ่านค่าขององศาของอะไร หรือว่าก่อนก่อนหน้าเราจะรีบนี่เราต้องเรียกใช้เท่านั้น เมื่อค่าองศาแรกที่เราเรียกไปคือ 0 เพราะนั้นเวลาเราจะใช้ คำสั่งนี้นะคะ เราก็จะพิมพ์ Servo ตามด้วย .readในวงเล็บนะคะ ก็คือถ้าวงเล็บแล้วไม่ใส่ค่าอะไรนี่ มันจะไหม ไม่ได้กำหนดพารามิเตอร์นะคะ แต่ถ้าอยากกำหนดให้ ก็คือให้ใส่ช่วงองศาเหมือนที่บอก ในตัว write 90 180 เราก็ไม่จำเป็นต้องหมุนให้มัน 90 เป๊ะก็ได้ให้นึกถึงว่า 0-180 องศานี่ 1 องศาเด็ก ๆ ก็กำหนดได้แล้วแต่เราจะหมดนะคะ ว่าเราจะให้ค่าองศาที่เท่าไรนะคะ เเหลืออีก 2 ฟังก์ชันค่ะ ที่จะได้ใช้นะคะ ฟังก์ชันนี้ชื่อว่า "attached" อ๋ออย่างนั้น เดี๋ยวอาจารย์ขอเบรกแป๊บหนึ่งนะคะ ขอพักเบรก แป๊บหนึ่งนะคะ ให้เด็กไปเข้าห้องน้ำ พี่ล่ามช่วยบอกน้อง ๆ ใครจะไปเข้าห้องน้ำตอนนี้ ให้เวลาพักกี่นาที 10-15 นาทีละกันค่ะ เอา 15 นาทีนะคะ ใครจะไปเข้าห้องน้ำ ให้เวลาไปเข้าห้องน้ำค่ะเด็ก ๆ อาจารย์ก็จะเข้า โอเคค่ะ เบรคก่อนนะคะ เริ่มเลยค่ะ นี่ไง เพิ่งเข้าห้องน้ำมา ไม่โคกันเลย เดี๋ยวเรามาเรียนต่อนะคะ ทุกคนกลับเข้าโหมดก่อน 15 นาที มาดูฟังก์ชันต่อไปที่เราจะใช้ นะคะ ก็คือฟังก์ชัน attached () นะคะ เป็นฟังก์ชันที่ใช้ในการตรวจสอบ Servo Motor  ของเรานี่ มันต่ออยู่กับขาตัวบอร์ดเราหรือเปล่านะคะ เช็คว่ามันต่อหรือไม่ต่อนะคะ วิธีการใช้ฟังก์ชันนี้นะคะ เราจะต้องพิมพ์คำว่า servo.attached () แล้วก็ตามด้วยนะคะ ซึ่งถ้าพี่มันจะส่งออกมานะคะ ใน Arduino IDE ก็คือจะส่งค่าที่เป็น True ออกมาต่อนะ ค่า Tก็ต่อเมื่อแจ้งว่าขาขา Jumper เรา กับบอท ขาย compass ที่ต่อจากเซอร์โว แล้วไปต่อที่นี่ มันต่อนะคะ มันถึงจะส่งค่า Trueออกมาว่าเป็นจริงก็คือบอกให้รู้ว่า อ๋อ มีขาเสียบต่อจริง ๆ นะคะ มาดูฟังก์ชันสุดท้ายนะคะ ฟังก์ชัน detach () คือฟังก์ชันในการคืนสถานะ Attack เข้าไปแล้วใช่ไหมคะ ก็คืนค่าให้มัน ของขาที่เรากำหนด ในการควบคุมนั่นเองนะคะ โดยวิธีการ ก็คือพิมพ์คำสั่ง servo.detach แล้วก็วงเล็บเปิดปิดนะคะ ในส่วนของคำสั่ง หรือฟังก์ชันต่าง ๆ ที่เราจะใช้ในการควบคุม Servo นะคะ ก็มีเท่านี้นะคะ ที่นี้เรามาดู ต่อไปเราจะทำอะไร เรามาดูอุปกรณ์ค่ะ อุปกรณ์ที่เราจะใช้ในการต่อเซอร์โวของเรานะคะ ตัวแรกโหนด NodeMCU Esp8266 วันนี้นะคะ อุปกรณ์ตัวนี้ของเราตัวที่ 1 NodeMCU นะคะ ของเราใช้ Esp8266 นะคะเด็ก ๆ ตัวต่อมา อุปกรณ์ต่อมาที่เราจะใช้ ก็คือตัว NodeMCU Base    นะคะ ก็คือตัวบอร์ดขาวนี่นะคะ เพื่อจะเสียบอา esp8266 เราลงไปนะคะ แ ล้วก็จะต่อวงจรกับ Sewrนะคะ อุปกรณ์ชุดถัดมา ตัวที่ 3 ก็คือชุดเซอร์โวมอเตอร์ของเราเป็น Servo Motor SG90 นะคะ ความสามารถในการหมุนได้ที่ 0 ถึง 180 องศา ในชุดมันก็จะประกอบด้วยServo Motor แล้วก็กลัวใบ เรียกใบพัดไหมนะคะ ฝบพัดก็มีน๊อต Jumper ของมันอยู่ในอยู่แล้วนะคะ นี่คือชุดที่เราจะใช้ในการทดสอบ อุปกรณ์ตัวต่อ ก็คือสาย Micro USB เพื่อที่จะต่อ ที่เราต่อนี่ เข้ากับคอมพิวเตอร์ แล้วก็ใช้ในการโค้ดดิ้งเพื่อควบคุม Servo Motor  ให้ทำงานนะคะ คือต่อต่อสาย USB นี่เข้ากับบอร์ด Esp8266 เอานะคะ แล้วก็ต่อกับคอมพิวเตอร์ค่ะ และตัวสุดท้ายสาย Jumper สายต่อวงจรเป็น Jumper ตัวผู้-ผู้ผู้ ผู้ นะเด็ก ๆ ผู้ ผู้ ก็คือมันจะมีขา ถ้า ผู้นี่ด้านหนึ่งนะมีขาด้านหนึ่งจ้ะ ไม่มีขาใช่ไหมแต่ของเราใช้ผู้ เพราะว่าไอ้ตัวจัมเปอร์ ในสาย Jumper ของเซอร์โวนี่ มันจะเป็นตัวเมีย ทีนี้เราจะต่อจากเซอร์โวไปที่บอร์ด เราก็เลยต้องใช้ขาตัวผู้ทั้ง 2 ฝั่งนะคะ เพราะฉะนั้นต้องเป็นแบบผู้-ผู้ นะคะ ให้เด็ก ๆ เอาอุปกรณ์ตัวเองขึ้นมานะคะ แล้วทำการต่อต่อบอร์ดเข้ากับคอมพิวเตอร์ก่อนนะคะ แล้วเปิด Arduino IDE  เราขึ้นมาค่ะ เดี๋ยวจะเดินไปดูนะคะ บาส ๆ ต่อวงจรบอร์ดกับไอ้นี่ และเช็กว่าไฟขึ้นยัง ให้ดูก่อน เด็ก ๆ ดูนะคะ ตอนนี้บาสจะเลือกเซอร์โว แล้วก็ใบพัดแบบนี้นะคะ เราจะเปลี่ยนใบพัดเป็นแบบเหมือนในรูปตัวอย่างของเรา โอเค ต่อไปสายตัวผู้ จัมเปอร์ตัวผู้ ให้ดูสิ มาถูกไหม วิ่งมา 3 เส้นออกมา 3 เส้น เอาออกมา 3 เส้นค่ะ ใช้ 3 เส้นนะลูก ผู้-ผู้นะคะ สังเกตให้ ดูขาจะมีขาทั้ง 2 ฝั่ง หมุนอีกฝั่งหนึ่งให้ดูด้วยครับ หมุนฝั่งล่าง ด้านล่างให้เพื่อนดูด้วย ของคนอื่นนะคะ ก็ต้องเลือกให้มีด้านบนก็มีขา อีกด้านหนึ่ง โอเคนะคะ ที่นี้ แสดงว่าหยิบผิดใช่ไหม บอกแล้วเอา ผู้ ผู้ นะคะ ต้องมีทั้ง 2 สาย Jumper ของเรามีหลายแบบนะคะ เด็ก ๆ อย่าลืมสายผู้ผู้ นั่นคือด้านนี้ก็เป็นมีขากลับ อีกด้านหนึ่งเห็นไหมคะ ด้านล่างมีขานะคะ นี่คือสายกู้เปิด ตัวแรกกลับ ส้ม แดง แล้วก็ของเราน่าจะเป็นน้ำตาลไหมนี่นะ ให้ให้บาสนะคะ เอาจัมเปอร์ตัวผู้ต่อเข้าที่สาย Jumper ตัวเมียของ Servo สีน้ำตาล เลือกพยายาม ใช่ ๆ อันนี้บอร์ด ทำการต่อ Micro USB เรียบร้อยแล้วนะคะ เพื่อน ๆ ต้องเสียบเหมือนบาสนะคะ ต่อไป บาสต่อ Servo กับ... บาสดูพี่ล่ามพอแล้วนะ โอเคอทีนี้ต่อกับบอร์ดเอาไปต่อกับบอร์ดลูก สายแรก คันแรกคือสีส้มนี่ ให้ต่อลง เดี่ญวนะขอดูโค้ดแป๊บหนึ่ง เดี๋ยวต่อแล้วค่อย...