Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore 1.1 ชุดการสอน หน่วยที่ 6 วิชา หุ่นยนต์เบื้องต้น

1.1 ชุดการสอน หน่วยที่ 6 วิชา หุ่นยนต์เบื้องต้น

Published by Prabhas Phumphuang, 2022-06-11 01:19:01

Description: ชุดการสอน อ.ประภาส พุ่มพวง

Search

Read the Text Version

245 pinMode(buttonPin1, INPUT); pinMode(buttonPin2, INPUT); pinMode(buttonPin3, INPUT); pinMode(buttonPin4, INPUT); } void loop() { buttonState1 = digitalRead(buttonPin1); buttonState2 = digitalRead(buttonPin2); buttonState3 = digitalRead(buttonPin3); buttonState4 = digitalRead(buttonPin4); if (buttonState1 == HIGH) //เดนิ หน้า { digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,HIGH); digitalWrite(13,LOW); delay(5000); } if (buttonState2 == HIGH) //เดินหนา้ { digitalWrite(10,LOW); digitalWrite(11,HIGH); digitalWrite(12,LOW); digitalWrite(13,HIGH); delay(5000); } if (buttonState3 == HIGH) //เลย้ี วซา้ ย { digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,HIGH); digitalWrite(13,LOW); delay(5000); } if (buttonState4 == HIGH) //เลี้ยวขวา

246 { digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); delay(5000); } if ( buttonState1 == LOW && buttonState2 == LOW && buttonState3 == LOW && buttonState4 == LOW ) { digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); delay(5000); } }

247 เฉลย ใบงานที่ 6 เรอ่ื ง การควบคมุ หนุ่ ยนตด์ ้วยจอยสต๊ิก วตั ถุประสงค์ 1. เพอ่ื ให้ผูเ้ รยี นมีความร้ใู นการเขียนโปรแกรมควบคมุ ห่นุ ยนตด์ ้วยจอยสตกิ๊ พีเอสทูได้ 2. เพอ่ื ให้ผูเ้ รียนสามารถตอ่ วงจรการควบคมุ ห่นุ ยนต์ดว้ ยจอยสต๊กิ พเี อสทไู ด้ บทนำ การควบคุมหนุ่ ยนต์ด้วยมือแบบจอยสต๊ิกพเี อสทู (PS2 Playstation) 1) การควบคุมหุน่ ยนตด์ ้วยมือแบบจอยสตกิ๊ พีเอสทูแบบสาย การควบคมุ หุ่นยนต์ดว้ ยมอื แบบจอยสติ๊กพีเอสทู จะมีลกั ษณะการทำงานคลา้ ยกบั การควบคมุ ด้วย สวติ ช์ แตใ่ นการเขียนโปรแกรมควบคุมจะต้องตดิ ตัง้ ไลบรารี่ของจอยสต๊กิ พีเอสทูในโปรแกรมอาดุยโน่ไอดีอี เพื่อใช้เพื่อสำหรับสื่อสารระหว่างบอร์ดไมโครคอนโทรลเลอร์อาดุยโน่กับจอยสติ๊กพีเอสทู เพื่อใช้ในการ ควบคุมมอเตอรต์ ่อไป โดยลกั ษณะของจอยสตกิ๊ พีเอสทู จะมีลกั ษณะตามรปู ท่ี 6.1 รปู ที่ 6.1 จอยสต๊กิ พเี อสทู (PS2) แบบใช้สาย

248 2) การควบคุมหุน่ ยนต์ดว้ ยมือแบบจอยสตกิ๊ พเี อสทูแบบไร้สาย ในการควบคุมหุ่นยนต์ด้วยมือแบบจอยสติ๊กพีเอสทูแบบไร้สายหรือไวเลส (Wireless) จะมสี ่วนทเ่ี ป็นอุปกรณ์ในการส่งสญั ญาณไวเลสเพิ่มเข้ามาโดยมลี กั ษณะตามรปู ท่ี 6.2 รูปที่ 6.2 จอยสติ๊กพเี อสทแู บบไร้สาย(Wireless) ทมี่ า : www.myarduino.net 9) การควบคุมหุน่ ยนตด์ ้วยมอื แบบโมดูลจอยสตกิ๊ การควบคมุ หุ่นยนต์ดว้ ยมอื แบบโมดูลจอยสติก๊ ใชก้ ารควบคมุ คนั โยกทจี่ อยสติ๊กเพอ่ื ควบคมุ ทิศ ทางการเคลือ่ นทขี่ องมอเตอร์ โดยลกั ษณะของโมดลู จอยสติ๊กและรายละเอยี ดแสดงดังรูปท่ี 6.3 รูปที่ 6.3 โมดลู จอยสต๊ิก ท่มี า : www.arduinothai.com

249 อุปกรณ์การทดลอง 2 ตวั 1. มอเตอร์เกยี ร์แรงดันไฟฟ้ากระแสตรง 5 โวลต์ 1 อัน 2. บอรด์ ไมโครคอนโทรลเลอรอ์ าดยุ โน่ 1 อนั 3. รางถา่ นขนาด AA จำนวน 4 กอ้ น 1 อัน 4. บอรด์ ขับมอเตอร์ขนาดเลก็ ด้วยพัลส์ 1 ชดุ 5. จอยสติ๊กพีเอสทูแบบสาย 1 ชุด 6. จอยสตก๊ิ พีเอสทูแบบไวเลส 1 อนั 7. โมดลู จอยสต๊กิ 2 อัน 8. ลอ้ หุ่นยนต์ 1 อัน 9. ลอ้ ลาก 1 แผง 10. แผงตอ่ วงจร 11. สายต่อวงจร 12. สายยเู อสบี ขน้ั ตอนการทดลอง กิจกรรมที่ 1 การควบคุมหนุ่ ยนต์ด้วยจอยสติ๊กพเี อสทูแบบสาย 1. เตรยี มวัสดุและอปุ กรณ์ใหพ้ ร้อม 2. ตรวจสอบสภาพต่าง ๆ ของอุปกรณ์ เช่น ลกั ษณะการทำงาน ความเรยี บรอ้ ย 3. ใหอ้ อกแบบและประกอบหุน่ ยนต์ตามรูปที่ 6.4 และรปู ที่ 6.5 รูปท่ี 6.4 การประกอบอปุ กรณ์ดา้ นบน

250 รูปท่ี 6.5 การประกอบอปุ กรณด์ า้ นล่าง 4. ต่อวงจรตามรปู ที่ 6.6 โดยกำหนดให้สวิตช์ทำงานเดินหน้า ถอยหลัง เลี้ยวซา้ ยและเล้ยี วขวา โดยใช้ป่มุ แสดงดังรูปที่ 6.7 แล้วทำการทดลองให้เปน็ ไปตามที่กำหนด รปู ท่ี 6.6 การต่อวงจรควบคุมหุ่นยนต์ดว้ ยจอยสตก๊ิ แบบสาย

251 รูปที่ 6.7 ปุ่มสำหรับควบคมุ ทิศทางหุน่ ยนต์ 5. ทำการออกแบบโปรแกรมในการควบคมุ แล้วเขยี นคำสง่ั ของโปรแกรมทส่ี มบรู ณ์ ลงในตาราง คำสั่งและอพั โหลดโปรแกรมลงบอรด์ ไมโครคอนโทรลเลอร์อาดุยโนท่ ดสอบการทำงาน และ สรุปผลการทดลอง คำส่งั ในการควบคุม #include <PS2X_lib.h> PS2X ps2x; int error = 0; byte vibrate = 0; int a=0; void setup() { Serial.begin(57600); pinMode(2,OUTPUT); pinMode(3,OUTPUT); pinMode(4,OUTPUT); pinMode(5,OUTPUT);

252 error = ps2x.config_gamepad(13,11,10,12, true, true); } void loop(){ ps2x.read_gamepad(); if(ps2x.Button(PSB_PAD_UP)) { Serial.print(\"Up is : \"); Serial.println(ps2x.Analog(PSAB_PAD_UP), DEC); digitalWrite(2,HIGH); //มอเตอร์ซา้ ย IN1 digitalWrite(3,LOW); //มอเตอร์ซ้าย IN2 digitalWrite(4,HIGH); //มอเตอรข์ วา IN3 digitalWrite(5,LOW); //มอเตอรืขวา IN4 } if(ps2x.Button(PSB_PAD_RIGHT)) { Serial.print(\"Right is : \"); Serial.println(ps2x.Analog(PSAB_PAD_RIGHT), DEC); digitalWrite(2,LOW); digitalWrite(3,LOW); digitalWrite(4,HIGH); digitalWrite(5,LOW); } if(ps2x.Button(PSB_PAD_LEFT)){ Serial.print(\"LEFT is : \"); Serial.println(ps2x.Analog(PSAB_PAD_LEFT), DEC); digitalWrite(2,HIGH); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5,LOW); }

253 if(ps2x.Button(PSB_PAD_DOWN)) { Serial.print(\"DOWN is : \"); Serial.println(ps2x.Analog(PSAB_PAD_DOWN), DEC); digitalWrite(2,LOW); digitalWrite(3,HIGH); digitalWrite(4,LOW); digitalWrite(5,HIGH); } if( ps2x.Analog(PSAB_PAD_DOWN) == 0 && ps2x.Analog(PSAB_PAD_UP) == 0 && ps2x.Analog(PSAB_PAD_RIGHT) == 0 && ps2x.Analog(PSAB_PAD_LEFT)== 0) { digitalWrite(2,LOW); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5,LOW); } delay(50); } กิจกรรมที่ 2 การควบคุมหุ่นยนต์ด้วยจอยสติ๊กพเี อสทูแบบไวเลส ขั้นตอนการทดลอง 1. เตรยี มวัสดแุ ละอปุ กรณ์ให้พร้อม 2. ตรวจสอบสภาพต่าง ๆ ของอุปกรณ์ เชน่ ลักษณะการทำงาน ความเรียบรอ้ ย 3. ใหอ้ อกแบบและประกอบหนุ่ ยนตต์ ามรูปท่ี 6.8 และรปู ที่ 6.9

254 รูปที่ 6.8 การประกอบอุปกรณด์ า้ นบน รูปท่ี 6.9 การประกอบอุปกรณด์ ้านลา่ ง 4. ต่อวงจรตามรูปที่ 6.10 โดยกำหนดให้สวิตช์ทำงานเดินหน้า ถอยหลงั เล้ยี วซ้ายและเล้ยี วขวา แล้วทำการทดลองให้เปน็ ไปตามที่กำหนด

255 รูปที่ 6.10 การต่อวงจรควบคุมหนุ่ ยนตด์ ว้ ยจอยสติ๊กแบบสาย 5. ทำการออกแบบโปรแกรมในการควบคมุ แล้วเขยี นคำสงั่ ของโปรแกรมทส่ี มบูรณ์ ลงในตาราง คำสัง่ และอัพโหลดโปรแกรมลงบอร์ดไมโครคอนโทรลเลอรอ์ าดุยโนท่ ดสอบการทำงาน และ สรุปผลการทดลอง คำส่งั ในการควบคมุ #include <PS2X_lib.h> PS2X ps2x; int error = 0; byte vibrate = 0; int a=0; void setup() { Serial.begin(57600); pinMode(2,OUTPUT); pinMode(3,OUTPUT); pinMode(4,OUTPUT);

256 pinMode(5,OUTPUT); error = ps2x.config_gamepad(13,11,10,12, true, true); } void loop(){ ps2x.read_gamepad(); if(ps2x.Button(PSB_PAD_UP)) { Serial.print(\"Up is : \"); Serial.println(ps2x.Analog(PSAB_PAD_UP), DEC); digitalWrite(2,HIGH); //มอเตอรซ์ ้าย IN1 digitalWrite(3,LOW); //มอเตอรซ์ ้าย IN2 digitalWrite(4,HIGH); //มอเตอร์ขวา IN3 digitalWrite(5,LOW); //มอเตอรขื วา IN4 } if(ps2x.Button(PSB_PAD_RIGHT)) { Serial.print(\"Right is : \"); Serial.println(ps2x.Analog(PSAB_PAD_RIGHT), DEC); digitalWrite(2,LOW); digitalWrite(3,LOW); digitalWrite(4,HIGH); digitalWrite(5,LOW); } if(ps2x.Button(PSB_PAD_LEFT)) { Serial.print(\"LEFT is : \"); Serial.println(ps2x.Analog(PSAB_PAD_LEFT), DEC); digitalWrite(2,HIGH); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5,LOW); } if(ps2x.Button(PSB_PAD_DOWN)) { Serial.print(\"DOWN is : \"); Serial.println(ps2x.Analog(PSAB_PAD_DOWN), DEC);

257 digitalWrite(2,LOW); digitalWrite(3,HIGH); digitalWrite(4,LOW); digitalWrite(5,HIGH); } if( ps2x.Analog(PSAB_PAD_DOWN) == 0 && ps2x.Analog(PSAB_PAD_UP) == 0 && ps2x.Analog(PSAB_PAD_RIGHT) == 0 && ps2x.Analog(PSAB_PAD_LEFT)== 0) { digitalWrite(2,LOW); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(5,LOW); } delay(50); } กจิ กรรมท่ี 3 การควบคุมหนุ่ ยนตด์ ว้ ยการควบคมุ หุ่นยนต์ดว้ ยโมดูลจอยสต๊ิก ขั้นตอนการทดลอง 6. เตรียมวสั ดุและอุปกรณ์ให้พร้อม 7. ตรวจสอบสภาพตา่ ง ๆ ของอุปกรณ์ เช่น ลกั ษณะการทำงาน ความเรียบร้อย 8. ให้ออกแบบและประกอบหุ่นยนต์ตามรปู ท่ี 6.11 และรปู ที่ 6.12 รปู ท่ี 6.11 การประกอบอุปกรณด์ า้ นบน

258 รูปท่ี 6.12 การประกอบอปุ กรณด์ ้านล่าง 9. ต่อวงจรตามรูปที่ 6.13 โดยกำหนดให้สวิตช์ทำงานเดินหน้า ถอยหลัง เลี้ยวซ้ายและเลี้ยว ขวา แล้วทำการทดลองใหเ้ ป็นไปตามทีก่ ำหนด รปู ท่ี 6.14 การต่อวงจรควบคุมหนุ่ ยนต์ดว้ ยโมดูลจอยสติ๊ก

259 10. ทำการออกแบบโปรแกรมในการควบคุมแล้วเขยี นคำสงั่ ของโปรแกรมทีส่ มบรู ณ์ ลงในตาราง คำส่ังและอัพโหลดโปรแกรมลงบอรด์ ไมโครคอนโทรลเลอรอ์ าดยุ โนท่ ดสอบการทำงาน และ สรปุ ผลการทดลอง คำสงั่ ในการควบคุม int X = A0; int XValue = 0; int Y = A1; int YValue = 0; int SW = A2; int SWValue = 0; void setup() { Serial.begin(9600); pinMode(10,OUTPUT); pinMode(11,OUTPUT); pinMode(12,OUTPUT); pinMode(13,OUTPUT); } void loop() { XValue = analogRead(X); YValue = analogRead(Y); SWValue = analogRead(SW); if(XValue==0 && YValue>=511) //เดินหนา้ { digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,HIGH); digitalWrite(13,LOW); }else { digitalWrite(10,LOW);

260 digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); } if(XValue==1023 && YValue>=511)//ถอยหลงั { digitalWrite(10,LOW); digitalWrite(11,HIGH); digitalWrite(12,LOW); digitalWrite(13,HIGH); }else { digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); } if(XValue==511 && YValue>=0)//เล้ยี วซา้ ย { digitalWrite(10,LOW); digitalWrite(11,HIGH); digitalWrite(12,LOW); digitalWrite(13,HIGH); }else { digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); } if(XValue==511 && YValue>=1023)//เล้ยี วขวา { digitalWrite(10,LOW); digitalWrite(11,HIGH); digitalWrite(12,LOW); digitalWrite(13,HIGH);

261 }else { digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); } delay(200); } สรปุ ผลการทดลอง จากวงจรงในรปู ที่ 6.6 เปน็ การควบคมุ หนุ่ ยนตโ์ ดยใช้จอยสต๊กิ พเี อสทู(PS2) โดยใช้ป่มุ กดในการ ควบคุมทิศทางการเคลื่อนทโี่ ดยสามารถเคลื่อนที่ไปขา้ งหน้าโดยการกดปุ่มดา้ นบน เคลอ่ื นที่ไปดา้ นซ้าย โดยการกดป่มุ ด้านซ้าย เคล่ือนท่ไี ปดา้ นขวาโดยการกดปุ่มด้านขวา และเคลื่อนที่ถอยหลังโดยการกดปมุ่ ดา้ นลา่ ง โดยการเคล่ือนที่จะใช้มอเตอร์ 2 ตัวเปน็ ตวั ขับเคล่ือน จากวงจรในรูปท่ี 6.10 เปน็ การควบคมุ หุน่ ยนต์โดยใช้จอยสติก๊ พเี อสทู(PS2) โดยใช้ปมุ่ กดในการ ควบคุมทิศทางการเคล่ือนท่ีแบบไวเลส โดยสามารถเคลื่อนท่ีไปข้างหน้าโดยการกดปุ่มด้านบน เคล่ือนที่ไป ด้านซา้ ยโดยการกดปุ่มด้านซ้าย เคลอื่ นทีไ่ ปดา้ นขวาโดยการกดปุ่มดา้ นขวา และเคล่ือนที่ถอยหลังโดยการ กดปุ่มด้านล่าง โดยการเคลอ่ื นที่จะใช้มอเตอร์ 2 ตวั เป็นตัวขบั เคลอ่ื น จากวงจรในรูปท่ี 6.14เป็นการต่อวงจรควบคุมหุ่นยนต์ในการเคล่ือนที่ไปด้านหน้า ถอยหลงั เลยี้ ว ซ้ายและเลี้ยวขวา โดยการบังคับทิศทางด้วยโมดูลจอยสติ๊กเป็นตัวควบคุม โดยการเคลื่อนที่จะใช้การโยก โมดลู จอยสตก๊ิ ซง่ึ จะได้คา่ แอนะล็อกออกมาตัง้ แต่ 0 ถึง 1023 ทง้ั ในแนวแกน X และแกน Y แลว้ นำค่าแอ นะล็อกมากำหนดเป็นทิศทางการเคล่ือนทขี่ องหุ่นยนต์

262 คำถามท้ายการทดลอง ให้ผเู้ รียนออกแบบโปรแกรมโดยมเี งื่อนไขดังนี้ 1. ใหผ้ เู้ รียนเลอื กอปุ กรณ์ควบคุมอย่างใดอย่างหนง่ึ ตามความถนดั ในการเขยี นโปรแกรม 2. ใหเ้ ขยี นโปรแกรมควบคุมโดยใช้อุปกรณ์ทเี่ ลอื กให้มอเตอรห์ มนุ ไปข้างหน้า 5 วนิ าทีแลว้ หยดุ หมนุ 3. ให้เขียนโปรแกรมควบคมุ โดยใชอ้ ุปกรณ์ท่เี ลอื กใหม้ อเตอรห์ มุนไปขา้ งหลัง 5 วินาทแี ลว้ หยุด หมุน 4. ให้เขียนโปรแกรมควบคมุ โดยใช้อปุ กรณ์ที่เลือกให้มอเตอร์หมนุ ไปข้างขวา 5 วนิ าทแี ลว้ หยดุ หมุน 5. ใหเ้ ขยี นโปรแกรมควบคุมโดยใชอ้ ุปกรณ์ทเ่ี ลือกใหม้ อเตอรห์ มุนไปข้างซ้าย 5 วินาทแี ลว้ หยดุ หมนุ 6. โปรแกรมวนทำงานรอรับการกดสวติ ชป์ ุ่มกดตามข้อ 2 ถึงข้อ 5 ตอ่ เนื่องตลอดเวลา 7. ใหเ้ ขียนคำสั่งทส่ี มบรู ณล์ งในตารางคำส่งั คำสง่ั ในการควบคมุ int X = A0; int XValue = 0; int Y = A1; int YValue = 0; int SW = A2; int SWValue = 0; void setup() { Serial.begin(9600); pinMode(10,OUTPUT); pinMode(11,OUTPUT); pinMode(12,OUTPUT); pinMode(13,OUTPUT); } void loop() { XValue = analogRead(X); YValue = analogRead(Y);

263 SWValue = analogRead(SW); if(XValue==0 && YValue>=511) //เดนิ หน้า { digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,HIGH); digitalWrite(13,LOW); delay(5000); }else { digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); } if(XValue==1023 && YValue>=511)//ถอยหลงั { digitalWrite(10,LOW); digitalWrite(11,HIGH); digitalWrite(12,LOW); digitalWrite(13,HIGH); delay(5000); }else { digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); } if(XValue==511 && YValue>=0)//เล้ยี วซา้ ย { digitalWrite(10,LOW); digitalWrite(11,HIGH); digitalWrite(12,LOW); digitalWrite(13,HIGH); delay(5000);

264 }else { digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); } if(XValue==511 && YValue>=1023)//เลีย้ วขวา { digitalWrite(10,LOW); digitalWrite(11,HIGH); digitalWrite(12,LOW); digitalWrite(13,HIGH); delay(5000); }else { digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); } delay(200); }

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

266 อุปกรณ์การทดลอง 2 ตวั 1. มอเตอร์เกยี ร์แรงดันไฟฟ้ากระแสตรง 5 โวลต์ 1 อนั 2. บอรด์ ไมโครคอนโทรลเลอร์อาดยุ โน่ 2 อัน 3. เซน็ เซอร์ตรวจจบั เส้น 1 อัน 4. รางถ่านขนาด AA จำนวน 4 กอ้ น 1 อัน 5. บอร์ดขบั มอเตอร์ขนาดเล็กดว้ ยพัลส์ 4 ตวั 6. สวติ ช์แบบปุ่มกด 4 ตวั 7. ตวั ความต้านทานขนาด 1 กิโลโอห์ม 2 อนั 8. ลอ้ หนุ่ ยนต์ 1 อัน 9. ลอ้ ลาก 1 แผง 10. แผงต่อวงจร 11. สายตอ่ วงจร 12. สายยเู อสบี ขน้ั ตอนการทดลอง 1. เตรยี มวัสดแุ ละอุปกรณ์ใหพ้ ร้อม 2. ตรวจสอบสภาพต่าง ๆ ของอุปกรณ์ เช่น ลักษณะการทำงาน ความเรยี บรอ้ ย 3. ใหอ้ อกแบบและประกอบห่นุ ยนต์ตามรูปท่ี 7.3 รปู ที่ 7.4 และ รปู ท่ี 7.5 รปู ที่ 7.3 การประกอบอปุ กรณ์ดา้ นบน

267 รูปท่ี 7.4 การประกอบอุปกรณ์ด้านล่าง รูปท่ี 7.5 การประกอบอุปกรณด์ า้ นขา้ ง 4. ต่อวงจรตามรูปท่ี 7.6 แล้วทำการทดลองให้เปน็ ไปตามที่กำหนด

268 รปู ท่ี 7.6 การต่อวงจรควบคุมหุ่นยนต์แบบอัตโนมัติ 5. ออกแบบสนามสำหรบั ทดลองการเคล่ือนที่ของหนุ่ ยนต์ แสดงดังรูปท่ี 7.7 รปู ท่ี 7.7 รูปสนามสำหรับทดสอบห่นุ ยนต์

269 6. ทำการออกแบบโปรแกรมในการควบคมุ แลว้ เขยี นคำส่งั ของโปรแกรมทสี่ มบูรณ์ ลงในตาราง คำส่งั และอัพโหลดโปรแกรมลงบอร์ดไมโครคอนโทรลเลอร์อาดยุ โนท่ ดสอบการทำงาน และ สรปุ ผลการทดลอง คำสงั่ ในการควบคุม int sen1 = 0; int sen2 = 0; void setup() { pinMode(A0,INPUT); pinMode(A1,INPUT); pinMode(6,OUTPUT); pinMode(9,OUTPUT); pinMode(10,OUTPUT); pinMode(11,OUTPUT); Serial.begin(9600); } void loop() { sen1=analogRead(A0); sen2=analogRead(A1); Serial.print(\"sen1= \"); Serial.println(sen1); Serial.print(\"sen2= \"); Serial.println(sen2); if(sen1<70&& sen2<70) { digitalWrite(6,HIGH); digitalWrite(9,LOW); digitalWrite(10,HIGH); digitalWrite(11,LOW); Serial.print(\" RUN \"); } if(sen1<70&& sen2>70) //เลยี้ วขวา {

270 digitalWrite(6,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); Serial.print(\" RIGTH \"); } if(sen1>70&& sen2<70) //เลย้ี วซา้ ย { digitalWrite(6,LOW); digitalWrite(9,LOW); digitalWrite(10,HIGH); digitalWrite(11,LOW); Serial.print(\" LEFT \"); } if(sen1==0 && sen2==0) { digitalWrite(6,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); Serial.print(\" STOP \"); } delay(100); } สรปุ ผลการทดลอง จากการทดลองเป็นการเขียนโปรแกรมควบคุมการทำงานหุ่นยนต์แบบอัตโนมัติ โดยใช้เซ็นเซอร์ ในการตรวจจับเส้นสีดำด้วยหลกั ของการสะท้อนแสง เพื่อไปสั่งให้หุ่นยนต์วิ่งตามเส้น โดยเมื่อเซ็นเซอร์ฝ่งั ใดตรวจจับเส้นสดี ำได้กส็ ่งั ใหห้ ่นุ ยนต์เลย้ี วไปตรงกันข้ามเพ่อื บงั คับใหว้ ่ิงตามเส้นทกี่ ำหนด

271 คำถามท้ายการทดลอง ใหผ้ ้เู รยี นออกแบบโปรแกรมโดยมเี งื่อนไขดังน้ี 8. ให้เขยี นโปรแกรมควบคมุ โดยใชเ้ ซ็นเซอร์ในการจับวตั ถุเพื่อจับสดี ำ โดยให้หุ่นยนต์วิ่ง ถอยหลังตามเส้นสดี ำ 9. ให้โปรแกรมวนทำงานรอรบั การกดสวิตชป์ ่มุ กดตามข้อ 1 ต่อเนอ่ื งตลอดเวลา 10. ให้เขียนคำส่งั ท่สี มบรู ณล์ งในตารางคำส่ัง คำสั่งในการควบคมุ int sen1 = 0; int sen2 = 0; void setup() { pinMode(A0,INPUT); pinMode(A1,INPUT); pinMode(6,OUTPUT); pinMode(9,OUTPUT); pinMode(10,OUTPUT); pinMode(11,OUTPUT); } void loop() { sen1=analogRead(A0); sen2=analogRead(A1); if(sen1<70&& sen2<70) { digitalWrite(6,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,HIGH); } if(sen1<70&& sen2>70) { digitalWrite(6,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW);

272 } if(sen1>70&& sen2<70) { digitalWrite(6,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); } if(sen1==0 && sen2==0) { digitalWrite(6,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); } delay(100); }

273 ใบประเมินผลการปฏิบตั งิ าน วิชา ห่นุ ยนต์เบ้ืองต้น จำนวน 3 ชั่วโมง ช่ืองาน การเขยี นโปรแกรมควบคุมการทำงานของหนุ่ ยนต์เบ้อื งตน้ ลำดบั ที่ การประเมนิ ผล คะแนนเต็ม คะแนนท่ีได้ หมายเหตุ 1 กระบวนการปฏิบัติงาน 20 1.1 การปฏบิ ัตงิ านตามขั้นตอนที่กำหนดให้ 20 2 ผลการปฏบิ ตั ิงาน 60 2.1 ได้ขอ้ มูลครบถ้วนและถูกตอ้ ง 30 2.2 รูปภาพชดั เจน 30 3 กิจนสิ ัยในการปฏบิ ัติงาน 20 3.1 ส่งงานตรงต่อเวลา 10 3.2 ปฏบิ ัตงิ านด้วยความเรยี บร้อย 10 รวม 100 ชื่อ-สกลุ ………………………………………….ผ้เู รียน ลงชอ่ื …………………………………………ผู้สอน (……………………………………….) (…………………………………………) …….……/…………/…………

274 เฉลยแบบทดสอบก่อนเรยี น หน่วยท่ี 6 เรอ่ื ง กำรเขียนโปรแกรมควบคมุ กำรทำงำนของห่นุ ยนตเ์ บอื้ งต้น 1. ง 26. ก 2. ก 27. ค 3. ค 28. ง 4. ข 29. ก 5. ก 30. ข 6. ข 7. ค 8. ค 9. ก 10. ข 11. ง 12. ค 13. ข 14. ก 15. ข 16. ค 17. ก 18. ค 19. ก 20. ข 21. ก 22. ข 23. ค 24. ก 25. ข

275 เฉลยแบบทดสอบหลงั เรยี น หน่วยท่ี 6 เร่ือง การเขียนโปรแกรมควบคมุ การทำงานของหนุ่ ยนตเ์ บ้อื งตน้ 1. ง 26. ง 2. ก 27. ก 3. ค 28. ข 4. ข 29. ง 5. ก 30. ค 6. ค 7. ข 8. ก 9. ข 10. ก 11. ก 12. ข 13. ก 14. ข 15. ค 16. ง 17. ง 18. ง 19. ข 20. ก 21. ค 22. ค 23. ก 24. ข 25. ก

276 แบบสังเกตพฤตกิ รรมการเรยี นรู้รายบุคคล รหสั วิชา 20104-2118 วชิ า หุ่นยนต์เบอ้ื งตน้ ชน้ั ปวช.3 สาขาวชิ า/สาขางาน ชา่ งไฟฟา้ กำลงั กลุม่ .......... ภาคเรียนที่ 2 ปกี ารศกึ ษา 2564 สอนครงั้ ที่.................วันท.ี่ ................................................... คำช้ีแจง ให้ทำเครอ่ื งหมาย ✓ และ หากนักเรียนมพี ฤติกรรมนนั้ ลงในช่องรายการ ท่ี รหสั ชอื่ -นามสกุล ความสนใจ การแสดงความ พฤตกิ รรม การยอมรับฟงั ทำงานตามท่ี รวม 4321 คดิ เหน็ การตอบคำถาม คนอนื่ มอบหมาย 1 4321 2 4321 4321 4321 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 เกณฑ์การวดั ผล ให้คะแนนระดบั คุณภาพของแต่ละพฤติกรรมดังนี้ 1. ดีมาก = 4 สนใจฟงั ไมห่ ลบั ไม่พูดคุยในช้ัน มีคำถาม ตอบคำถามถูก ทำงานส่งตามเวลา 2. ดี = 3 พฤติกรรมการแสดงออกอยูใ่ นเกณฑ์ประมาณ 70% 3. ปานกลาง = 2 พฤติกรรมการแสดงออกอยู่ในเกณฑ์ประมาณ 50% 4. ปรบั ปรุง = 1 เขา้ ชั้นเรียน แต่การแสดงออกน้อยมาก ส่งงานไม่ครบ ส่งงานไม่ตรงเวลา ลงชื่อ ....................................ผ้สู งั เกต (..........................................) .........../................/............

277 แบบสังเกตพฤตกิ รรมการเขา้ รว่ มกิจกรรมกล่มุ รหัสวชิ า 20104-2118 วชิ า หนุ่ ยนต์เบอื้ งตน้ ช้ัน ปวช.3 สาขาวิชา/สาขางาน ช่างไฟฟ้ากำลงั กลมุ่ .......... ภาคเรียนท่ี 2 ปีการศึกษา 2564 สอนครั้งท.่ี ................วันท่.ี ................................................... คำชีแ้ จง ใหท้ ำเครอ่ื งหมาย ✓ และ หากนกั เรียนมพี ฤตกิ รรมนน้ั ลงในชอ่ งรายการ พฤตกิ รรม ที่ รหสั ช่ือ-นามสกลุ ความร่วมมือ การแบง่ หน้าที่ การรบั ฟงั ความ การตงั้ ใจทำงาน ทำงานตามท่ี รวม ในกลุ่ม คิดเหน็ มอบหมาย 43214321432143214321 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 เกณฑ์การวดั ผล ให้คะแนนระดับคุณภาพของแตล่ ะพฤติกรรมดงั นี้ หรือปฏิบตั ิบอ่ ยครง้ั 1. ดมี าก = 4 ประสทิ ธิภาพอยู่ในเกณฑ์ 90 - 100% หรอื ปฏบิ ัติบางคร้ัง 2. ดี = 3 ประสทิ ธิภาพอยูใ่ นเกณฑ์ 70 - 89% หรือปฏิบัติครงั้ เดยี ว 3. ปานกลาง = 2 ประสิทธิภาพอย่ใู นเกณฑ์ 50 - 69% หรอื ไมป่ ฏิบตั ิเลย 4. ปรบั ปรุง = 1 ประสิทธภิ าพอยู่ในเกณฑ์ 50% ลงช่ือ .....................................ผู้สงั เกต (..........................................) .........../................/...........

278 แบบประเมินการนำเสนอผลงานรายบุคคล รหัสวชิ า 20104-2118 วิชา หุ่นยนต์เบ้ืองตน้ ช้ัน ปวช.3 สาขาวิชา/สาขางาน ชา่ งไฟฟา้ กำลัง กลุ่ม.......... ภาคเรยี นที่ 2 ปกี ารศึกษา 2564 สอนคร้ังที.่ ................วนั ที.่ ................................................... บคุ ลิก มารยาท การใช้ วธิ กี าร เน้อื หาที่ รวม การแต่ง ในการพูด ภาษา นำเสนอ นำเสนอ ที่ รหัส ชอ่ื -ชื่อสกุล กาย 10 10 10 10 10 50 ขอ้ เสนอแนะเพิม่ เติม …………………………………………………………………………………………………………………………………………………… เกณฑผ์ ่าน 25 คะแนน เกณฑ์การสังเกต บคุ ลกิ การแตง่ กาย : มคี วามเชือ่ มน่ั ในตนเอง แต่งกายสะอาด ถูกระเบยี บ เสอ้ื ไม่หลุดลุ่ย ลอยชาย มารยาทในการพดู : มองหน้าและสบตาผ้ฟู ัง ไมเ่ หนบ็ แนม เสียดสผี อู้ ืน่ การใช้ภาษา : ชัดเจน ตามหลักภาษา ตวั ร ล คำควบกลำ้ ถอ้ ยคำขอ้ ความสุภาพ วธิ ีการนำเสนอ : นา่ สนใจหลากหลาย เชน่ ใช้แผ่นใส รูปภาพ ต้งั คำถาม เลน่ เกม ไมเ่ ยิน่ เย้อ เน้ือหาทนี่ ำเสนอ : มีสาระสำคัญ ตรงกับหัวข้อเร่ือง ใช้เวลาตามที่กำหนด คะแนนอยูใ่ นดุลยพินิจของผู้ประเมินกำหนด ลงช่ือ……………………………….ผปู้ ระเมิน (……………………………….) …………/…………/………..

279 แบบประเมินคุณธรรม จรยิ ธรรม ตามคณุ ลกั ษณะอันพึงประสงคข์ องผเู้ รียนวทิ ยาลยั เทคนิคลพบรุ ี แผนกวชิ าช่างไฟฟ้ากำลัง ระดับ ปวช.3 ภาคเรียนท่ี 2 ปีการศึกษา 2564 คะแนน คุณลักษณะอันพึงประสงค์ วชิ า หุ่นยนต์เบ้ืองต้น ความรับผิดชอบ รวม 1. ความรับผิดชอบ ความมีระเบียบวิ ันย รหัสวชิ า 20104-2118 ความข ัยนหม่ันเพียร4 4 4 4 4 20 1) เตรียมความพรอ้ มในการเรียนและปฏิบตั ิงาน ความ ื่ซอ ัสต ์ย จำนวน 4 คาบ 2 หน่วยกติ ความสุภาพและ ีม ้นำใจ 2) ปฏบิ ตั งิ านดว้ ยความละเอียดรอบคอบ ลำดับ รหสั ประจำตวั ชือ่ -สกุล 3) ปฏบิ ตั งิ านทไ่ี ดร้ ับมอบหมายเสร็จตามที่กำหนด 5831040151 4) ปฏิบัติงานโดยคำนงึ ถึงความปลอดภัย 5831040152 5831040153 2. ความมีระเบยี บวนิ ยั 5831040154 1) แตง่ กายถูกต้องตามระเบียบ 5831040156 2) ตรงต่อเวลา 3) รักษาสาธารณสมบตั ิ 4) ปฏบิ ัตติ ามกฏระเบียบของวิทยาลยั 3. ความขยนั หมนั่ เพยี ร 1) ตั้งใจปฏบิ ัติงานอยา่ งจริงจัง 2) มีความพยายามไม่ท้อถอย 3) พยายามทำงานอย่างตอ่ เนอื่ ง 4. ความซอ่ื สัตย์ 1) พูดความจรงิ 5831040157 2) ไม่คดั ลอกงานผอู้ ืน่ 5831040158 3) ไมท่ ุจริตในการสอบ 5831040159 4) ไม่ลกั ขโมย 5831040160 5. ความสภุ าพและมีนำ้ ใจ 5831040161 1) มีมารยาททางสังคมท่ีเหมาะสม 5831040162 2) ไมก่ ้าวร้าวรนุ แรง 5831040163 3) อาสาชว่ ยเหลอื ผ้อู น่ื 5831040165 4) รจู้ กั แบง่ ปนั เกณฑ์การให้คะแนน 4 = ดีมาก ลงช่ือ…………………………………………. ลงชื่อ………………………………………… 3 = ดี ( นายประภาส พุ่มพวง ) ( นายอภัย สุดจติ ร ) 2 = พอใช้ อาจารย์ประจำวิชา หวั หน้าแผนกวชิ า 1 = ควรปรบั ปรงุ ……………/………………/…………….. ……………/………………/…………….. หมายเหตุ 1. คะแนนคุณธรรมจริยธรรมใหป้ ระเมิน ภาคเรยี นละ 1 คร้งั 2. แบบประเมินน้ี ใหแ้ นบมากบั แบบบันทกึ เวลาเรียนและการประเมินผลการเรยี นส่งงานวัดผลฯ เมื่อสิ้นภาคเรยี น


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook