ตอนที่แล้วผมนำเสนอโปรแกรมคำนวณโค้งราบบน HP Prime G2 ค่อนข้างน่าประทับใจโปรแกรมเขียนด้วยภาษา PPL ภาษานี้พัฒนาโดย HP เอง ลักษณะคล้ายภาษาปาสคาลแต่เพิ่มเรื่องลิสต์ ปรับ syntax ให้กระชับเข้าใจง่าย ประกาศตัวแปรแต่ตัวแปรไม่มี type มีไลบรารีฟังก์ชั่นให้พร้อมสรรพทั้งด้านคณิตศาสตร์ สถิติ และมีฟังก์ชันวาดรูปมาค่อนข้างดี สามารถอ่านไฟล์ได้ การ Input ข้อมูลทาง HP เตรียมไลบรารีให้มาใช้ง่ายลดการเขียนโค้ดลงไปมาก ข้อเสียคือไม่สามารถคอมไพล์โปรแกรมเป็นไบนารีโค้ดได้ เวลาคนอื่นเอาโปรแกรมไปสามารถเปิดซอร์สโค้ดของปรแกรมได้ด้วย ซึ่งถ้าใครคิดจะขายโปรแกรมคงไม่เหมาะนัก เพราะก็อปปี้ต่อๆกันได้ และอีกอย่างคือราคาเครื่องคิดเลขค่อนข้างสูง แต่ถ้ามีเงินเหลือใช้จะซื้อหามาใช้งานดูก็ไม่ว่ากัน คุ้มค่าสมราคา จอสัมผัสใช้ง่ายใช้ควบคู่กับปุ่มคีย์บอร์ดที่กดง่ายตอบสนองดี…
Category: Programming
ปฐมฤกษ์โปรแกรมแรกบนเครื่องคิดเลขเทพเหนือเทพ HP Prime G2 (Horizontal Curve)
หนึ่งเดือนที่ผมจับเครื่องคิดเลขเอชพี ไพรม์ รุ่นจีทู ราคาแปดพันห้าร้อยบาทนับว่าเป็นเครื่องคิดเลขที่ราคาสูงที่สุดที่ผมเคยเป็นเจ้าของมา มีฟังก์ชั่นเยอะมาก วาดกราฟสามมิติได้ แต่ผมไม่ได้ใช้ จะไม่ขอพูดถึง สถาปัตยกรรมใช้ซีพียูแกน ARM Cortex A7 ความเร็ว 528 MHz มีแรม 256 MB และแฟลชรอม 512 MB หน้าจอแสดงผลขนาด 320 x 240 พิกเซล แสดงผลเป็นจอสีได้ 16 บิต หน้าจอสัมผัสแบบโทรศัพท์มือถือทั่วๆไป มีแบตเตอรีขนาด 2000 mAh HP…
รวมชุดโปรแกรมพื้นฐานงานสำรวจ 4 ชุดสำหรับเครื่องคิดเลข fx-9860GII, fx-9860GIII และ fx-9750GIII (พัฒนาด้วยภาษาซี) พร้อมคู่มือ
ผมเคยลงโปรแกรมพื้นฐานสำรวจชุดที่ 1 ด้วยภาษาซีสำหรับเครื่อง fx-9860GII SD ไปนานแล้ว ตอนนี้กลับมาแก้ไขบั๊กเล็กๆน้อยๆ และพัฒนาโปรแกรมเพิ่มโปรแกรมพื้นฐานงานสำรวจชุดที่ 2, ชุดที่ 3 และชุดที่ 4 เพื่อให้เครื่อง fx-9860GII SD รุ่นเก่าที่ไม่มีภาษาไพทอนสามารถใช้งานได้เท่าเทียมกัน โปรแกรมที่พัฒนาด้วยภาษาซีจะมีดีกว่าไพทอนตรงที่กินหน่วยความจำน้อย เวลาป้อนค่าโปรแกรมสามารถเอาค่าตัวเลขไปเก็บไว้ในเมโมรีตัวอักษร A-Z และเรียกมาใช้ได้ภายหลัง เวลาเรียกโปรแกรมครั้งที่สองไม่ต้องป้อนค่าใหม่ ตรงนี้ภาษาไพทอนบนเครื่องคิดเลขทำไม่ได้ เพราะคาสิโอไม่ได้ให้ไลบรารีในการติดต่อกับเครื่องไว้เลย ไม่เหมือนกับภาษาไพทอนบนเครื่องคิดเลข TI ที่เขาเตรียมไลบรารีมาให้เสร็จสรรพ ตอนนี้ผมสั่งเครื่องคิดเลขของ TI NSpire CX II…
(ฟรี)โปรแกรมภาษาไพทอนบนเครื่องคิดเลขคาสิโอ fx-9750GIII fx-9860GIII และ fx-cg50 โปรแกรมพื้นฐานงานสำรวจชุดที่ 4 (COGO Selected Serie 4)
ตอนนี้มาถึงโปรแกรมพื้นฐานงานสำรวจชุดที่ 4 (COGO Selected Serie 4) สำหรับเครื่องคิดเลขคาสิโอ fx-9750GIII, fx-9860GIII และ fx-cg50 PRIZM สามรุ่นที่รองรับภาษาไพทอนหรือไมโครไพทอน ได้ในขณะนี้ หาซื้อได้ในเมืองไทย ราคาย่อมเยาที่สุดคือ fx-9750GIII ที่ราคาประมาณสามพันบาท ถ้ามีงานการทำเป็นหลักเป็นแหล่งแล้วไม่น่าแพง บางทีเราซื้อโทรศัพท์มือถือได้ราคาเป็นเรือนหมื่นไม่คิดอะไรมาก แต่กับเครื่องคิดเลขคิดแล้วคิดอีก สำหรับผมแล้วราคาขนาดนี้ถือว่าคุ้มค่ามาก ผมไปนั่งพลิกดูด้านหลังเครื่อง fx-9860GIII ปรากฎเห็น “Made in Thailand” ค่อนข้างประหลาดใจพอสมควร พอไปพลิกดูเครื่อง fx-cg50 กลับเป็น…
(ฟรี)โปรแกรมภาษาไพทอนบนเครื่องคิดเลขคาสิโอ fx-9750GIII fx-9860GIII และ fx-cg50 โปรแกรมพื้นฐานงานสำรวจชุดที่ 3 (COGO Selected Serie 3)
ตอนนี้มีเครื่องคิดเลขของคาสิโอสามรุ่นที่สามารถโปรแกรมด้วยภาษาไพทอนหรือไมโครไพทอน (MicroPython) ได้คือ fx-9750GIII, fx-9860GIII และ fx-cg50 ทั้งสามรุ่นสามารถหาซื้อได้ไม่ยากนัก ผมซื้อมาทางออนไลน์สะดวกดี สนนราคาเรียงตามรุ่นตอนนี้อยู่ที่ สามพันบาท สี่พันห้าร้อยบาทและเจ็ดพันกว่าบาทตามลำดับ ผมแนะนำให้สำหรับคนที่เบี้ยน้อยหอยน้อยลงทุนกับ fx-9750GIII เพราะราคาไม่แพง คุ้มค่าเกินราคา ทั้งสามรุ่นสามารถโปรแกรมด้วยภาษาคาสิโอเบสิคและภาษาไพทอน แล้วแต่ความถนัด ความชอบ ถ้าโปรแกรมด้วยไพทอนจะสามารถเขียนโปรแกรมที่ยากๆหรือคณิตศาสตร์ซับซ้อนขึ้นมาได้ นี่เป็นเหตุผลสำคัญ ถึงแม้หน่วยความจำของเครื่องคิดเลขจะน้อยก็เป็นโจทย์ให้ผู้พัฒนาโปรแกรมได้ออปติไมซ์โปรแกรมให้ทำงานได้ แต่สำหรับโปรแกรมพื้นฐานงานสำรวจส่วนใหญ่ก็พื้นๆ ไม่มีอะไรซับซ้อน ชุดโปรแกรมพื้นฐานงานสำรวจ COGO (Coordinate Geometry) ชุดที่ 3 มาถึงโปรแกรมพื้นฐานงานสำรวจชุดที่ 3 (COGO…
(ฟรี)โปรแกรมภาษาไพทอนบนเครื่องคิดเลขคาสิโอ fx-9750GIII fx-9860GIII และ fx-cg50 โปรแกรมพื้นฐานงานสำรวจชุดที่ 2 (COGO Selected Serie 2)
ตอนนี้มีเครื่องคิดเลขของคาสิโอสามรุ่นที่สามารถโปรแกรมด้วยภาษาไพทอนหรือไมโครไพทอน (MicroPython) ได้คือ fx-9750GIII, fx-9860GIII และ fx-cg50 ข้อดีของภาษาไพทอนนั้นคือง่าย ทรงพลัง แต่ข้อจำกัดของเครื่องคิดเลขคือหน่วยความจำที่มีมาน้อย ดังนั้นบนเครื่องคิดเลขจะมีไลบรารีที่นำมาจากเครื่องคอมพิวเตอร์มาใช้งานได้น้อย ต้องปรับกันพอสมควร ไม่มีไลบรารีเทพแบบ Numpy ที่จะมาใช้คำนวณเรื่องเมตริกซ์ (Matrix) ดังนั้นถ้าใช้เมตริกซ์ก็ต้องออกแรงเขียนโค้ดเองมากหน่อย แต่ยังมี Matplotlib ฉบับย่อที่พอกล้อมแกล้มได้เล็กน้อย ชุดโปรแกรมพื้นฐานงานสำรวจ COGO (Coordinate Geometry) ชุดที่ 2 มาถึงโปรแกรมพื้นฐานงานสำรวจชุดที่ 2 (COGO Selected Serie 2)…
(ฟรี)โปรแกรมภาษาไพทอนบนเครื่องคิดเลขคาสิโอ fx-9750GIII fx-9860GIII และ fx-cg50 โปรแกรมพื้นฐานงานสำรวจชุดที่ 1 (COGO Selected Serie 1)
ไม่กี่วันนี้ผมได้ถอยเครื่องคิดเลข fx-9860GIII มาหนึ่งเครื่องราคาประมาณสี่พันห้าร้อยบาท ส่วนน้องๆในที่ทำงานถอย fx-9750GIII มาหนึ่งเครื่องเช่นเดียวกันแต่ราคาย่อมเยากว่า ราคาเครื่องประมาณสามพันบาท สองรุ่นนี้เขียนภาษาไพทอนได้ ไพทอนที่ลงในเครื่องคิดเลขเป็นไพทอนรุ่นเล็กเรียกว่า ไมโครไพทอน (Micropython) แต่ไมโครไพทอนที่ลงในเครื่องคิดเลข ทางคาสิโอลงไลบรารีมาให้ใช้แค่สองไลบรารีคือ math และ random ที่อยากได้มากคือไลบรารี io ที่สามารถเขียนอ่านไฟล์ได้กลับไม่ลงมาให้ ทำให้การใช้งานจำกัดจำเขี่ยเหมือนโดนมัดมือมัดเท้า เอาละไม่เป็นไร ผมจะลองเขียนโปรแกรมไพทอนและพยายามใช้ทรัพยากรอันจำกัดจำเขี่ยนี้ให้ออกมาดูดีที่สุด นี่เป็นความท้าทายเล็กๆน้อยๆอย่างหนึ่ง ณ ตอนนี้มีเครื่องคิดเลขคาสิโอสามรุ่นที่สนับสนุนภาษาไพทอนเรียงกันดังนี้ fx-9750GIII, fx-9860GIII และ fx-cg50 ทดสอบโปรแกรมงานสำรวจที่พัฒนาด้วยภาษาซีบน fx-9750GIII และ…
ไพทอนบนเครื่องคิดเลข Casio fx-cg50 Prizm กลับมาวิ่งฉิวเป็นเทพแล้ว
สองปีที่แล้วพอดีผมถอยเครื่องคิดเลขคาสิโอ fx-cg50 Prizm เพราะว่าสนับสนุนภาษาไพทอน อยากลองเขียนไพทอนบนเครื่องคิดเลขดู แต่เนื่องจากไพทอนไม่สามารถเรียกใช้ฟังก์ชั่นในเครื่องคิดเลขต่างๆ เช่นฟังก์ชั่นวาดรูป ฟังก์ชั่นการพล็อทกราฟ คาสิโอเองก็รีบเอาไพทอนมาลงเครื่องคิดเลขเร็วเกินไป ผมเอามาทำที่ทับกระดาษเล่นๆ จนกระทั่งสองปีให้หลังจนบัดนี้ (10 กันยายน 2020) ทางคาสิโอเพิ่งอัพเดทโอเอสของเครื่องคิดเลขจากรุ่น 3.30 มาเป็น 3.40 และได้เพิ่มฟังก์ชั่นการวาดรูปให้กับเครื่องคิดเลขรุ่นนี้ มาลองดูว่าอัพเดทแล้วมีอะไรบ้าง เพิ่มโมดูล casioplot ในโมดูลนี้จะมีฟังก์ชั่นให้เรียกใช้อยู่ 4 ฟังก์ชั่น draw_string(,,) สำหรับเขียนตัวหนังสือเลือกสี ขนาด ตำแหน่งได้ set_pixel(,) สำหรับเขียนจุดเลือกสี ขนาด…
แนะนำ beeware เครื่องมือพัฒนาโปรแกรมด้วยภาษาไพทอนแบบเนทีฟสำหรับโทรศัพท์มือถือ
ผมได้ติดตามเป็นแฟนของ beeware มาได้ประมาณร่วมๆจะสองปีแล้วครับ beeware เป็นแพล็ตฟอร์มพัฒนาโปรแกรมแบบ cross-platform ที่อ้างว่าสามารถพัฒนาโปรแกรมแบบ desktop ได้ทั้งวินโดส์ ลีนุกซ์และแมคโอเอส รวมไปถึงแอนดรอยด์และไอโอเอส ปกติผมใช้ PySide2 สำหรับโปรแกรมบนเดสค์ท็อปอยู่แล้วเลยไม่รู้สึกตื่นเต้นตรงที่สนับสนุนโปรแกรมบนเดสค์ท็อปเท่าไหร่นัก แต่สำหรับภาษาไพทอนที่จะไปใช้ได้แบบเนทีฟ (native) บนโทรศัพท์มือถือแอนดรอยด์และไอโอเอส ยอมรับว่าตื่นเต้นพอสมควร ความนิยมภาษาไพทอนในปัจจุบันเป็นที่นิยมมาก เป็นที่ได้รับการพิสูจน์แล้วว่าเรียนรู้ง่าย ทรงพลัง โดยเฉพาะในด้าน data science และ machine learning ตลอดจนปัญญาประดิษฐ์ (AI) เนื่องจากมีไลบรารีมากมายให้เลือกใช้ในด้านนี้เช่น numpy, pandas…
แปลงรูปแบบไฟล์แบบจำลองความสูงจีออยด์ TGM2017 เป็น GFF เพื่อใช้ในโปรแกรม Magnet และอุปกรณ์ของ Topcon
ในเมื่อต่อยอดแล้วคงเอาให้สุดๆ ตอนที่แล้วผมแปลงไฟล์แบบจำลองความสูงจีออยด์ TGM2017 จากต้นฉบับ (เครดิด: จัดทำโดยทีมงานดร.พุทธิพล ดำรงชัยและคณะ) เป็นรูปแบบ Lieca GEM เพื่อใช้ในโปรแกรม SKI-Pro & LGO ตอนนี้ที่คิดได้ยังมีอุปกรณ์ค่าย Sokkia & Topcon ที่ยังไม่ได้จัดทำ เหมือนเดิมคือไม่สามารถหารูปแบบไฟล์ Topcon GFF หรือคำอธิบายได้ จากเวบไซต์ทางการของ Topcon ได้ ผมลองค้นคว้าในอินเทอร์เน็ตพบว่าโปรแกรม Topcon Magnet ที่เอาไว้คำนวณและประมวลผลงาน GNSS รวมทั้งอุปกรณ์อื่นๆเช่นกล้องโททอลสเตชัน…