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 วิชาIS ของคุณครูดำรงค์

วิชาIS ของคุณครูดำรงค์

Published by bantitayasaeng59, 2021-09-22 06:49:54

Description: โครงงานสเปรย์สมุนไพรปรับอากาศ

Search

Read the Text Version

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

เนือ้ หา สารบญั รูจ้ ักกับห่นุ ยนต์ การตดิ ตั้งโปรแกรม KBIDE หน้า บทที่ 1 3-9 บทท่ี 2 10-18 บทท่ี 3 19-25 บทที่ 4 26-38 บทท่ี 5 39-41 บทท่ี 6 42-50 บทที่ 7 51-55 56-64 65-70

รจู้ กั กบั หุ่นยนต์ หนุ่ ยนต์คอื อะไร ??? หนุ่ ยนต์คือ เครอ่ื งจกั รกลชนิดหนึ่งท่ีมีการเขียนหรอื ถกู ควบคุมโดยโปรแกรม โดยทางานตา่ ง ๆตามภารกิจ หรือหนา้ ที่ที่ไดร้ บั มอบหมาย หุ่นยนต์ประกอบไปด้วย 3 ศาสตร์ คือ เครื่องกล ไฟฟา้ และคอมพิวเตอร์ ห่นุ ยนต์ถกู แบง่ เป็น 2 ประเภทหลกั ๆ คือ 1 หุ่นยนตอ์ ยูก่ ับท่ี 2.หุ่นยนตเ์ คลอ่ื นทไ่ี ด้ 3

ร้จู กั กับหุ่นยนต์ มาลองเปรยี บเทียบส่งิ ท่เี หมอื นกนั ประเภท คน หนุ่ ยนต์ การมองเหน็ ตา กลอ้ ง การเคลอ่ื นท่ี ขา แขน มอเตอร์ การประมวลผล สมอง พลงั งาน อาหาร CPU,Microcontroller แบตเตอรร์ ่ี 4

Rapbit32 คอื อะไร Rapbit32 คอื หุน่ ยนตท์ ช่ี ว่ ยในการเริ่มตน้ การเรียนรู้การเขยี นโปรแกรมควบคมุ หนุ่ ยนต์ขน้ึ พน้ื ฐาน โดยมลี ักษณะ คลา้ ยรถเพ่อื ให้ดนู า่ เรียนรู้ โดยจะถกู ควบคมุ ดว้ ยบอร์ด Microcontroller ทช่ี ่อื ว่า ESP32 ทส่ี ามารถเขยี น โปรแกรมควบคมุ ได้ตง้ั แต่ Block programming ทีเ่ หมาะสาหรับเดก็ เริม่ ตน้ การเรยี นรพู้ น้ื ฐานโปรแกรม ไปจนถึง ภาษา Python ทจ่ี ะทาใหม้ ีพ้นื ฐานในการประยกุ ตส์ าหรบั การเรียนรใู้ นอนาคต ซึ่งสามารถนาเจ้า Rapbit32 ไปทา หุน่ ยนตไ์ ด้หลากหลาย ตงั้ แตห่ ุ่นยนตห์ ลบหลกี ส่งิ กดี ขวา้ ง หนุ่ ยนต์เดินตามเส้น หนุ่ ยนตเ์ ดนิ ตามแสง และสามารถ ควบคมุ ไดจ้ าก Smart Phone เพื่อทารถบังคบั ได้อกี ดว้ ย 5

สว่ นประกอบของหุ่นยนต์ Rapbit32 6 1. Microcontroller >> ESP32 สามารถเช่อื มต่อ Wifi Bluetooth ได้ในตวั 2. Motor 2 ตัว ชนิด N20 6v 300RPM 3. รับไฟเลยี้ งบอร์ดตงั้ แต่ 5 - 10 V 4. ขนาด กว้าง 10 cm ยาว 10 cm 5. จอแสดงผล OLED ขนาด 0.91 นิ้ว ความละเอียด 128*64 pixel 6. เซนเซอร์วดั ระยะทาง 3-40 cm (HC-SR04) 7. เซนเซอรจ์ บั เสน้ 3 ตวั 8. LDR เซนเซอร์จบั ความเข้มแสง 2 ตวั 9. หลอดไฟ LED 2 ตัว ซ้าย ขวา (ไฟเลี้ยว) 10. ตัวรับ รโี มท (IR Remote) 2 ตัว 11. ช่องตอ่ Servo Motor 2 ชอ่ ง 12. Buzzer ลาโพง 1 ตัว 13. ปุ่มกด (Switch 1 ) 1 ตัว

สว่ นประกอบ Rapbit32 ด้านบน 7

สว่ นประกอบ Rapbit32 ด้านลา่ ง 8

โดยโปรแกรมทเ่ี ราจะใชค้ ือ KBIDE ทาไมตอ้ งใชโ้ ปรแกรม KBIDE นน่ั เพราะวา่ เปน็ โปรแกรมทม่ี ฟี งั กช์ ั้นการเขียนการควบคมุ แบบ Block programming ไปจนถงึ Coding ได้เลย ทาให้สามารถใช้งานต้ังแต่เด็กเล็กไปจนถงึ ผูใ้ หญไ่ ดเ้ ลย ซึ่งจบใน โปรแกรมเดียวไม่ต้องเปลย่ี น โปรแกรมบอ่ ย ๆ และท่สี าคัญคือเป็นโปรแกรมทพ่ี ฒั นาขึ้นมาโดยคนไทยซงึ่ ทีม ทพี่ ฒั นาขนึ้ มากค็ อื Makerasia น่ันเอง 9

มาตดิ ต้งั โปรแกรม KB-IDE https://kbide.org/ 10

มาติดต้ังโปรแกรม KB-IDE (ตอ่ ) 2.พอโหลดเสร็จกจ็ ะไดต้ วั โปรแกรมสาหรบั ตดิ ตง้ั มาให้ จากนั้นก็กดเพ่ือติดต้งั 1.เลอื กโหลดตาม WinDows ของเรา 3.ติดตัง้ เหมอื นโปรแกรม เชน่ Win 10 64bit กเ็ ลือก Win64.exe ธรรมดาได้เลย 11

ติดต้งั ไดรเ์ วอรใ์ หก้ ับบอร์ดกนั ก่อน อาจจะเบอื่ ๆ หน่อยนะ อดทนหนอ่ ย ฮบึ !!! https://www.pololu.com/file/0J14/pololu-cp2102-windows-121204.zip 1. จมิ้ ๆ ลิง้ กข์ ้างบนเลย 2. พอกดปบุ๊ จะขน้ึ คลา้ ย ๆดังรปู 12

ติดตงั้ ไดร์เวอรใ์ หก้ บั บอรด์ (ตอ่ ) 3. เปิดไฟลท์ โ่ี หลดมาจะได้ดังรูป 4. จากน้นั กต็ ิดต้งั Next ๆๆๆๆ 5. สดุ ทา้ ยก็ Finish 13 จะเหน็ รูปเคร่อื งหมายถูก

ก่อนท่ีจะอพั โปรแกรม จะตอ้ งตรวจสอบ Port การเชื่อมตอ่ กนั ก่อนนะครบั (อยา่ ลืมเสียบสาย USB กับหุ่นยนต)์ รปู น้ีเชอ่ื มต่อหุน่ ยนตท์ ่ีชอ่ ง COM20 14

มาดูหนา้ ตาโปรแกรมและเครื่องมือตา่ งๆ 15

ตดิ ตง้ั บอร์ดใสโ่ ปรแกรม KBIDE 1. Download บอรด์ Rapbit32 2. Rafresh โปรแกรมและเข้าไป Board Manager ใหม่ เพื่อเลอื กบอร์ด 16

วธิ ี Download โปรแกรมลงไปยงั ห่นุ ยนต์ Rapbit32 รอสกั พกั ก็เสรจ็ เรียบรอ้ ย 17

การทางานของ โปรแกรม KBIDE เมือ่ เลอื กบอรด์ เสร็จแล้ว ก็จะมีคาสงั่ หรอื ฟงั ก์ชนั้ หลัก ๆ ขนึ้ มานน้ั ก็คอื วา่ Setup และ Loop แลว้ ท้งั 2 แตกตา่ งกันยงั ไง มาดกู นั 18 Function: Setup เมอื่ บอร์ดทางาน จะเขา้ ฟงั ก์ช้นั นีท้ ันทีและจะทางานเพียงรอบเดียว Function: Loop หลังจาก ผา่ นฟังกช์ น้ั Setup มาแล้วกจ็ ะเขา้ Loop ทันทแี ละวนอยู่ไปเรื่อยๆ

บทท่ี 1 เรยี นรู้การใช้งานจอ OLED จอ Organic light-emitting diode (OLED) คือไดโอดเปล่งแสง (LED) ที่ถกู ออกแบบเปน็ ฟิลม์ แผ่นบางๆ ซ่งึ มี organic compound เพอ่ื ทาปฏิกริ ยิ าคล้ายกันกบั ทีอ่ ุปกรณส์ ง่ แสงแบบ LED เมด็ เหลยี่ มๆ ท้งั หลายน่นั เอง ซึง่ จอทเ่ี ราใช้มขี นาด 128*64 pixel ตาแหน่ง แกน x โดยเราสามารถเลอื กตาแหนง่ ในการแสดงผลได้ x=0 , y=0 ซง่ึ การกาหนดตาแหน่ง แบ่งออกเป็นแกน X และแกน Y โดยทแ่ี กน X มีความกวา้ งอยู่ท่ี 128 แกน y โดยท่ีแกน Y มคี วามกวา้ งอยู่ท่ี 64 19

บทท่ี 1 เรยี นร้กู ารใช้งานจอ OLED คาสั่งของเมนู Display (บางสว่ น) 20

บทที่ 1 เรียนรกู้ ารใช้งานจอ OLED มาดูฟงั กช์ ั้น Display Text ว่าคอื ฟงั ก์ชน้ั อะไร แล้วตัง้ ค่าตา่ ง ๆยงั ไง ตวั หนงั สอื หรอื ขอ้ มูล ตาแหน่งเรมิ่ ต้นที่ ตาแหนง่ เรม่ิ ตน้ ท่ี ขนาดของตวั หนังสอื ทใ่ี ช้ ทอ่ี ยากจะแสดงผล แกน X แกน Y แสดงผล 21

บทท่ี 1 เรยี นรู้การใชง้ านจอ OLED Void Setup() - แสดงคาวา่ “Hi !!” ทตี่ าแหน่ง X = 40 , Y = 0 ดว้ ย Font ขนาด 24pt - แสดงคาว่า “I am Rapbit32” ท่ีตาแหน่ง X = 40 , Y = 0 ด้วย Font ขนาด 16pt - แสดงผลไปที่หนา้ จอ Void Loop() - 22

บทที่ 1 เรียนร้กู ารใชง้ านจอ OLED Void Setup() -เคลยี หน้าจอก่อนแสดงผล คาสั่งแสดงผลทจี่ ะต้องแสดงแบบต่อเนือ่ ง ยกตวั อยา่ งคืออา่ น Knob (ที่หมุน ๆ) - แสดงคาวา่ “Knob:” ที่ตาแหนง่ X = 30 , Y = 0 เม่อื ใช้การแสดงผลภายในฟงั ก์ชน้ั Loop น้ัน ดว้ ย Font ขนาด 24pt ก่อนท่ีจะแสดงผลใหมต่ ้องเคลยี หนา้ จอเสมอ - แสดงตัวเลขทีอ่ า่ นไดจ้ าก Sensor Knob() ท่ีตาแหนง่ X = 30 , Y = 30 ด้วย Font ขนาด 24pt - แสดงผลไปทห่ี นา้ จอ - หน่วงเวลา หรอื รอเปน็ เวลา 0.05 วินาที Void Loop() - 23

แบบทดสอบบทท่ี 1 แบบทดสอบ ให้เขยี นโปรแกรมตาม เงอ่ื นไขตอ่ ไปนี้ ใหน้ ักเรียนเขียนโปรแกรมแสดงชอื่ และ ช้ัน ของสมาชกิ ในกลมุ่ แสดงผลผ่านหน้าจอ OLED 24

บทท่ี 1 เรียนรู้การใชง้ านจอ OLED การใชง้ าน Delay หรือเรียกกวา่ การหนว่ งเวลา/รอเปน็ เวลา เมอื่ มคี าสงั่ กอ่ นหนา้ เช่น แสดงผลหน้าจอ OLED กจ็ ะแสดงผลจนกว่าจะถงึ เวลา เชน่ 1 วินาที แลว้ คอ่ ยไปทาคาสั่งถดั ไป เปรยี บเทยี บเวลา 1 Milli second 0.001 วนิ าที 100 Milli second 0.1 วนิ าที 1,000 Milli second 1 วนิ าที 1 นาที 60 วนิ าที ( 60 * 1,000 = 60,000) 1 ชวั ่ โมง 60 นาที ( 60 * 60 * 1,000 = 3,600,000 milli second) 25

บทที่ 2 เรียนรูก้ ารใชง้ าน Motor Motor ทหี่ นุ่ ยนต์ Rapbit32 ใชน้ นั้ คอื มอเตอรก์ ระแสตรงหรอื D.C Motor มอเตอรไ์ ฟฟ้ากระแสตรง (Direct current motor) หรอื เรียกว่า ดี.ซี มอเตอร์ (D.C. MOTOR) เปน็ เคร่อื งกลไฟฟ้ากระแสตรงทเ่ี ปลีย่ นพลังงานไฟฟ้าเปน็ พลงั งานกล หลกั การทางานของมอเตอรไ์ ฟฟา้ กระแสตรง (Direct current motor) เมื่อแรงดันไฟฟา้ กระแสตรงเขา้ ไปในมอเตอร์ ส่วนหนง่ึ จะ แปรงถา่ นผ่านคอมมิว เตเตอร์เข้าไปในขดลวดอาร์มาเจอร์สร้างสนามแมเ่ หล็กข้ึน และกระแสไฟฟ้าอกี สว่ นหนึ่งจะไหลเขา้ ไปในขดลวดสนามแมเ่ หล็ก (Field coil) สรา้ งขั้ว เหนอื -ใต้ขึ้น จนเกิดสนามแมเ่ หล็ก 2 สนาม ในขณะเดียวกันตามคุณสมบตั ขิ องเสน้ แรง แม่เหลก็ จะไม่ตดั กัน ทิศทางตรงข้ามจะหกั ล้างกนั และทิศทางเดียว จะเสรมิ แรงกัน ทาใหเ้ กดิ แรงบิดในตวั อาร์มาเจอร์ ทาใหอ้ าร์มาเจอรน์ ี้หมุนได้ อารเ์ มจอร์ที่หมุนน้ีเรยี กว่า โรเตอร์ (Rotor) ทมี่ า https://industrypro.co.th/a-c-motor-vs-d-c-motor/ 26

บทที่ 2 เรียนรกู้ ารใชง้ าน Motor คาส่ังในการควบคุม มอเตอร์ ในหุ่นยนต์ Rapbit32 27

บทที่ 2 เรยี นรกู้ ารใช้งาน Motor ก่อนจะใช้งาน Motor นัน้ จะต้องรจู้ ักฟงั ก์ชน้ั SW1_Press คอื ทาหน้าที เม่อื เปดิ ห่นุ ยนต์ข้นึ มา จะรอจนกว่าเราจะกดทีป่ ุ่ม SW1 นั้นเอง แล้วจะต้องใส่ในฟงั กช์ ัน้ Setup เทา่ นนั้ 28

บทท่ี 2 เรยี นรู้การใช้งาน Motor ลองทดสอบการเขียนโปรแกรมควบคมุ ห่นุ ยนตอ์ ยา่ งง่ายกนั กอ่ นดีกวา่ เคลอ่ื นทไี่ ปดา้ นหนา้ เป็ นเวลา 1 วนิ าที หยดุ (Stop) เรมิ่ ตน้ (Start) void Setup() เริ่มตน้ - หนุ่ ยนตเ์ คล่ือนทไี่ ปด้านหนา้ ด้วยความเร็ว 50 % - รอเปน็ เวลา 1 วินาที - หยุดการเคลือ่ นที่ ท้ังหมด Void Loop() - 29

บทที่ 2 เรยี นรู้การใช้งาน Motor ลองทดสอบการเขยี นโปรแกรมควบคุมหุ่นยนต์อย่างงา่ ยกนั ก่อนดกี ว่า เคลอ่ื นทไี่ ปถอยหลงั เป็ นเวลา 2 วนิ าที หยดุ (Stop) เรมิ่ ตน้ (Start) void Setup() เร่มิ ต้น 30 - ห่นุ ยนต์เคลือ่ นที่ไปถอยหลัง ดว้ ยความเรว็ 50 % - รอเปน็ เวลา 1 วินาที - หยดุ การเคล่อื นที่ ทงั้ หมด Void Loop() -

บทที่ 2 เรยี นรู้การใชง้ าน Motor หยดุ (Stop) เคล่อื นท่ี Motor Turn Left void Setup() เรมิ่ ต้น จุดหมนุ ของห่นุ ยนต์ เรมิ่ ตน้ (Start) 31 - หุน่ ยนต์เคลอื่ นทไี่ ปเล้ยี วซ้าย ด้วยความเรว็ 50 % - รอเป็นเวลา 0.5 วินาที เมอื่ เกดิ การเลี้ยวซา้ ยจะอย่ทู ่ี - หยดุ การเคลื่อนท่ี ทงั้ หมด ลอ้ ซ้ายหรือ ลอ้ ทห่ี ยุดนน้ั เอง ตามแนวเส้นสฟี ้า Void Loop() - สงั เกตุ การเคลอื่ นทขี่ องลอ้

บทที่ 2 เรยี นรู้การใชง้ าน Motor หยดุ (Stop) เคลอื่ นท่ี Motor Turn Right void Setup() เร่ิมตน้ จดุ หมนุ ของหุน่ ยนต์ เรม่ิ ตน้ (Start) 32 - หนุ่ ยนต์เคลอื่ นท่ีไปเลย้ี วขวาดว้ ยความเรว็ 50 % - รอเปน็ เวลา 0.5 วินาที เมื่อเกิดการเลีย้ วขวาจะอย่ทู ี่ - หยุดการเคลอื่ นที่ ทั้งหมด ลอ้ ขวาหรอื ลอ้ ที่หยดุ นั้นเอง ตาม แนวเส้นสฟี ้า Void Loop() - สงั เกตุ การเคลอ่ื นทขี่ องลอ้

บทท่ี 2 เรียนร้กู ารใช้งาน Motor หยดุ (Stop) เคลอื่ นที่ Motor Spin Left void Setup() เริม่ ต้น จดุ หมนุ ของหุ่นยนต์ เรมิ่ ตน้ (Start) 33 - หุน่ ยนต์เคลื่อนทไี่ ปหมนุ ซา้ ย ดว้ ยความเรว็ 30% - รอเปน็ เวลา 0.3 วินาที เมอ่ื เกิดการเลยี้ วซา้ ยจะอยทู่ ี่ - หยุดการเคล่ือนท่ี ท้ังหมด ล้อซ้ายหรอื ล้อทหี่ ยดุ นัน้ เอง ตามแนวเส้น Void Loop() สนี า้ เงิน - สงั เกตุ การเคลอ่ื นทข่ี องลอ้

บทท่ี 2 เรยี นรู้การใชง้ าน Motor หยดุ (Stop) เคลอ่ื นที่ Motor Spin Right void Setup() เริม่ ต้น จุดหมนุ ของหุ่นยนต์ เรมิ่ ตน้ (Start) 34 - หนุ่ ยนต์เคลื่อนท่ไี ปหมุนขวาด้วยความเร็ว 30% - รอเปน็ เวลา 0.3 วนิ าที เม่ือเกดิ การเลยี้ วซา้ ยจะอยทู่ ี่ - หยุดการเคลอื่ นท่ี ท้ังหมด ลอ้ ซา้ ยหรือ ล้อทหี่ ยดุ นัน้ เอง ตามแนวเส้น Void Loop() สนี ้าเงิน - สงั เกตุ การเคลอ่ื นทข่ี องลอ้

บทที่ 2 เรียนรกู้ ารใชง้ าน Motor ข้อแตกต่างของการเล้ียว (Turn และ Spin) 35

บทท่ี 2 เรียนรกู้ ารใช้งาน Motor การเขยี นควบคมุ ห่นุ ยนต์ใหเ้ ดินเป็นรูปส่เี หล่ียมดา้ นเท่า โดยใชว้ ธิ ีการเล้ยี วซ้าย 4 สเ่ี หลย่ี มดา้ นเทา่ ในการทีห่ ่นุ ยนตจ์ ะเดินเปน็ รูปสีเ่ หล่ียม นนั้ จะต้องมีคาสั่งท้ังหมดคอื 8 คาสง่ั คอื เริ่มตน้ เรมิ่ ตน้ (Start) 1. ใหห้ ุ่นยนตเ์ ดนิ หนา้ เป็นเวลา …. วนิ าที 2. ให้หนุ่ ยนตเ์ ลี้ยว หรอื หมนุ ไปด้านขวา 3. ให้หุ่นยนต์เดนิ หนา้ เปน็ เวลา …. วนิ าที 4. ให้หุ่นยนตเ์ ลย้ี ว หรอื หมนุ ไปด้านขวา 5. ใหห้ ุน่ ยนตเ์ ดินหน้าเปน็ เวลา … วนิ าที 6. ใหห้ ่นุ ยนต์เลี้ยว หรือ หมุนไปด้านขวา 7. ให้หุ่นยนตเ์ ดนิ หน้า เปน็ เวลา … วนิ าที 8. หยดุ การเคลื่อนท่ขี องหุน่ ยนต์ 36

บทท่ี 2 เรียนรู้การใชง้ าน Motor การเขยี นควบคมุ หุน่ ยนต์ให้เดนิ เป็นรูปส่ีเหลี่ยมด้านเทา่ โดยใช้วธิ กี ารเล้ยี วซา้ ย ในการที่หุ่นยนต์จะเดินเป็นรปู สี่เหล่ียม นั้นจะตอ้ งมคี าสงั่ ท้ังหมดคอื 8 คาสัง่ คือ เร่ิมตน้ 1. ใหห้ ่นุ ยนต์เดินหน้า เป็นเวลา …. วินาที 2. ใหห้ ุ่นยนตเ์ ลยี้ ว หรอื หมนุ ไปด้านขวา 3. ให้หุ่นยนต์เดินหน้า เปน็ เวลา …. วนิ าที 4. ให้หุน่ ยนตเ์ ลย้ี ว หรอื หมุนไปดา้ นขวา 5. ให้หนุ่ ยนต์เดนิ หนา้ เป็นเวลา … วินาที 6. ใหห้ ่นุ ยนตเ์ ลีย้ ว หรอื หมุนไปด้านขวา 7. ใหห้ ่นุ ยนต์เดินหน้า เป็นเวลา … วนิ าที 8. หยดุ การเคล่ือนท่ีของหนุ่ ยนต์ 37

บทท่ี 2 เรียนรกู้ ารใชง้ าน Motor จากโปรแกรมดังกลา่ ว จะเห็นไดว้ ่ายุง่ ยากและตาลายเลยใชม่ ั๊ยหละ ยง่ิ โปรแกรมซับซ่อนก็จะตอ้ งมวี ธิ กี ารเขยี นที่ดขี ึน้ ยกตัวอย่างเชน่ ให้หนุ่ ยนต์เคล่อื นทเี่ ป็นรูป หกเหลี่ยม ถา้ จะให้มานง่ั เขียนจะยาวแค่ไหน แล้วย่ิงเจอปัญหา เชน่ เลี้ยวไมไ่ ด้มมุ ที่กาหนดไว้ มานั่งไลแ่ กไ้ ขโปรแกรมมันก็ไมใ่ ช่ ใชม่ ะ วิธที ่จี ะทาให้เขียนเป็นระบบระเบยี บมากข้นึ นนั้ กค็ อื การแยกฟงั กช์ ัน้ ย่อย ๆ ออกมานั้นเอง ฟงั ก์ชน้ั คืออะไร ไปดูบทตอ่ ไปกันเลย 38

บทที่ 3 การสรา้ งฟังกช์ ั้น ฟงั กช์ ัน้ คอื จดั เก็บชุดโปรแกรมให้เป็นสัดสว่ น เพื่อให้เข้าใจง่ายขึ้น ซง่ึ สามารถแบ่งออกเป็น 2 แบบ คอื 1. ฟังก์ชั้นที่ไมม่ ีการส่งขอ้ มูลกลบั คืน คือ การเรียกใช้ฟงั กช์ นั้ ทโี่ ปรแกรมจะเข้าไปประมวลผลตามคาส่งั ที่เราส่งั การ ตวั อยา่ งคอื ฟังก์ช้ันการส่งั งานมอเตอร์ 2.ฟังก์ชัน้ แบบมีการส่งข้อมลู กลบั คนื มา คอื เมื่อเรยี กใช้ฟงั ก์ชั้นโปรแกรมกจ็ ะเข้าไปประมวลผล และส่งขอ้ มูลกลับคนื มา ตวั อย่างคือ ฟงั กช์ น้ั การอ่านค่าต่างๆของ เซนเซอร์ 39

บทที่ 3 การสรา้ งฟงั กช์ ้นั เมือ่ นาบล็อคฟงั กช์ ้ันมา เรากต็ ง้ั ช่อื ตามท่ีตอ้ งการ แลว้ ฟังกช์ น้ั ของเราจะข้ึนหมวดหมเู หมือน ฟังกช์ ้นั ดา้ น มาดูวิธกี ารสร้างฟังกช์ นั้ กนั ซ้ายมอื เมนฟู งั ก์ชัน้ แบง่ ออกเป็น การตง้ั ชื่อฟังก์ชั้นให้ ควร จะเป็นภาษาองั กฤษ เน่ืองจาก ฟงั ก์ช้ันทส่ี ง่ ค่ากลับ ภาษาทเ่ี ราใชก้ นั ลว้ นแต่เป็น ภาษาองั กฤษ ทง้ั หมด และไมส่ ง่ คา่ กลับนนั้ เอง 40

บทท่ี 3 การสรา้ งฟงั ก์ชัน้ ฟงั กช์ น้ั น้นั ดยี งั ไง ยกตัวอยา่ งการสง่ั ให้หนุ่ ยนต์เดินเป็นรูปสเ่ี หล่ียม ซึ่งสามารถแบง่ ตามสไี ด้หลกั ๆคือ 2 คาสงั่ คือ เดนิ หนา้ , เลี้ยว ซา้ ย เราก็จะนาการทางานหลัก ๆมาจดั สัดสว่ นให้เป็นฟังก์ชั้นนั้นเอง 4 สเ่ี หลย่ี ม ดา้ นเทา่ เมือ่ จดั เป็นฟังกช์ ้ันแลว้ ก็จะ เมอ่ื นาฟงั กช์ ้นั มาต่อกับใหห้ นุ่ ยนตเ์ ดิน ออกมาในลักษณะเหมอื นรูปด้านบน น้นั เอง เป็นรปู สี่เหลี่ยม 41

บทท่ี 4 รู้จักกับ Sensor ตัวรับรู้ หรอื เซ็นเซอร์ (อังกฤษ: sensor) เป็นวัตถุชนดิ หน่ึงที่มหี น้าท่ตี รวจจับเหตกุ ารณ์หรือการเปลีย่ นแปลงของ สภาพแวดลอ้ มของตัวมันเอง จากน้ันมันกจ็ ะให้ผลลัพธ์ทส่ี อดคลอ้ งกันออกมาและสง่ ไปยังศนู ย์ควบคุม ตัวรับรเู้ ปน็ ตวั แปร สัญญาณ (องั กฤษ: transducer) ชนิดหนง่ึ มนั สามารถใหส้ ัญญาณออกมาได้หลากหลายชนิด แต่โดยท่ัวไปจะใช้ สญั ญาณไฟฟา้ หรอื สัญญาณแสง ยกตวั อยา่ งเชน่ เราเดินเข้า 7-11 แล้วประตูเปิดเองอัตโนมัติ Sensor ท่ีใช้กนั คอื เซนเซอร์ตรวจจับการ เคลอื่ นไหว เมอ่ื เราเดินเข้าประตกู ็จะเกิดการเคลอ่ื นไหวทาให้เซนเซอร์ส่งข้อมลู บอกให้ มอเตอรท์ างานเพือ่ เปดิ ประตูนัน้ เอง 42

บทท่ี 4 รจู้ กั กับ Sensor เซนเซอรภ์ ายในตัว หนุ่ ยนต์ Rapbit32 นั้น มีอยู่ 6 ชนดิ คอื 1. Switch ปุม่ กด 2. Knob การวดั รอบ (ลดู บิด) 3. Ultrasonic วดั ระยะทาง 4. Light sensor วดั การสะท้อนของพ้นื (จับเสน้ ) 5. LDR ตวั ความเข็มแสง 6. IR Remote ตัวรบั รโี มท 43

บทท่ี 4 รจู้ กั กับ Sensor 1. Switch หรือ ปุ่มกด ทาหน้าท่ีเช่อื มสายสญั าณ 2 ฝงั่ เขา้ หากนั โดยในหุ่นยนต์ Rapbit32 นัน้ จะมอี ยู่ 2 ท่ีคือ 1. Sw1 มีหน้าที่กดสาหรับเร่มิ ต้นโปรแกรม 2. Switch reset มหี นา้ ที่ รเี ซตบอรด์ (เรม่ิ ต้นการทางานใหม)่ เมือ่ กดปุ่ม สถานะ 0 และ ปลอ่ ย สถานะจะเปน็ 1 44

บทที่ 4 รูจ้ กั กับ Sensor 2. Knob Sensor (ลกู บิด) ทาหน้าท่คี ือเปลยี่ นการหมุนใหเ้ ป็นแรงดันไฟฟา้ โดยมคี า่ อยู่ท่ี 0- 3.3 V เม่อื หมุนทวนเขม็ นาฬกิ าไปจนสดุ ค่าทไ่ี ดจ้ ะอยู่ท่ี 0 แต่เมือ่ หมุนตามเขม็ ไปจนสดุ ค่าท่ีได้จะอยู่ท่ี 1023 45

บทท่ี 4 รู้จักกับ Sensor 3. Ultrasonic Sensor คือ เซนเซอร์วดั ระยะทาง หลกั การทางานคอื จะมีตวั ส่งคลื่นเสียงออกไปกระทบกบั วัตถุ แล้วจะสะท้อนเสยี งกลับมาทตี่ ัวรับสัญญาณ โดยจะใช้เวลา ในการคานวณระยะทางในหน่วย เซน็ ตเิ มตร น่นั เอง 46

บทที่ 4 รู้จกั กบั Sensor เมื่อพ้ืนเปน็ สีขาว คา่ ทไี่ ดจ้ ะประมาณ 4. Light Sensor การทางาน คลา้ ย ๆกบั Ultrasonic คือจะมตี วั ส่งสญั ญาณแสงไปกระทบกบั พื้น 900 กวา่ และสะท้อนกลบั คือมายังตวั รับ แล้วแปลงสญั ญาณเป็นแรงดันไฟฟา้ ออกมา ส่วนพ้ืนสดี าจะประมาณ 200 กวา่ ๆ 47

บทท่ี 4 รู้จักกบั Sensor 5. LDR Sensor (เซนเซอร์วดั ความเข้มแสง) คอื ต้วตา้ นทานชนดิ หนึ่ง ท่ไี วตอ่ แสงกค็ ือตัวตา้ นทาน สามารถปรบั ตามความเขม้ แสง เมอื่ แสงน้อย เมอื่ แสงมาก 48 ประมาณ100 ประมาณ 1000

บทที่ 4 รจู้ ักกับ Sensor 6. IR Remote คือตวั รับสญั ญาณรีโมท แลว้ แปลงสญั ญาณทร่ี ีโมทสง่ มาเป็นข้อมูลที่ หนุ่ ยนต์อา่ นได้ ถา้ เปรียบเทียบให้ใกลเ้ คยี งกับตวั รบั รโี มท TV เพ่ือเปลี่ยนชอ่ ง นนั้ เอง 0 49

บทท่ี 4 รจู้ กั กบั Sensor ในการอา่ นค่าของ IR Remote น้ันจะบ่งบอกได้เลยว่า เรากดปมุ่ ใดที่ Remote ซงึ่ มาดูตวั อยา่ งข้อมูลท่เี ราอ่านได้ กนั เลย 0 50


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