เหตุผลที่ต้องทำ
พี่อยากสร้างชุดควบคุมให้หุ่นยนต์แขนพลาสติกที่ประกอบไว้ เพราะการควบคุมด้วยสวิตช์แบบเดิมมันยุ่งยากและต้องใช้มือกดเอง แถมยังต้องใช้แบตเตอรี่สองก้อนเพื่อจ่ายไฟบวกและลบให้วงจรควบคุมอีก ซึ่งมันจะทำให้มอเตอร์หมุนไปข้างหน้าหรือถอยหลังโดยการเปลี่ยนทิศทางของกระแสไฟที่ไหลผ่านมอเตอร์นั่นเอง
เป้าหมายส่วนหนึ่งคือการเอาบอร์ดขับมอเตอร์ที่มีชิป L9110 มาช่วยลดความซับซ้อนของแหล่งจ่ายไฟ ให้เหลือแค่แรงดันเดียว ซึ่งจะใช้แหล่งจ่ายไฟแบบขั้วเดียวธรรมดาก็พอแล้ว
บอร์ดนี้จะสามารถขับมอเตอร์ DC 3V ในแขนหุ่นยนต์ได้ และรองรับแรงดันได้สูงสุดถึง 12V มันยังจ่ายกระแสได้ถึง 800mA ต่อมอเตอร์ ซึ่งมากเกินพอแล้ว หลักการมันคือการสลับขั้วแรงดันไฟที่ขาออก ขึ้นอยู่กับสัญญาณ "ลอจิก" ที่ป้อนเข้าไปสองขา

แขนหุ่นยนต์ตัวนี้มีมอเตอร์ทั้งหมด 5 ตัว และยังมี LED สว่างๆ ติดตั้งอยู่ที่ขากรรไกรคีบอีกด้วย
พี่เลยอยากใช้บอร์ด Arduino เพื่อลดความซับซ้อนของการควบคุม และทำให้ควบคุมได้ง่ายขึ้น
จะใช้บอร์ด Arduino แบบไหนก็ได้ ขอแค่มีขาเอาต์พุตดิจิทัล, ไฟเลี้ยง 5 โวลต์ และอินพุตอนาล็อก (สำหรับทดสอบ) ก็พอแล้ว
ส่วนฮาร์ดแวร์
พี่เห็นโปรเจคที่ใช้บอร์ดขับมอเตอร์คู่ L9110 นี้เยอะมาก แต่ส่วนใหญ่ใช้ PWM ในการขับมอเตอร์ ซึ่งต้องใช้ตัวควบคุมทั้งสองขาเพื่อขับมอเตอร์แค่ตัวเดียว มันดูเปลืองไปหน่อย
มีเรื่องนึงที่คนไม่ค่อยพูดถึง (เพราะดูเหมือนจะไม่มี datasheet ของบอร์ดนี้โดยตรง) นั่นคือการต่อขาเอาต์พุตดิจิทัลของ Arduino เข้ากับขาควบคุมสองขาของบอร์ด L9110 โดยตรงนั้น **ใช้ไม่ได้นะ!**
เพราะแรงดันไฟเลี้ยงสำหรับมอเตอร์นี่แหละที่ขับอินเตอร์เฟซ ถ้ามันต่างจากแรงดัน +5V ที่ Arduino ใช้ มันอาจจะทำลายแหล่งจ่ายไฟของมอเตอร์ หรือไม่ก็ทำลาย Arduino ของเราได้เลย!
ไม่มีรายละเอียดนี้ในข้อมูลจากผู้ผลิต แต่มีอธิบายไว้ในบทความนี้
บทความนั้นอธิบายวิธีทดสอบบอร์ดโดยใช้สวิตช์ 3 ทางต่อขาควบคุมแต่ละขาเข้ากับกราวด์ (0 โวลต์) ซึ่งไม่ต้องแยกชิ้นส่วนบอร์ดให้ยุ่งยากเหมือนในโปรเจคอื่นๆ
ปัญหาคือเราจะจำลองการทำงานแบบนี้ด้วยไอซีลอจิกที่ควบคุมโดย Arduino ได้ยังไง
สิ่งที่เราต้องการคือสเตจเอาต์พุตแบบ Open Collector โดยที่ไฟเลี้ยงของชิปลอจิกไม่ได้ต่อกับบอร์ดมอเตอร์ แต่เอาต์พุตจะทำหน้าที่เหมือนสวิตช์ คือทำให้ขาอินพุตลอจิกของบอร์ดมอเตอร์ชอร์ตลงกราวด์
พี่เจอชิปหนึ่งที่เป็นเกท NAND ที่มีเอาต์พุตแบบ Open Collector ซึ่งต้องการอินพุตสองขาเป็น HIGH ถึงจะทำงาน ทำให้เอาต์พุตต่อกับกราวด์
ชิปเบอร์นี้เรียกว่าชนิด 7403 อาจมาจากผู้ผลิตต่างกันและมีคำนำหน้าเช่น SN, HC ฯลฯ แต่สำหรับโปรเจคนี้ถือว่าเป็นชิปเดียวกัน
ชิปนี้มีเกท NAND อยู่ 4 เกทในแพ็คเกจ DIL 14 ขา ดังนั้นถ้าออกแบบดีๆ เราสามารถควบคุมมอเตอร์ได้ถึง 2 ตัวด้วยชิปเดียว

พี่สร้างโปรเจคบนแผ่น Stripboard เลยออกแบบวงจรได้ง่าย สำหรับมอเตอร์ 5 ตัว ต้องใช้ชิป 7403 จำนวน 3 ตัว ส่วน LED นั้นควบคุมตรงจาก Arduino ได้ แต่เพราะมันกินไฟมาก พี่เลยตัดสินใจขับมันผ่านเกทอินเวอร์เตอร์โดยใช้ชิป 7404 ที่ใช้ไฟ +5V แทน ไม่ผ่านบอร์ดขับมอเตอร์

ถ้าพี่ขับบอร์ดมอเตอร์โดยตรงจาก Arduino จะต้องใช้ขาเอาต์พุตลอจิกจาก Arduino 2 ขาต่อมอเตอร์ 1 ตัว รวมเป็น 10 ขา และอีก 1 ขาสำหรับ LED รวมทั้งหมด 11 ขา
ใช้ NAND gate เนี่ย พี่ลดลงมาเหลือแค่ 7 เอาท์พุทเองจ้า ตัวเปิดมอเตอร์แต่ละตัว ตัวควบคุม LED และตัวสวิตช์เดินหน้า/ถอยหลัง พี่ตัดสินใจว่าเราต้องการให้มอเตอร์ทำงานทีละตัวพอ ซึ่งมันช่วยลดขนาดเพาเวอร์ซัพพลายได้โคตรๆ! ฉะนั้นอินพุทหนึ่งตัวเข้า NAND gate จะใช้เปิด/ปิดมอเตอร์ แล้วก็อีกอินพุทสำหรับเดินหน้า/ถอยหลัง
เพื่อให้บอร์ดทำงานถูกต้อง พี่สามารถกดอินพุทได้ทีละตัวเท่านั้น เพราะถ้ากดสองอินพุทพร้อมกันโดยมีเอาท์พุทเดียวกัน มอเตอร์จะดับแทนที่จะทำงาน แทนที่จะไปเขียนโปรแกรมให้มันซับซ้อน พี่เลือกที่จะโปรแกรมมันลงในชิปลอจิกโดยเพิ่มจำนวน gate เป็นสองเท่าเพื่อควบคุมมอเตอร์: หนึ่งสำหรับเปิด/ปิด+เดินหน้า และอีกหนึ่งสำหรับเปิด/ปิด+ถอยหลัง พอใช้ inverter gate ด้วย ก็ช่วยให้มั่นใจได้ว่าแต่ละครั้งจะทำงานแค่ทางเดียว!
พี่เลยใส่ชิป 7404 เข้าไปในดีไซน์ ซึ่งมี Inverter gate 6 ตัว (hex) ในแพ็คเกจ 14 ขา ใช้หนึ่งตัวขับสัญญาณเดินหน้า/ถอยหลัง และอีกสองตัวขับ LED คอนโทรลทั้งหมดจะต้องเป็น HIGH (+5 โวลต์) เพื่อให้มอเตอร์ทำงานและเคลื่อนที่ไปข้างหน้า มันยังทำให้ LED ติดได้ด้วย ซึ่งช่วยให้เขียนโค้ด Arduino ง่ายขึ้นเยอะ
การทำงานของ NAND Gate
ถ้าอินพุทของ NAND gate ตัวใดตัวหนึ่งเป็น LOW เอาท์พุทจะเป็น HIGH — ไม่ได้สั่งงานลอจิกบนบอร์ดมอเตอร์ (คือไม่เปิดทรานซิสเตอร์ที่ปลายทางของเอาท์พุทลอจิก)
ถ้าอินพุททั้งสองของ NAND gate เป็น HIGH เอาท์พุทจะเป็น LOW — จะสั่งงานลอจิกบนบอร์ดมอเตอร์ (คือเปิดทรานซิสเตอร์ที่ปลายทางของเอาท์พุทลอจิก)

ชิปอินเวอร์เตอร์จะเปลี่ยนเอาท์พุทให้ตรงข้ามกับอินพุท เช่น ใส่ HIGH ออกมาเป็น LOW และกลับกัน

วงจรสมบูรณ์แสดงไว้ในส่วนแผนผังวงจรด้านล่างเลยจ้า มีตัวเปิดมอเตอร์ 5 ตัว ตัวเปิด LED หนึ่งตัว และคอนโทรลเดินหน้า/ถอยหลัง
เพาเวอร์ซัพพลาย
เพาเวอร์ซัพพลาย +3V สำหรับมอเตอร์แยกจากซัพพลายลอจิก ซึ่งได้มาจากบอร์ด Arduino (+5V) ทั้งคู่ใช้จุดต่อกราวด์ (0V) ร่วมกัน ซึ่งต่อกับบอร์ด Arduino และซัพพลาย +3V เพาเวอร์ซัพพลายตัวเดียวกันนี้ต่อกับบอร์ดคอนโทรลมอเตอร์ทั้งสามอัน ซึ่งซ้อนกันระหว่างมอเตอร์กับบอร์ดอินเตอร์เฟซ Arduino ต่อแค่กับบอร์ดอินเตอร์เฟซเท่านั้น ห้ามต่อตรงกับมอเตอร์เด็ดขาด กันบอร์ดพัง!
แต่ละอินเตอร์เฟซเหมือนกันเป๊ะ คูณสามเข้าไป สำหรับบอร์ดมอเตอร์คู่แต่ละชุด!
ทั้งหมดใช้สัญญาณเดินหน้า/ถอยหลังและเพาเวอร์ซัพพลายเส้นเดียวกัน อินพุทและเอาท์พุทอยู่บนคอนเนกเตอร์คนละชุด

ลงมือทำบอร์ดลอจิกกัน
ต้องคล่องเรื่องบัดกรีหน่อยนะน้อง ห้ามมือสั่น!
ต้องมีเฮดเดอร์ชาย (male headers) สำหรับต่อกับบอร์ด Arduino ขนาด 4 และ 3 ชุด
ต้องมีเฮดเดอร์หญิง (female headers) 6 ขา สามอัน สำหรับบอร์ดมอเตอร์แต่ละอัน

ต้องมีเฮดเดอร์ชาย 2 ขา สองอัน อันนึงสำหรับต่อเพาเวอร์ซัพพลาย +5V เข้าบอร์ดลอจิก และอีกอันสำหรับต่อเฮดเดอร์หญิง 2 ขาของ LED เข้าบอร์ดลอจิก
ใช้สายแบบหลายเกลียว (multi-stranded) สำหรับต่อระหว่างบอร์ดกับเฮดเดอร์ และใช้สายแบบเกลียวเดียว (single cored) สำหรับต่อระหว่างชิ้นส่วนบนบอร์ด
ต้องมีซ็อกเก็ต IC 14 ขา 4 ตัว และสตริปบอร์ดขนาด 38 แถว x 20 หลุม (ระยะห่าง 0.1 นิ้ว) เพื่อติดตั้งชิป
ต้องมีตัวต้านทาน (Resistor) 1K 10 ตัว สำหรับควบคุมมอเตอร์ 5 ตัวผ่านบอร์ดมอเตอร์ เพื่อจำกัดกระแสที่ลอจิกบอร์ดดึง
ผมใช้บล็อกต่อช็อกโกแลตแบบสองทาง (two way chocolate block connector) ต่อกับแหล่งจ่ายไฟ +3V ครับ จะได้ต่อกับแบตเตอรี่ AA สองก้อน หรือจะใช้แหล่งจ่ายไฟจากปลั๊กบ้านที่แรงดันเท่ากันก็ได้ ตามสบาย
1. เริ่มจากวางซ็อกเก็ต IC ก่อนเลยครับ งอขาที่ด้านล่างของบอร์ด (ด้านทองแดง) แล้วบัดกรีให้แน่น จากนั้นก็ใช้คัตเตอร์กรีดลายทองแดงที่อยู่ระหว่างสองฝั่งของซ็อกเก็ต IC ออกให้ขาดจากกัน
2. ตัดลายทองแดงระหว่างขาของชิป 7403 กับขาของชิป 7404 ออกด้วยนะครับ ชิป 7404 จะอยู่หลังชิป 7403 ตัวแรก ตามที่เห็นในรูปแปลนเลย
3. ซ็อกเก็ตทั้งสี่ตัวต้องมีช่องว่างระหว่างซ็อกเก็ต 7403 สามตัวด้วยกัน เพื่อเอาไว้วางตัวต้านทาน (Resistor) 1K สองตัว ที่จะดึงสัญญาณ output จากอีกฝั่งของซ็อกเก็ตมาที่ขอบบอร์ด
4. ต่อไปก็เดินสายจากรางไฟ (power supply rails) ที่ด้านบนบอร์ด ไปยังขาที่ 14 และขาที่ 7 ของซ็อกเก็ต IC แต่ละตัว
5. ตามด้วยการเดินสายลูป (wire loops) จากขา 10 ไป 13 และขา 2 ไป 4 บนชิป 7403
6. ใส่สายลูประหว่างขา 4 กับ 5 บนชิป 7404
7. วางตัวต้านทานในแนวตั้งจากขา 1 และ 6 ของแต่ละชิป 7403 บนบอร์ด แล้วตัดลายทองแดงระหว่างปลายทั้งสองข้างออก ระวังอย่าให้ช็อตกันล่ะ
8. วางตัวต้านทานสองตัวข้างๆ ซ็อกเก็ต IC สำหรับแต่ละชิป 7403 แล้วตัดแถบทองแดงระหว่างปลายทั้งสองข้างออกเหมือนเดิม
9. ต่อขาที่ 1 ของชิป 7404 ไปยังขาที่ 5 และ 13 ของชิป 7403 ทุกตัว นี่คืออินพุต Forward
10. ต่อขาที่ 2 ของชิป 7404 ไปยังขาที่ 1 และ 9 ของชิป 7403 ทุกตัว นี่คืออินพุต Forward แบบกลับเฟส (inverted)
11. ต่อสายอื่นๆ ที่เหลือไปยังขา 9 และ 11 ของชิป 7403 (ดูตามวงจรเลยจ้า)
12. ต่อสายแบบฝอย (stranded wires) จากเฮดเดอร์พิน (header pins) 1-6 ไปยังตัวต้านทานที่มาจากขา 3, 6, 9 และ 11 พิน 3 และ 4 ให้ต่อไปที่บล็อกช็อกโกแลตจากแต่ละบอร์ด แล้วเดินสายกราวด์ (Ground) เสริมอีกเส้นจากบล็อกช็อกโกแลตไปยังกราวด์ (0V) บนลอจิกบอร์ด
13. บัดกรีขาสั้นของคอนเนคเตอร์แบบผู้ (male connector) 2 พิน ไปยังกราวด์ (0V) บนลอจิกบอร์ด โดยใช้สายฝอยที่ยาวพอจะไปถึงคอนเนคเตอร์ LED บนแขนหุ่นยนต์ได้
14. บัดกรีสายอีกเส้นไปยังอีกพินของคอนเนคเตอร์ผู้ตัวนั้น แต่ที่ปลายด้านลอจิกบอร์ด ให้บัดกรีตัวต้านทาน 1K ไว้ก่อน
15. บัดกรีปลายอีกข้างของตัวต้านทานนั้นไปยังขาที่ 6 ที่อยู่ข้างๆ ชิป 7404
16. ต่อไป บัดกรีสายฝอยจากขา 2 และ 10 บนชิป 7403 ไปยังเฮดเดอร์ผู้ ตามที่แสดงในแผนภาพวงจร
17. ตามด้วยการบัดกรีสายฝอยจากขา 1 และ 3 บนชิป 7404 ไปยังเฮดเดอร์ผู้ ตามแผนภาพวงจร
18. บัดกรีขาสั้นของคอนเนคเตอร์แบบผู้ (male connector) 2 พิน อีกตัว ไปยังกราวด์ (0V) บนลอจิกบอร์ด โดยใช้สายฝอยที่ยาวพอจะไปถึงขา Gnd บนบอร์ด Arduino
19. บัดกรีสายอีกเส้นไปยังอีกพินของคอนเนคเตอร์ผู้ตัวนั้น แต่ให้ต่อเข้ากับแหล่งจ่าย +5V บนลอจิกบอร์ด
ผมใช้สีสายไฟต่างกันเพื่อแยกแยะนะ น้องก็ทำแบบเดียวกันด้วย จะได้เช็คจุดผิดพลาดได้ง่ายๆ อย่าใช้สีเดียวหมดล่ะ งานจะเละ!
**สำคัญมาก!** หลังจากบัดกรีในแต่ละขั้นตอนเสร็จ ให้ใช้มัลติมิเตอร์ตั้งโหมด 'โอห์ม' เช็คการต่อสายทุกครั้ง ดูว่าจุดที่เราต่อไปนั้นไม่ได้ช็อตกับพินอื่นๆ ที่อยู่รอบข้างจุดนั้นนะ ห้ามขี้เกียจเช็ค!
ใช้ท่อหดความร้อน (heat shrink tubing) หุ้มขาคอนแทคที่เปลือยอยู่บน IDC เฮดเดอร์ ทั้งแบบผู้และแบบเมียให้เรียบร้อย ปลอดภัยไว้ก่อน
แผนภาพวงจร



ไดรฟ์มอเตอร์ DC ประสิทธิภาพสูง
โปรเจคนี้เราจะมาเซียนเรื่องไดรเวอร์มอเตอร์ **L9110** แบบ Dual-Channel H-Bridge สำหรับหุ่นยนต์เคลื่อนที่กันครับ L9110 ตัวนี้สามารถขับมอเตอร์ DC ได้สองตัว หรือขับสเต็ปเปอร์มอเตอร์แบบ 4 สายได้หนึ่งตัว แม้ว่าโปรเจคนี้จะใช้อินเตอร์เฟซลอจิกดิจิตอลสำหรับควบคุม แต่ Arduino ของเราก็สามารถใช้ PWM (Pulse Width Modulation) กับพิน Enable ของมอเตอร์เพื่อควบคุมความเร่ง การลดความเร็ว และความเร็วมอเตอร์แบบเป็นขั้นได้เหมือนกัน บอร์ดนี้ยังมีระบบป้องกันอุณหภูมิเกินและลัดวงจรในตัว ช่วยจัดการความร้อนได้อย่างแมนๆ งานนี้จัดไปวัยรุ่น!
ความคล่องตัวของหุ่นยนต์
โครงสร้างเฟิร์มแวร์ที่ควบคุมมอเตอร์แต่ละตัวผ่านอาร์เรย์ และมีขาพินกำหนดทิศทางแบบรวมศูนย์เนี่ย มันสร้างพื้นฐานที่แน่นปึ๊กสำหรับการเขียนฟังก์ชันการเคลื่อนไหวระดับสูงเลยนะน้อง แบบว่าเราสามารถสร้างไลบรารีฟังก์ชันง่ายๆ อย่าง `Forward(motor_number)`, `Reverse(motor_number)`, และ `Brake(motor_number)` ได้สบายๆ เลย สำหรับหุ่นยนต์สองล้อที่ใช้ไดรเวอร์มอเตอร์แบบเดียวกัน เราก็สามารถต่อยอดลอจิกนี้ไปสร้างฟังก์ชัน `TurnLeft()` กับ `TurnRight()` ได้อีกด้วย งานนี้จัดไปวัยรุ่น!
ส่วนของซอฟต์แวร์
สิ่งที่ต้องมีคือ Arduino IDE (Integrated Development Environment) โปรแกรมฟรีที่โหลดได้ตามเว็บ Arduino.cc ตามด้วยโปรแกรม .ino ที่พี่เขียนไว้ และโปรแกรม Test Motor สำหรับควบคุมบอร์ดผ่านลอจิกบอร์ดนั่นเอง
น้องต้องติดตั้งโปรแกรม IDE ลงในเครื่อง PC หรือ Linux ก่อนนะ ถึงจะอัพโหลดโปรแกรมลงไปในบอร์ด UNO ได้
โปรแกรมนี้จะทำการเปิดมอเตอร์ทีละตัว โดยมีการตรวจสอบสวิตช์ที่ต่ออยู่กับอินพุตอนาล็อกของบอร์ด Arduino ด้วย
เราสามารถตั้งค่าให้มอเตอร์หมุนไปข้างหน้าหรือถอยหลังได้ แต่พอยกปล่อยสวิตช์ มอเตอร์จะหยุดและสลับทิศทางทันที ห้ามช็อตนะตัวนี้!
เราสามารถใช้โปรแกรมนี้เพื่อทดสอบมอเตอร์แต่ละตัวได้ โดยอัพโหลดโปรแกรมใหม่ทุกครั้งที่ต้องการเปลี่ยนสถานะมอเตอร์
เอาต์พุตของมอเตอร์แต่ละตัว (รวมถึง LED) จะถูกโปรแกรมเก็บไว้ในอาร์เรย์
เอาต์พุตเป็น HIGH จะทำให้มอเตอร์หรือ LED ทำงาน โดยถ้าเป็น HIGH ในส่วนตั้งค่าหน้า/หลัง จะหมายถึงทิศทาง "ไปข้างหน้า"
เอาต์พุตเป็น LOW จะทำให้มอเตอร์หรือ LED ดับ โดยถ้าเป็น LOW ในส่วนตั้งค่าหน้า/หลัง จะหมายถึงทิศทาง "ถอยหลัง"
int Motor[8] ; // Array for all motor output pins, one more than required
void setup() {
Motor[1] = 4; // Set output numbers for ports
Motor[2] = 5;
Motor[3] = 6;
Motor[4] = 7;
Motor[5] = 8;
Motor[6] = 9; // Set up port for LED on head of arm.
Motor[7] = 10; // Forward / reverse selection for ALL motors
// Switch connected to GND and A0, to locally turn off motors while testing.
pinMode(Motor[1], OUTPUT); // Open port to operate motor on Pincers Forward = In Reverse = Out
pinMode(Motor[2], OUTPUT); // Open port to operate motor Up= High Reverse = Down
pinMode(Motor[3], OUTPUT); // Open port to operate motor Forward = Forward Reverse = Backward
pinMode(Motor[4], OUTPUT); // Open port to operate motor Wrist Forward = Up Reverse = Down
pinMode(Motor[5], OUTPUT); // Open port to operate motor base Rotate Forward = Right Reverse = Left
pinMode(Motor[6], OUTPUT); // Open port to operate LED on head of Arm HIGH = ON LOW = OFF
pinMode(Motor[7], OUTPUT); // Open port for Forward / Reverse selection for ALL motors
}
void loop() {
digitalWrite(Motor[6], LOW); // Turn off LED.
if (analogRead(A0)< 1){ // switch ON
digitalWrite(Motor[1], HIGH); // Turn on Motor 1. HIGH turns it on! Pincers
digitalWrite(Motor[7], LOW); // HIGH is Forward, Reverse is OFF.
Serial.println(analogRead(A0));
}
if (analogRead(A0) > 200 ){ // switch OFF
digitalWrite(Motor[1], LOW); // Turn on Motor 1. HIGH turns it on!
digitalWrite(Motor[7], LOW); // HIGH is Forward, Reverse is OFF.
Serial.println(analogRead(A0));
}
delay(200); // debounce the switch action
}

ข้อมูล Frontmatter ดั้งเดิม
apps: - "1x Arduino IDE" author: "adamsstephen" category: "Motors & Robotics" components: - "1x Arduino Due" - "4x 14 pin DIL IC Sockets (Generic)" - "1x Arduino 101" - "1x 7404 Hex inverter IC (generic)" - "1x Solder Reel" - "1x Male Header 40 Position 1 Row (0.1\")" - "1x Heat Shrink Tubing to cover Header connections" - "1x Maker Essentials - Various Headers" - "1x Soldering iron (generic)" - "1x Arduino UNO" - "1x Pliers" - "1x 3 volt power supply (2xAA cells in holder)" - "3x 7403 NAND gate IC" - "1x Chocolate Block Connector 5 amp (generic)" - "1x Wire Cable - By the Foot" - "1x Arduino Mega 2560" - "11x Resistor 1k ohm" description: "This project shows you how to successfully control a robot arm using the L9110 motor board, without using up all your Arduino outputs." difficulty: "Intermediate" documentationLinks: [] downloadableFiles: [] encryptedPayload: "U2FsdGVkX185IGXJPGta1rU84UAjURnVL79jEHMAedoGcb/txug3IomQJo9aowHNK264NznQWIGHl/rspM/U1TnUr3DVK1VFwVQCwnlgD4I=" heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/controlling-an-l9100-motor-driver-board-using-arduino-3c3b16_cover.jpg" lang: "en" likes: 5 passwordHash: "d836476fae38d1e311ebeb2c3b92bcbcc537ec51b6da391be5af3fa20f9bee6b" price: 2450 seoDescription: "Learn to control a Robot arm with L9110 Motor Board and Arduino efficiently without exhausting all Arduino outputs." tags: - "remote control" - "robots" title: "ควบคุม L9100 Motor Driver Board ด้วย Arduino งานง่ายแต่หล่อ!" tools: [] videoLinks: [] views: 12106