โดยหลักๆแล้ว โปรแกรมที่ใช้ควบคุม Vertical Drawing Bot ดัดแปลงมาจาก laser engraver ที่เปิดให้ดาวน์โหลดได้ฟรีจากที่นี่
โดยส่วนที่เราทำการดัดแปลง (นอกเหนือรายละเอียดปลีกย่อยที่ต้องแก้ไขอยู่แล้วเช่น port ที่ใช้ติดต่อกับเครื่อง Raspberry Pi) ก็คือการควบคุม laser ที่แปลงมาเป็นการคุม servo motor แทน
โปรแกรมจะแบ่งออกเป็น 4 ส่วน วางใน folder เดียวกัน (ระวังเรื่องชื่อของไฟล์ — การพิมพ์ตัวอักษรพิมพ์เล็กเป็นพิมพ์ใหญ่อาจทำให้โปรแกรมรันไม่ผ่าน)
1. Bipolar_Stepper_Motor_A.py (คลิกเพื่อดูโค้ด)
2. Motor_con.py
3. grid.nc ไฟล์นี้ใช้ภาพมังกรเป็นตัวอย่าง (ภาพด้านล่าง)
4. Main.py
ในการรันจะต้องใช้คำสั่ง sudo python Main.py และเครื่องจะทำการวาดภาพจนเสร็จ
ภาพมังกรจากไฟล์ grid.nc ในลิงค์ด้านบน
สำหรับการสร้างไฟล์ grid.nc ซึ่งก็คือ G-code ของภาพที่เราต้องการซึ่งสร้างได้จากโปรแกรม Inkscape เป็นต้น
ดาวน์โหลด Inkscape — ดาวน์โหลด Laserengraver extension สำหรับ Inkscape (ชื่อเป็น Laser แต่โปรแกรมของเราได้ดัดแปลงให้ใช้งานได้กับ servo motor แล้ว)
ทั้งนี้ทั้งนั้นตัวโปรแกรม Inkscape เวอร์ชันล่าสุด (ของวันที่ 29 พฤษภาคม 2558) มีความไม่สอดคล้องกับตัว Laserengraver extension ทำให้ไม่สามารถสร้าง G-code ได้ ซึ่งสามารถแก้ไขได้โดยการเปิดไฟล์ laserengraver.py (ตามลิงค์ดาวน์โหลดที่ให้ไว้ด้านบน) โดยใช้ text editor อะไรก็ได้ (สำหรับการอ่านและเขียนโค้ดโดยไม่ต้อง compile ขอแนะนำโปรแกรม notepad++ ซึ่งอำนวยความสะดวกอย่างมาก ดาวน์โหลดได้ที่นี่) จากนั้นให้เลื่อนลงมาจนถึงบรรทัดที่ 3080 และแก้โค้ดต่อไปนี้
doc_height = inkex.unittouu(self.document.getroot().get('height'))
ให้เป็น
doc_height = self.unittouu(self.document.getroot().xpath('@height', namespaces=inkex.NSS)[0])
โปรแกรม Inkscape จะสามารถสร้างไฟล์ grid.nc ได้ตามปกติ
โดยขั้นตอนการใช้งานให้ทำดังนี้
1. เปิดโปรแกรมขึ้นมา ท่านจะเห็นแผ่นงานเปล่าขนาด A4 หนึ่งหน้า
2. แต่เราจำเป็นต้องแก้ขนาดชิ้นงานให้เหมาะสมกับ vertical drawing bot ซึ่งทำได้โดยกด
Ctrl + Shift + D
ท่านจะได้หน้าต่างใหม่ขึ้นมา ให้ท่านแก้ค่าต่างๆในช่องสีแดงให้เป็นดังภาพ อย่าลืมว่าหากชิ้นงานของท่านเล็กกว่านี้ (ระยะห่างระหว่าง Stepper Motor เล็กกว่านี้) ท่านจำเป็นต้องใช้อัตราส่วน
ระยะห่างระหว่างมอเตอร์ : ค่าความยาวและความสูงในโปรแกรม = 1.5 เมตร : 50 mm
3. จากนั้นชิ้นงานจะกลายเป็นสี่เหลี่ยมจตุรัสที่เล็กกว่าเดิมหลายเท่า ท่านสามารถดึง(drag)ภาพจากภายนอกเข้ามาในโปรแกรมได้โดยตรง
4. ขั้นตอนต่อไปคือการทำให้รูปภาพกลายเป็น vector โดยการ trace bitmap นั่นเอง ซึ่งทำได้โดยการกดปุ่ม
Shift + Alt + D
จากนั้นให้กดปุ่ม Update ตามด้วย OK และปิดหน้าต่าง Trace Bitmap ได้
5. หากท่านเลื่อนรูปภาพออกมาจากตำแหน่งเดิม ท่านจะพบว่ามีรูปซ้อนกันอยู่ รูปหนึ่งจะเป็นรูป Bitmap (รูปต้นฉบับ) อีกรูปจะเป็นแบบ vector (รูปที่สร้างขึ้นใหม่) ซึ่งหากต้องการดูความแต่ต่างที่ชัดเจน ท่านต้องใช้กด F2 หรือกดเครื่องมือ Edit paths by nodes ทางด้านซ้ายของหน้าต่างโปรแกรม ดังภาพ ท่านจะพบว่า vector image จะมีจุดสัญลักษณ์มากมายติดมาด้วย (เรียกว่า node) จากนั้นให้ท่านกด F1 เพื่อกลับไปสู่โหมดเดิมและลบรูป Bitmap ทิ้ง
6. ท่านจำเป็นต้องหมุนรูปทวนเข็มนาฬิกาไป 45 องศา เพราะดังที่ได้กล่าวไปแล้วในส่วนของ Introduction เมคานิคส์จะมีความสเถียรสูงหากใช้ระบบพิกัดแบบหมุน 45 องศา โดยการหมุนทำได้โดยการคลิกที่รูปภาพหนึ่งทีเพื่อเป็นการเลือกภาพท่จะหมุน จากนั้นกดปุ่ม
Ctrl + Shift + M
จะได้หน้าต่างดังภาพ ให้ท่านเลือก Rotate และใส่ค่า 45 ลงในช่อง จากนั้นกด Apply
7. ขั้นตอนถัดมา เราจำเป็นต้องเพิ่มวัตถุไปยังพาธโดยการกดปุ่ม
Shift + Ctrl + C
8. และขั้นตอนสุดท้ายคือการแปลงภาพของเราให้เป็น G-code ให้ท่านเลือก
Extensions > Laserengraver > Laser...
จากนั้นให้ท่านปรับค่าต่างๆเช่น ใน Preferences ท่านสามารถปรับ Directory ปลายทางของไฟล์ G-code เราได้ เมื่อท่านปรับค่าต่างๆเสร็จแล้ว ให้กลับมาที่แท็บ Laser ตั้งชื่อไฟล์ของท่าน แล้วกดปุ่ม Apply ไฟล์ของท่านก็จะถูกสร้างเป็นที่เรียบร้อย