ปฐมฤกษ์โปรแกรมแรกบนเครื่องคิดเลขเทพเหนือเทพ HP Prime G2

หนึ่งเดือนที่ผมจับเครื่องคิดเลขเอชพี ไพรม์ รุ่นจีทู ราคาแปดพันห้าร้อยบาทนับว่าเป็นเครื่องคิดเลขที่ราคาสูงที่สุดที่ผมเคยเป็นเจ้าของมา มีฟังก์ชั่นเยอะมาก วาดกราฟสามมิติได้ แต่ผมไม่ได้ใช้ จะไม่ขอพูดถึง สถาปัตยกรรมใช้ซีพียูแกน ARM Cortex A7 ความเร็ว 528 MHz มีแรม 256 MB และแฟลชรอม 512 MB หน้าจอแสดงผลขนาด 320 x 240 พิกเซล แสดงผลเป็นจอสีได้ 16 บิต หน้าจอสัมผัสแบบโทรศัพท์มือถือทั่วๆไป มีแบตเตอรีขนาด 2000 mAh

HP Prime Programming Language (PPL)

เครื่องคิดเลขรุ่นนี้ที่ผมสนใจคือสามารถเขียนโปรแกรมด้วยภาษาเรียกว่า PPL (Prime Programming Language) เป็นภาษาที่คล้ายภาษาปาสคาล ผมเขียนภาษาปาสคาลมาก่อนมาหลายสิบปีเลยรู้สึกคุ้นเคยและรักภาษานี้เป็นพิเศษ แต่อย่างไรก็ตามทาง HP ได้ปรับปรุงภาษา PPL จนผมคิดว่าบางอย่างไปคล้ายภาษาไพทอน เช่นเพิ่มเรื่องลิสต์ (List) เข้ามาซึ่งในภาษาปาสคาลเดิมไม่มี การใช้ลิสต์ทำให้เขียนโปรแกรมเก็บข้อมูลแทนอาร์เรย์ได้สะดวกมากๆ ทางเอชพีได้ตัดแต่ง syntax บางอย่างให้กระชับขึ้น จุดเด่นของปาสคาลคือเป็นภาษาที่เข้าใจได้ง่าย เขียนง่าย อ่านง่าย

นอกจากนั้นทาง HP ยังได้เตรียมไลบรารีและฟังก์ชันมากมายให้เรียกใช้งานได้ และเตรียมฟังก์ชันการป้อนข้อมูล (Input) ทำได้ดีมากลดการเขียนโค้ดไปได้หลายร้อยบรรทัดทีเดียว มีพังก์ชัน output เช่น print() และ Msgbox() มีไลบรารีเกี่ยวกับการวาด (Plot) พร้อมสรรพ ในฐานะช่างสำรวจการจะใช้เครื่องคิดเลขรุ่นนี้ให้คุ้มค่า มีสองแนวทางคือแนวทางแรกซื้อโปรแกรมมาใช้ ซึ่งผมเห็นมีโปรแกรมชื่อ SGS Prime Cogo ทำได้ดีมากน่าใช้ทีเดียว แนวทางที่สองคือต้องลงทุนเขียนโปรแกรมด้วยตัวเองให้ตรงใจที่สุด ผมเลือกอย่างหลัง

เครื่องมือช่วยพัฒนาโปรแกรม

สำหรับเครื่องมือเอาไว้ต่อกับเครื่องคิดเลขมีสองโปรแกรมคือ HP Prime Virtual Calculator สามารถใช้งานเครื่องคิดเลขจำลองได้เลยบนคอมพิวเตอร์ มีทั้งรุ่นบนวินโดส์และแมคโอเอส ทางเอชพีใจป้ำให้ใช้ฟรี ไม่เหมือนของฝั่งเครื่องคิดเลข TI ที่ต้องเสียเงินซื้อ

HP Prime Virtual Calculator บนแมคโอเอส

อีกโปรแกรมคือ HP Prime Connectivity Kit ที่เอาต่อกับโปรแกรมแรกและสามารถต่อกับเครื่องคิดเลขจริงๆได้ สามารถโอนย้ายโปรแกรมและแบ็คอัพได้ ผมเขียนโปรแกรมบนนี้เพราะสะดวก แต่ติดขัดที่ไม่มีเครื่องมือในการค้นหาข้อความ แต่รวมๆแล้วโอเค เมื่อจะดีบักหรือรันโปรแกรมก็ไปที่ HP Prime Virtual Calculator เวลาแบ็คอัพโปรแกรมก็สามารถลากโปรแกรมไปวางไว้ที่โฟลเดอร์อื่นได้ ตัวอย่างถ้าใช้บนวินโดส์สามารถลากโปรแกรมไปวางบนโฟลเดอร์ของวินโดส์เอ็กพลอเรอได้เลย

HP Prime Connectivity Kit บนแมคโอเอส

โปรแกรมคำนวณโค้งราบ (HorCurveEx)

โปรแกรมคำนวณโค้งราบผมเขียนเวอร์ชั่นภาษาซีไว้บนเครื่องคิดเลขคาสิโอ fx-9860GII (สามารถใช้กับเครื่องคิดเลขรุ่น fx-9750GIII และ fx-9860GIII ได้) ลองมาดูในเครื่องคิดเลขเอชพี ไพรม์ จีทู ดูบ้างจะเป็นอย่างไร จะเป็นเครื่องคิดเลขเทพเหนือเทพสมคำร่ำลือไหม โปรแกรมคำนวณโค้งราบนี้โค้ดหลักประมาณ 1500 บรรทัด ไม่มากหรือไม่น้อยเกินไปสำหรับเครื่องคิดเลข

ที่เครื่องคิดเลขกดปุ่ม shift และกดเลข 1 จะเข้าสู่โหมดโปรแกรม จะเห็นเรียงรายลงมาในช่องใต้ “Programs” โปรแกรมคำนวณโค้งราบของผมชื่อ “HorCurveEx” จะใช้ไลบรารีที่ผมเขียนขึ้นสองไฟล์คือ “pbrutils” และ “pbrdraws” และใช้ไลบรารี “displaytext” ผมดัดแปลงจากโค้ดที่แจกฟรีในเว็บไซต์ของ HP ชื่อ “Choose_R” เครดิต: Jacob Wall ภาพนิ่งหน้าจอเครื่องคิดเลข ผมขอใช้ภาพที่จับจากหน้าจอคอมพิวเตอร์เพราะสะดวกกว่าถ่ายจริงบนเครื่องคิดเลข ส่วนคลิปท้ายบทความจะเป็นคลิปที่ถ่ายจากเครื่องคิดเลขจริง

เมื่อใช้คีย์ลูกศรเลื่อนไปยังโปรแกรม “HorCurveEx” แล้วที่หน้าจอจะมีเมนู “Edit”, “New”, “More”, “Send”, “Debug” และ “Run” เอามือจิ้มไปที่ “Run” จะเห็นโปรแกรมดังรูปด้านขวา

โจทย์โค้งราบ

ผมจะใช้โจทย์ที่แสดงไปแล้วกับโปรแกรมบนเครื่องคิดเลข fx-9860GII

เมนูหลักโปรแกรม

จะมีเมนูหลักๆของโปรแกรมคือ “Station”, “Azimuth”, “Elem”, “Resolv”, “Calc” แะล “Quit” การใช้งานจะเริ่มจากซ้ายไปขวา สำหรับหน้าเมนูหลักนี้จะเป็นเครดิตผู้พัฒนาโปรแกรมคือผมเอง จะเริ่มต้นทดลองการใช้งานโดยการเอามือไปแตะที่คำว่า “Station”

ป้อนค่า station และค่าพิกัด

โจทย์กำหนดว่าทราบ chainage ของจุด PI คือ 17+237.240 ป้อนที่เครื่องคิดเลข 17237.240 (ต้องไม่มีเครื่องหมายบวก) ถ้าทราบ chainage ของ PC หรือ PT สามารถเลือกได้ จากนั้นทราบค่าโคออร์ดิเนทของจุด PI, PC หรือ PT ในที่นี้เลือก PI ป้อนค่าพิกัด N=2626552.219 E=235329.370 ตามลำดับ จากนั้นแตะที่คำว่า “OK” จะเป็นการปิดการป้อนข้อมูล

ป้อนมุม

ที่เมนูหลักแตะที่คำว่า “Azimuth” จะเข้าสู่การป้อนมุมที่ทราบค่า ในที่นี้ทราบค่ามุมอะซิมัทที่เป็น Back Tangent คือจากจุด PC -> PI สุดท้ายเลือกทิศทางโค้งเป็นโค้งเลี้ยวซ้าย ปิดการป้อนมุมโดยการแตะที่คำว่า “OK” เหมือนเดิม

ป้อนรัศมีโค้งหรือความยาวโค้ง

ที่เมนูหลักเลือกแตะ “Elem” ย่อมาจาก Elements แปลว่าส่วนประกอบของโค้ง ซึ่งสามารถเลือกได้ระหว่างรัศมีโค้งกับความยาวโค้ง ในที่นี้เลือก “Radius” แตะ “OK” แล้วป้อนค่ารัศมีโค้งเข้าไป 201.95 แตะ “OK” เพื่อปิด

คำนวณโค้งเพื่อหาส่วนประกอบโค้งทั้งหมด

ที่เมนูหลักแตะที่คำว่า “Resolv” ย่อมาจาก Resolve หรือแปลว่าวิเคราะห์นั่นเอง โปรแกรมจะคำนวณส่วนประกอบโค้งที่เหลือให้ทั้งหมด เช่น Tangent, Extent, Midord ตลอดจน chainage และค่าโคออร์ดิเนทที่เหลือ สามารถใช้นิ้วจิ้มแตะลากขึ้นลงเพื่อดูค่าเหล่านี้ได้ หรือกดคีย์ลูกศรเพื่อเลื่อนขึ้นลงก็ได้เช่นเดียวกัน แตะที่คำว่า “Close” เพื่อปิด จะกลับมาที่เมนูหลัก

คำนวณหาจุดบนโค้ง

สุดท้ายสำหรับช่างสำรวจก็คือการเลย์เอ้าท์โค้ง สมัยปัจจุบันการวางจุดนิยมค่าพิกัดโคออร์ดิเนทเพราะใช้กล้องโททัลสเตชันให้ความสะดวกกว่าสมัยอดีตที่เปิดมุมและดึงระยะด้วยเทปเหล็ก การคำนวณหาค่าพิกัดจาก chainage ที่ต้องการและทำการ offset ไปด้านข้าง

ที่เมนูหลักแตะคำว่า “Calc” จะเข้ามาอีกเมนูหนึ่ง จะเห็นรูปส่วนประกอบโค้งซึ่งผมก๊อปปี้มาจากอินเทอร์เน็ต จะเห็นเมนูรอง “Sta”, “Interv”, “Info”, “Plot” และ “Exit” แตะไปที่ “Sta” เพื่อคำนวณหาค่าพิกัดโคออร์ดิเนทจาก chainage 17+200 โดยการป้อนตัวเลข 17200 ต้องการออฟเซ็นไปทางด้านซ้ายเป็นระยะทาง 10 เมตร ป้อนข้อมูลตามรูป จากนั้นแตะที่คำว่า “OK”

จะได้ผลลัพธ์ออกแสดงผล แตะคำว่า “Close” เพื่อปิดและกลับมาที่เมนูเดิม

ต่อไปแตะคำว่า “Interv” ที่ย่อมาจาก “Interval” เราต้องการหาค่าพิกัดโดยแบ่งโค้งเป็นช่วงๆ ในที่นี้ต้องการระยะห่าง 10 เมตรโดยที่ออฟเซ็ทไปด้านขวาด้วยระยะ 5 เมตร โปรแกรมจะคำนวณมาให้และแสดงผล ผู้ใช้สามารถใช้นิ้วจิ้มแตะลากขี้นลงเพื่อดูค่าผลลัพธ์ได้ แตะที่คำว่า “Close” เพื่อปิด

วาดรูปโค้ง

ที่เมนูเดิมแตะที่คำว่า “Plot” เพื่อวาดรูปโค้ง เวลาต้องการเลื่อนใช้นิ้วแตะแล้วลากซ้ายขวาขึ้นลงได้ การซูมหรือขยายหรือต้องการย่อ แตะที่เมนู “Zoom+” หรือ “Zoom-” ได้ ผมพยายามเขียนโค้ดเพื่อใช้สองนิ้วในการย่อขยาย ยังทำไม่ดีนัก เนื่องจากไม่มีเอกสารคู่มือเป็นทางการจากทางเอชพี ที่เอชพียังไม่ได้อิมพลีเมนต์มาให้คือการเขียนตัวหนังสือเอียงเป็นมุมได้ ก็ต้องรอกันต่อไป ผมพยายามเขียนด้วยโคัดตัวเองแต่พบว่าเรนเดอร์ช้า

ที่เห็นวงกลมเรียงๆกันนั้นคือจุดที่เราคำนวณจาก ค่า interval นั่นเอง ถ้ากลับไปคำนวณหาค่าพิกัดจาก station 17+200 ที่ทราบค่า และกลับมาวาดโค้งใหม่จะเห็นเพียงจุดเดียว แตะ “Exit” เพื่อออกจากเมนูวาดโค้ง

สรุปการใช้งานเครื่องคิดเลข HP Prime G2

ในระยะเวลาหนึ่งเดือนที่จับและนั่งโปรแกรมมิ่งหนักไปทางเปิดคู่มือการเขียนโปรแกรม ทางเอชพีทำเว็บไซต์สำหรับแสดงวิธีการไลบรารี และยังมีตัวอย่างโปรแกรมที่คนอื่นเขียนไว้ลงมาให้ดูจำนวนพอสมควร เปิดดูโปรแกรมพวกนี้แล้วทำให้สามารถย่นระยะเวลาเขียนโปรแกรมไปได้มากทีเดียว รวมๆแล้วประทับใจกับเครื่องคิดเลขรุ่นนี้มากที่สุด ตอนแรกยังหวั่นๆอยู่เพราะคุ้นเคยแต่เครื่องคิดเลขของคาสิโอ แต่เมื่อจับต้องใช้งานแล้ว การป้อนคำนวณตัวเลขต่างๆแบบแมนวลนั้นการแสดงผลที่เอชพีเรียกว่า “Textbook” ทำได้ดีมากเหมือนเขียนการคำนวณบนกระดานดำ มีทั้งบรรทัดล่างบนได้อย่างเป็นธรรมชาติ

เนื่องจากเครื่องคิดเลขมีราคาสูง ผมไม่แนะนำให้ใครซื้อ แต่ถ้ามีเงินเหลือกินเหลือใช้แนะนำซื้อใช้กันเลย คุ้มค่ามาก

คลิปแสดงแนะนำการใช้งานโปรแกรมคำนวณโค้งราบ

แนะนำการโปรแกรมคำนวณโค้งราบ HorCurveEx บนเครื่องคิดเลข HP Prime G2

3 thoughts on “ปฐมฤกษ์โปรแกรมแรกบนเครื่องคิดเลขเทพเหนือเทพ HP Prime G2”

  1. พี่ประจวบ เป็นแรงบันดาลใจให้ผมพยายามพัฒนาตัวเองมาตลอดครับ ขอบคุณมากครับผม

Leave a Reply

Your email address will not be published. Required fields are marked *