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 เรียนรู้หุ่นยนต์ด้วย Rapbit32

เรียนรู้หุ่นยนต์ด้วย Rapbit32

Published by nattapatboss123, 2021-09-24 07:25:50

Description: เรียนรู้หุ่นยนต์ด้วย Rapbit32

Search

Read the Text Version

บทท่ี 5 การใช้งาน OUTPUT 51 Output ทห่ี มายถงึ นี้คอื 1. Buzzer (ลาโพง) 2.หลอด LED (ไฟเล้ยี ว) 3.Servo Motor 4.Neopixel (ไฟใต้ท้อง) 0

บทท่ี 5 การใช้งาน OUTPUT 1. Buzzer คือ อปุ กรณ์ชนิดหนึง่ ทส่ี ามารถกาเนิดเสียงโดยใชส้ ัญญาณไฟฟา้ เข้ามาควบคุม Buzzer ทีใ่ ช้ในหุ่นยนต์ Rapbit32 นน้ั เปน็ แบบ Active (มีแแหล่งกาเนิดเสยี งภายในตัว) โดยคาส่ังควบคุม Buzzer มดี งั นี้ ใช้งาน Buzzer ให้เปดิ 0 สวติ ชไ์ ฟเล้ียงกนั ด้วยนา๊ 52

บทที่ 5 การใช้งาน OUTPUT 2. หลอด LED คอื ไดโอดเปร่งแสง เป็นอปุ กรณ์มสี ารกึ่งตัวนาชนิด N และ P เม่ือมีกระแสไฟฟา้ ไหลผา่ นจะทาให้สารกึ่งตัวนา นั้นมีการเปร่งแสงออกมา โดยในตัวหุ่นยนต์ Rapbit32 จะมีหลอด LED อย่ดู า้ นหนา้ ทาหนา้ ท่เี หมือนไฟเลี้ยว เราสามารถส่งั งานLED ได้โดย คาสั่งดงั น้ี 0 53

บทท่ี 5 การใชง้ าน OUTPUT 3. Servo คือ Motor ที่มี วงจรควบคมุ ตาแหนง่ โดยจะสามารถควบคมุ ตาแหนง่ ได้ตงั้ แต่ 0 - 180 องศา โปรแกรมในการทดสอบการทางาน 54 0 ของเซอโวมอเตอร์

บทท่ี 5 การใช้งาน OUTPUT 4. Neopixel หรอื หลอดไฟทม่ี หี ลอดสี R (Red แดง) G (Green เขยี ว) B (Blue น้าเงนิ ) ทส่ี ามารถผสมสไี ด้ 16ลา้ นเฉดสี โดยภายในหนุ่ ยนต์ Rapbit32 นัน้ มีอยู่ 4 หลอด อยู่ที่ตาแหนง่ ดงั น้ี คาสั่งการใชง้ าน Neopixel 55

บทที่ 6 การประยุกตใ์ ช้งานอปุ กรณ์ของ Rapbit32 ถา้ มาถงึ ตรงนแี้ ลว้ หลาย ๆคนต้องรูจ้ กั การใช้งานอปุ กรณ์ภายในหุ่นยนต์หมดแล้ว ต่อไปคอื การประยุกตใ์ ชอ้ ปุ กรณ์กัน เรมิ่ จากการเรียบเรยี งการทางานของโปรแกรม หรือลาดบั ขั้นในการเขยี นโปรแกรม โดยการสรา้ งแผนภาพ Flow chart นน้ั เอง Flow chart คือแผนภาพแสดงลาดับข้ันตอนการทางานของโปรแกรม การเขยี นเพ่อื ให้เห็นข้ันตอนการทางานและวางแผนการ ทางาน เปรียบเหมอื นกับ พมิ เขียว ของบา้ นนั้นเอง ซง่ึ ลาดบั และความสาคัญถูกออกแบบเป็นสัญลักษณ์ต่าง ๆดงั น้ี 0 56

บทท่ี 6 การประยกุ ตใ์ ช้งานอปุ กรณ์ของ Rapbit32 ไปดูตวั อยา่ งการใชง้ านกนั ดกี ว่า 0 Cr. https://sites.google.com/site/kroohut 57

บทท่ี 6 การประยกุ ตใ์ ช้งานอุปกรณ์ของ Rapbit32 มองจากรูปภาพก็ยังไมเ่ ข้าใจ ถา้ งัน้ ลอง เรม่ิ ตน้ มาดกู ารประยุกย์ใช้ในชีวติ ประจาวัน ตวั อย่าง อณุ หภมู เิ กนิ ไม่เกนิ 37 องศา คนเราเมื่ออณุ หภมู เิ กิน 37 องศา แสดง ไปเดนิ หา้ ง วา่ เปน็ ไข้ เมอื่ เป็นไข้ก็จะต้องไปหาหมอ เกนิ 37องศา แต่ถา้ ไมเ่ กนิ กไ็ ปเท่ียวห้าง 58 ไปหาหมอ ไปดแู ผนภาพกนั เลย จบภารกจิ 0

บทท่ี 6 การประยุกต์ใชง้ านอุปกรณ์ของ Rapbit32 ลองปรับใชก้ ับหุน่ ยนต์ของเราให้เห็น เรมิ่ ตน้ ภาพแล้วจับต้องได้ดกี วา่ น้นั ก็คอื ทาหุน่ ยนตเ์ ดินหน้าจนกว่าจะเจอวัตถุ เจอสงิ่ กดี ไม่เจอ ขวางทางแลว้ หยุด ขวาง เดนิ ตรง เรยี งลาดบั โปรแกรมยงั ไงหละไปดกู ัน เจอสงิ่ กดี ขวาง (ระยะห่างนอ้ ยกวา่ 10 cm) หยดุ จบโปรแกรม 0 59

บทที่ 6 การประยุกต์ใช้งานอปุ กรณข์ อง Rapbit32 จาก Flow chart จะเหน็ วา่ โปรแกรมน้นั จะมีการเปรียบเทียบเงื่อนไข แตท่ นี่ ้ีก็เจอปัญหา ว่า เรายังเขียนโปรแกรมในการเปรยี บเทียบไมเ่ ป็นเลย เมอื่ เกิดการเปรียบเทียบจะมาพร้อมกบั คาว่า ถ้า, หรือถา้ , นอกเหนือจากนน้ั ยกตวั อยา่ งเชน่ ถ้า (if) เวลา เทา่ กับ 8 โมงเชา้ จะตอ้ งทา(do) ใหอ้ าหารปลา หรอื ถา้ (else if) เวลา เกนิ 8โมงเชา้ จะต้อง ทา(do) ให้อาหารปลาตอนเทย่ี ง 2 เท่า โดยเขยี นโปรแกรมได้ดงั นี้ 0 60

บทที่ 6 การประยกุ ต์ใชง้ านอุปกรณ์ของ Rapbit32 ลงลกึ เข้าไปในฟงั กช์ ัน้ If-else ฟังก์ชน้ั If คอื การเปรยี บเทยี บ นิพจน์ หรือ เงอ่ื นไข เมื่อผล เป็นจรงิ จะเลอื กทาตามท่ี กาหนดไว้ ยกตัวอยา่ งคอื เมอ่ื เงอ่ื นไขน้ีเป็นจรงิ โปรแกรมจะทางานในสว่ นคาวา่ do ถา้ อยากเพม่ิ เงอ่ื นไขในการตรวจสอบ นัน้ คือกดไปท่ี รูปเฟอื งสฟี ้าแล้วเลือกเง่ือนไขในการตรวจสอบเพ่มิ เติ่ม เชน่ else if และ else 0 61

บทที่ 6 การประยกุ ต์ใช้งานอปุ กรณข์ อง Rapbit32 การเพิ่มเงือ่ นไข แต่ทนี ้ี คาว่า else if และ else นน้ั เราจะเลือกอะไร มาดคู วามหมายกันดีกว่า คาวา่ if (ถา้ ) คอื การเปรียบเทยี บเงอ่ื นไขแรก คาว่า else if (หรอื ถา้ ) จะมีคานไ้ี ด้ก็ต่อเมือ่ มีการเปรียบเทยี บมากกวา่ 1 เง่ือนไข นั้นเอง เมอื่ ฟงั กช์ นั้ if ไมเ่ ป็นจริงจะกระโดดมาทฟี่ งั ก์ชนั้ ตอ่ ไปนน้ั กค็ ือ else if นัน้ เอง แล้วคาวา่ else หละ คาวา่ else (นอกเหนือจากนน้ั ) เมื่อมีเง่ือนไขหลาย ๆอันแล้ว แตเ่ รายงั เขียนไม่ ครอบคุม หรอื ไม่อยากไปยงุ่ กบั เงือนไขอีกแลว้ เราจะใชฟ้ งั กช์ ้ัน else ปิดการ เปรียบเทียบเงอื่ นไขไปเอง เม่ือไมเ่ จอเงอ่ื นไขจากท้งั 0 if และ else if ก็จะกระโดด เข้าฟังกช์ ั้น else นั้นเอง 62

บทที่ 6 การประยุกตใ์ ช้งานอปุ กรณข์ อง Rapbit32 ไปดูตัวอย่างการทางานของ If , else if , else 0 63

บทท่ี 6 การประยุกต์ใช้งานอปุ กรณ์ของ Rapbit32 นา Flow มาเขยี นโปรแกรมสง่ั งานห่นุ ยนต์ เรมิ่ ตน้ เจอสงิ่ กดี ไม่เจอ เดนิ ตรง ขวาง เจอสงิ่ กดี ขวาง หยดุ (ระยะหา่ งนอ้ ย กวา่ 10 cm) จบ โปรแกรม 0 64

บทท่ี 7 การเขียนหุน่ ยนต์เดินตามเสน้ ทาง ก่อนทีจ่ ะเขียนโปรแกรมการควบคุมห่นุ ยนต์นน้ั เราจะต้องรูส้ ่ิงทหี่ ุ่นยนต์จะเจอกอ่ นดงั ตัวอยา่ ง 3 1 1 12 1 2 65 ถ้ามองภาพยงั ไม่ออกมาดกู รณที จ่ี ะเกิดข้นึ เปน็ รปู แบบตารางควบคู่ไปด้วย

บทที่ 7 การเขยี นหนุ่ ยนต์เดินตามเสน้ ทาง จะสงั เกตไุ ด้ว่าเม่อื Sensor ดา้ น ไหนเจอเส้นสดี า ด้านนั้นจะตอ้ ง ตารางแสดงกรณีที่ห่นุ ยนจะเจอเมื่อเขียนโปรแกรมเดนิ ตามเสน้ เลยี้ วไปด้านเดียวกัน เลยทาให้เราสรปุ ได้ว่า ถา้ Sensor ฝั่งไหนเจอเส้นสีดา ใหเ้ ลย้ี วฝง่ั นั้น นอกเหนอื จากนน้ั ใหห้ ่นุ ยนต์วิ่งตรง 66

บทท่ี 7 การเขียนห่นุ ยนตเ์ ดินตามเส้นทาง ในการแยกระหวา่ ง เสน้ สีดา กับพืน้ สีขาว นั้นจะตอ้ งมคี า่ ค่าหน่งึ ทจี่ ะตอ้ งแบ่งระหว่าง สีขาวและสีดาได้ คา่ ที่สว่ นมากจะใชก้ นั คอื ค่าเฉล่ยี ค่าเฉลยี่ คอื การนาคา่ ทัง้ หมดมารวมกนั และ หารดว้ ยจานวนข้อมูล ยกตัวอย่าง มีตวั เลขจานวน 2 ตวั คอื 1 กับ 9 เรากน็ าตวั เลข 1 + 9 แลว้ หารด้วย 2 = 5 ทีน่ นี้ ามาประยกุ ต์เขา้ กับการแยกเส้นสีดากบั พื้นสขี าว ออกมาเปน็ คา่ ในตารางดังนี้ พน้ื สขี าว เสน้ สดี า คา่ เฉลย่ี Light 1 980 220 (980+220) = 600 67 Light 2 970 230 (970+230) = 600 Light 3 990 210 (990+210) = 600

บทที่ 7 การเขียนหุ่นยนต์เดนิ ตามเส้นทาง ถา้ Sensor ฝ่งั ไหนเจอเสน้ สีดาให้ เรม่ิ ตน้ เลี้ยวฝ่ังน้นั นอกเหนอื จากน้ัน Sensor ดา้ น Sensor ดา้ นขา้ งเจอเสน้ สดี า ให้ห่นุ ยนต์วง่ิ ตรง ไหนเจอเสน้ สี ใหเ้ ลย้ี วดา้ นนนั้ นาจากคาสรปุ มาเขยี นโปร Flow chart จะได้ดงั นี้ ดา ถา้ ไม่เจอเสน้ ดา หนุ่ ยนตว์ งิ่ ตรง 0 จบโปรแกรม 68

บทท่ี 7 การเขียนหนุ่ ยนต์เดินตามเส้นทาง นา Flow chart มาเขยี นเปน็ รปู แบบโปรแกรม ผลทไี่ ดจ้ ะเป็ นดงั นี้ 69

บทที่ 7 การเขียนห่นุ ยนต์เดินตามเส้นทาง หากทดลองใชง้ านแลว้ ยังไมเ่ ขา้ ใจสามารถเขา้ ไปดูตัวอยา่ งได้ท่ี 70

เจา้ บอรด์ Rapbit32 ยงั มีความสามารถอีกเยอะมาก ๆ ตวั อยา่ งเช่น หุ่นยนต์บังคับดว้ ย Smart phone (Blynk) หนุ่ ยนตท์ าภารกิจ (ใส่มอื จบั ) หนุ่ ยนตเ์ ดนิ หนแี สง หนุ่ ยนตห์ ลบหลีกสงิ่ กดี ขวาง ท่ยี ังไมท่ าออกมาคือจะตอ้ งอธบิ ายให้ละเอยี ดมาก ๆจึงไมเ่ หมาะตอ่ การดสู ไลคน์ ้เี พียงอยา่ ง เดียวจงึ จะต้องทาคลปิ วิดโี อการสอนแยกเจาะจงไปเฉพาะแต่ละรปู แบบ (อนาคต หนุ่ ยนต์ Rapbit32 จะสามารถเขยี นภาษา Python ได้ด้วย) 71

รปู แบบของอปุ กรณเ์ สรมิ ของเจา้ Rapbit32 72


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