เด็กโข่งทำหุ่นยนต์ ตอนที่ 7 ตอนจบ

ครั้งที่แล้วทำ Android App Bluetooth Joypad เอามาเล่นคู่กับหุ่นยนต์กันไปแล้ว ครั้งนี้มาอัพเดทมหากาพย์เกี่ยวกับ Lipo Battery และ PCB ในส่วนควบคุม เรื่องแรกที่ต้องคำนึงถึงคือ load ทั้งหมดที่ใช้ในตัวหุ่นยนต์จะต้องคำนวณออกมาก่อน ก่อนที่จะหา Lipo Battery มาใช้งาน มาลองดูการคำนวณแบบคร่าวๆ กันก่อน

สำหรับหุ่นยนต์ตัวนี้มี 4 ขา มี servo ขาละ 3 ตัว รวมทั้งหมดใช้ servo 12 ตัว ตัว servo กินไฟ 4.7V ~ 220mAh รวม 220×12 = 2,640mAh ไฟจะต้องจ่ายแยกให้ Arduino Nano เข้่าช่อง Vin กินไฟประมาณ 7-12V ดังนั้นเราจะต้องใช้ Lipo Battery ประมาณ 7V-12V ~ 2,700mAh ขึ้นไปจะได้เล่นได้นานๆ อย่าลืมชั่งน้ำหนัก Lipo Battery ด้วยเพราะเดี๋ยว servo จะไม่มีแรงยก และอย่าลืม regulator แปลงไฟจาก Lipo มาให้ servo ด้วยไฟจะได้ไม่เกิน เดี๋ยว servo พัง ผมก็พยายามทำ PCB ได้หน้าตาประมาณนี้
Continue reading

เด็กโข่งทำหุ่นยนต์ ตอนที่ 6

เขียน App Bluetooth Joystick ใหม่ เอาไว้เล่นกับหุ่นยนต์ App ใหม่เปลี่ยนมาใช้ปุ่มแบบ Joypad ซึ่งจะใช้งานง่ายกว่าและเหมาะสมกว่ากับหุ่นยนต์แบบนี้ และได้แก้ปัญหาเรื่อง flood คำสั่งตอนส่งข้อมูลผ่าน Bluetooth ด้วย จาก App Joystick อันเก่าสามารถตั้งค่าปุ่มได้ แต่พอตั้งค่าสำหรับใช้งานจริง ค่าของปุ่มมันเยอะมาก เยอะจนรู้สึกว่าตั้งค่า Joystick นี่มันนรกชัดๆ ใน App ใหม่ก็เลยใช้วิธีการตั้งค่าอัตโนมัติผ่าน QR Code ซึ่งค่าของปุ่มจะอยู่ใน QR Code กด scan QR Code แล้วก็เล่นได้เลย

สำหรับหน้าตา App ก็เห่ยๆ แบบนี้ครับ
Continue reading

เด็กโข่งทำหุ่นยนต์ ตอนที่ 5

ใช้เวลาช่วงเสาร์-อาทิตย์ให้เกิดประโยชน์สักหน่อย เนื่องจากหุ่นยนต์เหลือแค่เรื่อง regulator กับแบตเตอร์รี่อีกนิดหน่อยคิดว่าน่าจะเล่นได้โดยไม่ต้องต่อสาย USB ยาวๆ ก็เลยมาปรับปรุงเรื่อง Bluetooth Remote App ใหม่ เขียนให้ยืดหยุ่นมากขึ้นจะได้ใช้ได้กับหลายๆ โครงการ ตอนแรกก็พยายามหา App Joystick ใน Google Playstore ก็พบว่าส่วนใหญ่จะขาย แต่ไม่ได้รองรับความต้องการของผมมากนัก ก็เลยจัดการเขียนใหม่

สำหรับ App ใหม่มี feature ที่ต้องการดังนี้

  • มี Joystick 2 อัน ซ้าย ขวา
  • ตั้งค่าปุ่มของ Joystick แบบปกติได้ 16 คำสั่ง
  • เข้าโหมด Hold คือ กดค้างข้างหนึ่ง แล้วสั่งงานอีกข้างหนึ่ง จะใช้งานได้อีก 16 คำสั่ง
  • ตั้งค่า Constrain ได้ เช่น ด้านซ้ายเลื่อนขึ้นลง ด้านขวาเลื่อนซ้ายขวา เป็นต้น
  • รองรับการ video streaming ดึงภาพจากกล้องที่ติดอยู่กับหุ่นยนต์ โดย Joystick จะ Overlay อยู่บนหน้าจอวิดีโอ

ได้ App หน้าตาประมาณนี้
Continue reading

เด็กโข่งทำหุ่นยนต์ ตอนที่ 4

ไม่ได้มาอัพเดทเจ้าหุ่นยนต์ 4 ขามาสักระยะเพราะไปสนใจทำของเล่นชิ้นอื่นอยู่ ช่วงเวลาที่ผ่านได้มีโอกาสไปเรียน IK มานิดหน่อย และพยายามแก้ปัญหาเรื่อง Hardware ไปในตัวทั้งเรื่อง Battery และการเขียนโค้ดควบคุมผ่าน Android จริงๆ ก็เอาของเก่ามาแก้ไขนิดหน่อย

มีการเปลี่ยนแปลงเรื่อง Hardware จาก Arduino UNO กลับมาใช้ Arduino Nano แทนเพราะเล็กและเบากว่า ประเด็นเรื่อง Battery ที่จะมาจ่ายให้ servo ยังมีปัญหาอยู่นิดหน่อย จากที่ได้ลองทำ regulator เอง ทำ Arduino Nano ไหม้ไป 1 ตัว สงสัยไฟแรงไปหน่อย ก็เลยกลับมาใช้ไฟจากคอมพิวเตอร์ไปก่อน
Continue reading

เด็กโข่งทำหุ่นยนต์ ตอนที่ 3

หลังจากหาวิธีเขียนควบคุม servo motor อยู่พักใหญ่เลยแอบไปดูข้อมูลของ servo motor controller ซึ่งวิธีการใช้งานง่ายมากๆ สามารถสั่งงานให้ servo ทำงานพร้อมกันได้ มีโปรแกรมบันทึกการเคลื่อนไหวเก็บเป็นคำสั่งไว้ในตัวบอร์ดได้เลย แถมยังใช้ Joy PS2 มาควบคุมได้อีกต่างหาก แหมรู้อย่างนี้ซื้อ servo motor controller มาตั้งแต่แรกก็ดีเพราะการใช้งานมันง่ายมากๆ ไม่ต้องเขียนโค้ด T_T

กลับมาอัพเดทสักหน่อย พยายามนั่งเรียน inverse kinematics แต่ก็ยังไม่เข้าหัวสักเท่าไร ก็เลยใช้การกำหนดค่าแบบตายตัวไปก่อน โดยแบ่งการควบคุมแบบ 4 ขา และทีละขา ทำให้ง่ายกว่าการเขียนควบคุม servo ทีละตัวทำให้ง่ายขึ้นมาอีกหน่อย
Continue reading

เด็กโข่งทำหุ่นยนต์ ตอนที่ 2

หลังจากพยายามพิมพ์ชิ้นส่วนและแก้ไขแบบไปหลายรอบก็ได้โครงร่างของหุ่นยนต์แมงมุม 4 ขามา 1 ตัว เนื่องจากมีการแก้ไขแบบนิดหน่อย เปลี่ยน servo holder เอาไปติดกับแขนจะได้ไม่ต้องหาน็อตตัวเล็กๆ มาขัน servo holder กันอีก เปลี่ยนจาก Arduino Pro มาเป็น Arduino UNO เพิ่มถาดรอง Arduino UNO อีกชิ้นหนึ่ง จากที่ได้ลองหาข้อมูลและได้รับคำแนะนำจากหลายๆ ท่าน ในเรื่องการควบคุม servo ผ่าน servo controller โดยไม่ต้องใช้ Arduino มาต่อ ก็พบว่าเป็นวิธีที่ดีมากๆ แต่เนื่องจากมี Arduino UNO เหลืออยู่ 3 ตัว ก็เลยเอามาใช้งานน่าจะดีกว่าและหา servo shield มาต่อกับ Arduino อีกที

ตัว servo shield ที่หามาได้เป็น Adafruit 16-channel PWM/Servo Shield มีหน้าตาประมาณนี้
Continue reading

เด็กโข่งทำหุ่นยนต์ ตอนที่ 1

เนื่องจากความอยากรู้และอยากทำหุ่นยนต์บ้าง ก็เลยหา 3D Model จาก Thingiverse โครงการ Spider Robot ดูน่าสนุกดี เพราะใช้อุปกรณ์น้อย ไม่ต้องใช้น็อต แหวน แบริ่ง คิดว่าแบบนี้ง่ายดี ก็เลยลองทำ จากที่ลองพิมพ์ชิ้นส่วน เสียไปหลายชิ้น เพราะรูที่เจาะไม่ตรง ก็เลยต้องค่อยๆ คว้านเพื่อให้ใส่ servo และ holder ได้

พอพิมพ์ออกมา แล้วลองประกอบดูก็พบว่าต้องใช้สกรูตัวเล็กขันตัว servo holder ติดกับส่วนต่างๆ ด้วย ก็เลยทำให้ต้องออกแบบใหม่ จะได้ไม่ต้องใช้สกรู แต่ต้องมาเหนื่อยแกะ support แทน
Continue reading