ฟังก์ชัน Math หรือ ฟังก์ชันทางคณิตศาสตร์ในโปรแกรม Arduino IDE จะมีอยู่ด้วยกัน 8 ฟังก์ชัน คือ abs(), constrain(), map(), max(), min(), pow(), sq(), sqrt()
วิธีการใช้ Arduino IDE
รายการอุปกรณ์แนะนำ
1. abs()
ฟังก์ชัน abs() เป็นฟังก์ชันในการใส่ค่าสัมบูรณ์ให้กับตัวแปร ซึ่งตัวแปรที่เป็นค่าลบจะถูกทำให้เป็นค่าบวก วิธีการใช้งานคือ abs(ตัวแปรที่ต้องการใส่ค่าสัมบูรณ์)
ซอร์สโค้ดตัวอย่างที่ 1
ให้ทำการอัปโหลดซอร์สโค้ดตัวอย่างลงบนบอร์ด Arduino โดยไม่ต้องต่ออุปกรณ์ใดๆ และเปิดหน้าจอ Serial monitor ขึ้นมาโดยการกดปุ่ม Ctrl + Shift + M ในโปรแกรมจะประกาศตัวแปร x มีค่าเท่ากับ -50 และจะแสดงค่า x ออกมาที่ Serial monitor ขณะที่ไม่ใช้งานฟังก์ชัน abs() และใช้งานฟังก์ชัน abs() และจะเห็นว่าเมื่อใช้งานฟังก์ชัน abs() ค่า x ที่แสดงออกมาจะมีค่าเป็นค่าบวก
2. constrain()
เป็นฟังก์ชันที่ใช้ในการควบคุมค่าตัวแปรให้อยู่ในกรอบที่กำหนด เช่น ประกาศตัวแปร x แบบสุ่มค่าที่ 0 – 500 แต่ต้องการค่าน้อยสุดที่ 100 และค่ามากสุดที่ 200 สามารถใช้งานฟังก์ชัน constrain ได้โดยการพิมพ์ constrain(x, 100, 200); หากค่าตัวแปร x น้อยกว่า 100 ค่าที่ได้จากฟังก์ชัน constrain จะเท่ากับ 100 หากค่าตัวแปร x มากกว่า 200 ค่าที่ได้จากฟังก์ชัน constrain จะเท่ากับ 200 และหากค่าตัวแปร x อยู่ในช่วง 100 – 200 ค่าที่ได้จากฟังก์ชัน constrain จะเท่ากับค่า x นั้นๆ
ตัวอย่างซอร์สโค้ดที่ 2
ทำการอัปโหลดซอร์สโค้ดตัวอย่าง และเปิด Serial monitor ขึ้นมา สังเกตผลที่ได้จากการทดลอง
3. map()
เป็นฟังก์ชันที่ใช้ในการเปรียบเทียบค่าตัวแปรให้ด้วยสมการเส้นตรง เช่น ต้องการให้ตัวแปร x ที่มีค่า 0 – 100 เปลี่ยนแปลงเป็นค่า 500 – 1,000 สามารถทำได้โดยการพิมพ์ map(x, 0, 100, 500, 1000); หากค่า x = 0 จะถูกแปลงเป็น x = 500 และหากค่า x = 100 จะถูกแปลงเป็น 1,000
ตัวอย่างซอร์สโค้ดที่ 3
ทำการอัปโหลดซอร์สโค้ดตัวอย่างและเปิด Serial monitor ขึ้นมาสั่งเกตุผลการทดลอง
อย่างไรก็ตามในการใช้งานฟังก์ชัน map จะไม่เหมาะกับการลดขนาดตัวแปรเนื่องจากเป็นตัวแปรประเภทจำนวนเต็มในการลดขนาดเช่นจากค่า 0 – 100 ลดขนาดให้เป็น 0 – 5 โปรแกรมจะแปลงค่าเพียงแค่จำนวนเต็ม ทำให้ไม่ทราบจำนวนทศนิยมจะทำให้ความระเอียดของจำนวนที่ได้ลดลง ในการลดขนาดตัวแปรจำเป็นต้องใช้วิธีการลดขนาดด้วยสมการและประกาศใช้งานตัวแปรเป็น float
4. max()
เป็นฟังก์ชันส่งออกตัวแปรมากกว่าค่าที่กำหนด เช่น การสุ่มค่า x ตั้งแต่ 0 – 500 กำหนดให้ x มากกว่าจึงจะส่งค่าออกไป หากค่า x ต่ำกว่า 200 ก็จะส่งออกค่า 200 ออกมาแทน
ตัวอย่างซอร์สโค้ดที่ 4
ทำการอัปโหลดซอร์สโค้ดตัวอย่างและเปิด Serial monitor ขึ้นมาสั่งเกตุผลการทดลอง
5. min()
เป็นฟังก์ชันที่มีผลตรงกันข้ามกับ max ซึ่งจะแสดงค่าที่น้อยกว่าที่กำหนดไว้
ตัวอย่างซอร์สโค้ดที่ 5
ทำการอัปโหลดซอร์สโค้ดตัวอย่างและเปิด Serial monitor ขึ้นมาสั่งเกตุผลการทดลอง
6. pow()
เป็นฟังก์ชันเลขยกกำลังสามารถใช้งานได้ดดังนี้ pow(เลขฐานเป็นจำนวนเต็ม, เลขชี้กำลัง);
ตัวอย่างซอร์สโค้ดที่ 6
ทำการอัปโหลดซอร์สโค้ดตัวอย่างและเปิด Serial monitor ขึ้นมาสั่งเกตุผลการทดลอง
7. sq()
sq() หรือ square เป็นฟังก์ชันเลขยกกำลัง 2 สามารถใช้งานได้ดดังนี้ sq(ค่าตัวเลขที่ต้องการยกกำลัง);
ตัวอย่างซอร์สโค้ดที่ 7
ทำการอัปโหลดซอร์สโค้ดตัวอย่างและเปิด Serial monitor ขึ้นมาสั่งเกตุผลการทดลอง
8. sqrt()
เป็นฟังก์ชันถอดรากที่ 2 สามารถใช้งานได้ดดังนี้ sqrt(ตัวเลขที่ต้องการถอดรากที่ 2);
ตัวอย่างซอร์สโค้ดที่ 8
ทำการอัปโหลดซอร์สโค้ดตัวอย่างและเปิด Serial monitor ขึ้นมาสั่งเกตุผลการทดลอง
อย่างไรก็ตามจากข้อ 6 – 8 หากต้องการค่าที่เป็นทศนิยมสามารถทำได้โดยการประกาศตัวแปรเป็น float จะทำให้มีการส่งค่ากลับมาเป็นเลขทศนิยม
หน้าที่เข้าชม | 7,125,349 ครั้ง |
ผู้ชมทั้งหมด | 2,822,247 ครั้ง |
เปิดร้าน | 15 ก.ย. 2557 |
ร้านค้าอัพเดท | 6 ก.ย. 2568 |