สารบัญ:

สร้างหัวหุ่นยนต์พูดคุยที่ขับเคลื่อนด้วย Arduino!: 26 ขั้นตอน (พร้อมรูปภาพ)
สร้างหัวหุ่นยนต์พูดคุยที่ขับเคลื่อนด้วย Arduino!: 26 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: สร้างหัวหุ่นยนต์พูดคุยที่ขับเคลื่อนด้วย Arduino!: 26 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: สร้างหัวหุ่นยนต์พูดคุยที่ขับเคลื่อนด้วย Arduino!: 26 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: หุ่นยนต์ AI พูดในเวที UN ชี้เป็นผู้นำโลกได้ดีกว่ามนุษย์ ยืนยันจะไม่แย่งงาน | TNN Tech Reports 2024, กรกฎาคม
Anonim
สร้างหัวหุ่นยนต์พูดคุยที่ขับเคลื่อนด้วย Arduino!
สร้างหัวหุ่นยนต์พูดคุยที่ขับเคลื่อนด้วย Arduino!

เดิมทีหัวหุ่นยนต์นี้ถูกสร้างขึ้นเพื่อเป็นโปรเจ็กต์สิ้นปีสำหรับชั้นเรียนคอมพิวเตอร์จริงของฉัน แต่ในช่วงซัมเมอร์ หุ่นยนต์ได้ "เรียนรู้" วิธีพูด ส่วนหัวนี้ขับเคลื่อนโดย Freeduinos สองตัว, ชิป TLC5940NT 3 ชิป และ Adafruit Industries Wave Shield อยู่ที่นี่: www.ladyada.net/make/waveshield/ ขณะนี้ส่วนหัวเชื่อมต่อกับคอมพิวเตอร์ด้วยสาย USB สองเส้น สายหนึ่งสำหรับจ่ายไฟ อีกสายหนึ่งสำหรับส่งคำสั่งแบบอนุกรมว่าจะพูดอะไร/แสดงอารมณ์ เมื่อหัวหน้าได้รับคำสั่งที่พิมพ์เกี่ยวกับสิ่งที่จะพูด/แสดงอารมณ์ มันก็จะเล่นไฟล์คำแต่ละไฟล์เพื่อสร้างประโยคหรือหลายประโยค นอกจากนี้ยังเปลี่ยนอารมณ์ตามคำสั่งทางอารมณ์ที่ส่งจากคอมพิวเตอร์ หัวหุ่นยนต์นี้เป็นพื้นฐานสำหรับการใช้งานที่เป็นไปได้หลายอย่าง เนื่องจากสามารถพูดอะไรก็ได้ที่มีคำศัพท์ ตอนนี้ฉันกำลังพยายามเชื่อมต่อกับอินเทอร์เน็ต และตรวจสอบและอ่านอีเมลของฉันผ่านสคริปต์ PHP ฉันจะอัปเดตคำแนะนำนี้ในขณะที่ฉันดำเนินการตามนั้น นี่คือวิดีโอของการใช้งานจริง: The head ยังคงเป็นโครงการที่กำลังดำเนินการอยู่ ดังนั้นความคิดเห็นใดๆ เกี่ยวกับสิ่งใดที่นี่ก็ยินดีต้อนรับ! ขอขอบคุณเป็นพิเศษสำหรับ Liz Arum ที่ช่วยฉันในทุกสิ่ง! อัปเดต: เนื่องจากคำขอยอดนิยม ตอนนี้ฉันได้เพิ่มเข้าไปแล้ว วิดีโอของหุ่นยนต์พูดและแสดงออก! เพลิดเพลินในยามว่างของคุณ!

ขั้นตอนที่ 1: รวบรวมวัสดุ/ชิ้นส่วน/อิเล็กทรอนิกส์ทั้งหมด

หัวหุ่นยนต์นี้ใช้: Breadboard 1 ชิ้น (ต้องมีความยาวมากกว่า 48 แถวโดยมีช่องว่างตรงกลางกระดานเพื่อเชื่อมต่อชิป IC พลังงานและบัสกราวด์วิ่งไปตามด้านข้างของเขียงหั่นขนมก็จำเป็นเช่นกัน) ไฟ LED RGB 2 ดวง (สำหรับดวงตาหลากสี) Common Anode $1.50 - 1.95 ต่ออัน 2 X $1.75 = $3.5036 ไฟ LED สีแดง (สำหรับปาก) ที่ใดที่หนึ่งในช่วงราคา 40-50 เซ็นต์สำหรับแต่ละรายการ 36 X $.45 = $16.202 HXT900 Micro Servos (สำหรับการขนคิ้ว) สามารถพบได้ที่: https://www.hobbycity.com/hobbycity/store/uh_viewItem.asp?idProduct=662 2 X $3.65 = $7.303 TLC5940NT's (ถึง ขับ/เปิดไฟ LED ทั้งหมดและควบคุมเซอร์โว) สามารถพบได้ที่ Digi-key https://search.digigey.com/scripts/DkSearch/dksus.dll?Detail&name=296-17732-5-ND ที่ 4.28 ดอลลาร์ 3 X $4.28 = $12.84 หรือ Mouser https://www.mouser.com/ProductDetail/Texas-Instruments/TLC5940NT/?qs=sGAEpiMZZMu8%252bGBKj8XSFEjwsgnt5grMZ49G/W4nR14%3d3 ตัวเก็บประจุ (~1000uf) (สำหรับสายการรีดและสัญญาณรบกวน) เซอร์โว) กู้จากแหล่งจ่ายไฟของคอมพิวเตอร์เครื่องเก่า Free2 ต้นฉบับ Freeduinos หรือ Arduinos สามารถซื้อ Freeduinos ได้ที่ https://www.freeduino.org/buy.html โดยมีราคาชิ้นละ 23.99 2 X $23.99 = $47.98 หรือ www.sparkfun.com/commerce/product_info.php สำหรับ Arduinos ราคาอันละ 29.95 บ. 2 X $ 29.95 = $59.90 คำเตือน: Freeduinos ต้องการความรู้ด้านการบัดกรี หากคุณไม่ต้องการบัดกรีบอร์ดของคุณ ให้ซื้อ Arduino คำเตือน: คำแนะนำนี้ต้องการความรู้เกี่ยวกับการบัดกรีอยู่แล้ว ทำไมไม่เริ่มตอนนี้ล่ะ:)1 Waveshield จาก Adafruit Industries (เพื่อให้หุ่นยนต์พูดได้) สามารถซื้อได้ที่: https://www.ladyada.net/make/waveshield/ ราคาชิ้นละ 22 เหรียญสหรัฐ ราคารวมของชิ้นส่วนไฮเทคทั้งหมดโดยประมาณ (ไม่รวม การจัดส่ง) หากคุณซื้อ Freeduinos แทน Arduinos คือ…. $109.82!ค่าใช้จ่ายทั้งหมดของชิ้นส่วนไฮเทคทั้งหมดหากคุณซื้อ Arduinos แทน Freeduinos คือ…. 121.74 ดอลลาร์! และสำหรับวัสดุไฮเทค คุณจะต้องมีกล่องกระดาษแข็งขนาดเดียวกับที่คุณต้องการให้หัวของคุณเป็นกระดาษแข็งชิ้นเล็กเทปกาวลวดที่เข้ากันได้กับบอร์ดบอร์ด (22 เกจ แข็ง)ลวดสำหรับยึดสิ่งของกับสิ่งของอื่นๆ บล็อกขนาดเล็ก ของไม้สว่านไฟฟ้า ท่อหดความร้อนสำหรับแยกสายไฟที่เปิดอยู่และสิ่งที่จะเป่าลมร้อนให้หดตัวด้วย (ปืนลมร้อน) เครื่องตัดกล่อง

ขั้นตอนที่ 2: ประกอบและประสานแผงวงจรและโล่ทั้งหมด

ประกอบและประสานแผงวงจรและโล่ทั้งหมด
ประกอบและประสานแผงวงจรและโล่ทั้งหมด

ประสาน Freeduinos (เหมือนที่ฉันทำ) หรือไม่สนใจบรรทัดนี้หากคุณซื้อ Arduino นี่คือลิงค์ไปยังคำแนะนำในการประกอบสำหรับทุกคนที่ซื้อ Freeduinos:mcukits.com/2009/03/12/assembling-the-freeduino-board-kit/Solder the Waveshields Lady Ada มีคำแนะนำที่ดีมากเกี่ยวกับวิธีการทำเช่นนี้บนเว็บไซต์ของเธอที่ https://www.ladyada.net/make/waveshield/solder.htmlหมายเหตุ:นอกเหนือจากการบัดกรี Waveshield เข้าด้วยกันตามที่ระบุไว้ เพิ่มลวดยาวที่บัดกรีบนตัวต้านทาน R7 ที่ด้านใกล้กับชิปแอมพลิฟายเออร์มากที่สุด สิ่งนี้จะเชื่อมต่อกับอินพุตแบบอะนาล็อก 1 บน Freeduino ที่ควบคุมไฟ LED ของหัวหุ่นยนต์ (ไม่ต้องกังวลว่าจะเสียบปลายอีกด้านของลวดไว้ที่ใดในตอนนี้ ซึ่งจะอธิบายรายละเอียดในภายหลัง) ดูภาพสำหรับความกระจ่างเกี่ยวกับตำแหน่งที่จะบัดกรีลวด

ขั้นตอนที่ 3: ออกแบบหัวหุ่นยนต์

ออกแบบหัวหุ่นยนต์
ออกแบบหัวหุ่นยนต์

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

ขั้นตอนที่ 4: ออกแบบหัวหุ่นยนต์ของคุณ: ตัดสายตาออก

ออกแบบหัวหุ่นยนต์ของคุณ: ตัดสายตาออก
ออกแบบหัวหุ่นยนต์ของคุณ: ตัดสายตาออก

ติดเทปหรือทำเครื่องหมายชิ้นส่วนไปยังตำแหน่งสุดท้ายบนกล่องแล้วตัดออก (เก็บกระดาษที่ใช้แทนปากไว้ ไว้ใช้ทีหลัง)

ขั้นตอนที่ 5: ออกแบบหัวหุ่นยนต์ของคุณ: สร้างเมทริกซ์ LED สำหรับปาก

ออกแบบหัวหุ่นยนต์ของคุณ: สร้างเมทริกซ์ LED สำหรับปาก
ออกแบบหัวหุ่นยนต์ของคุณ: สร้างเมทริกซ์ LED สำหรับปาก
ออกแบบหัวหุ่นยนต์ของคุณ: สร้างเมทริกซ์ LED สำหรับปาก
ออกแบบหัวหุ่นยนต์ของคุณ: สร้างเมทริกซ์ LED สำหรับปาก
ออกแบบหัวหุ่นยนต์ของคุณ: สร้างเมทริกซ์ LED สำหรับปาก
ออกแบบหัวหุ่นยนต์ของคุณ: สร้างเมทริกซ์ LED สำหรับปาก

แต่ละ LED ในปากจะสว่างขึ้นอย่างอิสระ ในการทำเช่นนั้น คุณต้องสร้างเมทริกซ์ LED สำหรับปาก (สำหรับแนวคิดเกี่ยวกับเมทริกซ์ LED ดูภาพที่ 1) นำกระดาษที่ควรจะเป็นปากและด้วยดินสอและไม้บรรทัดแบ่งกระดาษออกเป็น 36 ส่วน (9 X 4) หนึ่งหลอดสำหรับ LED แต่ละดวงในตาราง หลังจากที่คุณทำเสร็จแล้ว ให้เทปกระดาษกับชิ้นไม้และระวังอย่าเจาะทะลุพื้น (สิ่งนี้เกิดขึ้นกับฉันแล้ว ฉันขอแนะนำให้เจาะบนกล่องกระดาษแข็ง) เจาะรูที่เส้นตัดด้วยดอกสว่าน 1/4 นิ้ว เพื่อให้ไฟ LED ของคุณแนบสนิท ขนาดของดอกสว่านนั้นขึ้นอยู่กับขนาดของ LED ของคุณอย่างชัดเจน ดังนั้นให้ใช้ดอกสว่านที่เล็กกว่าสำหรับ LED ที่มีขนาดเล็กกว่า (เริ่มต้นเล็ก ๆ แล้วพยายามต่อไป!) ดูรูปภาพ 2 และ 3 เพื่อความกระจ่างเกี่ยวกับการเจาะ/การทำเครื่องหมาย

ขั้นตอนที่ 6: การสร้างเมทริกซ์ LED ปาก: การบัดกรีในไฟ LED

การสร้างเมทริกซ์ LED ปาก: การบัดกรีในไฟ LED
การสร้างเมทริกซ์ LED ปาก: การบัดกรีในไฟ LED
การสร้างเมทริกซ์ LED ปาก: การบัดกรีในไฟ LED
การสร้างเมทริกซ์ LED ปาก: การบัดกรีในไฟ LED
การสร้างเมทริกซ์ LED ปาก: การบัดกรีในไฟ LED
การสร้างเมทริกซ์ LED ปาก: การบัดกรีในไฟ LED

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

ขั้นตอนที่ 7: การสร้างเมทริกซ์ LED ปาก: การบัดกรีสายควบคุมบน LED

การสร้างเมทริกซ์ LED ปาก: การบัดกรีสายควบคุมบนไฟ LED
การสร้างเมทริกซ์ LED ปาก: การบัดกรีสายควบคุมบนไฟ LED
การสร้างเมทริกซ์ LED ปาก: การบัดกรีสายควบคุมบนไฟ LED
การสร้างเมทริกซ์ LED ปาก: การบัดกรีสายควบคุมบนไฟ LED
การสร้างเมทริกซ์ LED ปาก: การบัดกรีสายควบคุมบนไฟ LED
การสร้างเมทริกซ์ LED ปาก: การบัดกรีสายควบคุมบนไฟ LED

บัดกรีสายไฟยาวที่สามารถใส่ลงในเขียงหั่นขนม (22 เกจ) กับตะกั่วแคโทด LED ทั้งหมด สายไฟเหล่านี้จะควบคุมไฟ LED หลังจากนั้น ต้องแน่ใจว่าได้หุ้มฉนวนสายไฟแต่ละเส้นด้วยเทปพันสายไฟ (ไม่สนุก) หรือท่อหดด้วยความร้อน (แนะนำ) นอกจากการบัดกรีสายไฟเข้ากับตะกั่วแคโทด LED ทั้งหมดแล้ว ให้บัดกรีสายไฟ 2 หรือ 3 เส้นเข้ากับส่วนแอโนดของกริด (ส่วนที่บัดกรีรวมกันทั้งหมด) สายไฟเหล่านี้จะทำหน้าที่เป็นตัวเสริมกำลังไฟฟ้าที่กระจายพลังงานไปทั่วโครงข่าย พวกเขาจะเชื่อมต่อกับ 5V

ขั้นตอนที่ 8: ติดตั้งเซอร์โวขยับคิ้วภายในหัวหุ่นยนต์

ติดตั้งเซอร์โวขยับคิ้วภายในหัวหุ่นยนต์
ติดตั้งเซอร์โวขยับคิ้วภายในหัวหุ่นยนต์
ติดตั้งเซอร์โวขยับคิ้วภายในหัวหุ่นยนต์
ติดตั้งเซอร์โวขยับคิ้วภายในหัวหุ่นยนต์
ติดตั้งเซอร์โวขยับคิ้วภายในหัวหุ่นยนต์
ติดตั้งเซอร์โวขยับคิ้วภายในหัวหุ่นยนต์

ก่อนติดตั้งมินิเซอร์โวในหัวหุ่นยนต์ ให้กาวร้อนด้วยลวดที่แข็งแรง (แต่ยังคงงอได้) ไว้บนแขนเซอร์โวก่อน ลวดนี้จะขึ้นไปด้านในของหุ่นยนต์ ออกมาจากด้านบนแล้วคลานกลับลงมาเพื่อขยับคิ้ว (ดูภาพเพื่อความกระจ่าง) นำมินิเซอร์โวของคุณ (พร้อมสายไฟติดอยู่) และกาวร้อนเข้าไปที่ด้านในของหัวหุ่นยนต์ของคุณ ใต้ตา ตรวจสอบให้แน่ใจว่าสายไฟสามารถเคลื่อนจากด้านหนึ่งไปอีกด้านหนึ่ง

ขั้นตอนที่ 9: ติดตั้ง Grid Inside ของ Robot Head

ติดตั้ง Grid Inside ของ Robot Head
ติดตั้ง Grid Inside ของ Robot Head
ติดตั้ง Grid Inside ของ Robot Head
ติดตั้ง Grid Inside ของ Robot Head

กาวกริดกับกระดาษแข็งที่คุณเจาะรูและกาวร้อนที่ด้านในของหัวหุ่นยนต์

ขั้นตอนที่ 10: ประสานไฟ LED RGB

ประสานไฟ LED RGB
ประสานไฟ LED RGB

ประสานไฟ LED RGB Anode ทั่วไปนำไปสู่สายยาว จากนั้นประสานลวดสี (แดง เขียว น้ำเงิน) กับตะกั่ว RGB LED ที่ตรงกัน (สามารถค้นหาสีของตะกั่วแต่ละอันได้โดยใช้แบตเตอรี่ปุ่ม 3V เพื่อจุดไฟ LED แต่ละอันตามลำดับ) อย่าลืมหุ้มฉนวนสายไฟ!

ขั้นตอนที่ 11: ติดตั้งไฟ LED RGB ภายในหัวหุ่นยนต์

ติดตั้งไฟ LED RGB ภายในหัวหุ่นยนต์
ติดตั้งไฟ LED RGB ภายในหัวหุ่นยนต์
ติดตั้งไฟ LED RGB ภายในหัวหุ่นยนต์
ติดตั้งไฟ LED RGB ภายในหัวหุ่นยนต์

ติดตั้งไฟ LED ภายในหัวหุ่นยนต์โดยวางไว้ในที่ที่คุณต้องการ จากนั้นพับและพันสายไฟเข้ากับด้านในของกล่อง การวางหลอดดูดน้ำไว้ใต้หลอด LED ยังช่วยให้เข้าที่อีกด้วย (ดูภาพเพื่อความกระจ่าง)

ขั้นตอนที่ 12: แต่งตาให้เสร็จ

แต่งตาให้เสร็จ
แต่งตาให้เสร็จ
แต่งตาให้เสร็จ
แต่งตาให้เสร็จ

กาวกระดาษสี่เหลี่ยมจัตุรัสที่ใหญ่กว่ารูที่คุณตัดออกเล็กน้อย กาวเหนือรูเพื่อปิดรูและไฟ LED ด้านหลัง คุณอาจต้องการติดกระดาษทิชชู่บางแผ่นไว้ด้านในรูตาเพื่อกระจายแสงที่มาจากไฟ LED

ขั้นตอนที่ 13: ต่อชิป TLC5940NT

ต่อชิป TLC5940NT
ต่อชิป TLC5940NT
ต่อชิป TLC5940NT
ต่อชิป TLC5940NT
ต่อชิป TLC5940NT
ต่อชิป TLC5940NT

ในขั้นตอนนี้ คุณจะต้องต่อเดซี่เชน 3 TLC5940NT เข้าด้วยกันเพื่อขับเคลื่อนเอาต์พุต LED ทั้งหมด 42 เอาต์พุต (36 สำหรับปากและ 6 สำหรับดวงตาหลากสี) ผู้คนที่สนามเด็กเล่น Arduino มีคู่มือการเชื่อมต่อที่บันทึกไว้เป็นอย่างดีเกี่ยวกับวิธีการเดซี่ ห่วงโซ่ 3 TLC5940NTs เข้าด้วยกัน มันอยู่ในรูปแบบที่บีบอัด:Arduino pin 13 -> SCLK (TLC pin 25)Arduino pin 11 -> SIN (TLC pin26)Arduino pin 10 -> Blank (TLC pin 23)Arduino pin 9 -> XLAT (TLC pin 24) Arduino pin 3 -> GSCLK (TLC pin 18) --------------U ------------ LED Out 1 | 1 28 | LED ออก 0LED ออก 2 | 2 27 | GNDLED ออก 3 | 3 26 | SIN (อาดพิน 11.)LED Out 4 | 4 25 | SCLK (อาดพิน 13)… | 5 24 | XLAT (อาดพิน 9)… | 6 23 | ว่าง (อาดพิน 10)… | 7 22 | GND… | 8 21 | VCC (5V)… | 9 20 | ตัวต้านทาน 2K ต่อกราวด์… | 10 19 | 5V… | 11 18 | GSCLK (อาดพิน 3)… | 12 17 | SOUT (เชื่อมต่อกับ SIN ของ TLC ถัดไปใน Daisychain)… | 13 16 | XERR ออก 14 | 14 15 | LED Out 15 ----------------------------- หมายเหตุ: เราคือ Daisychaining 3 TLC ดังนั้น SIN ของ TLC ตัวแรกจะเชื่อมต่อกับ Arduino พิน 11 TLC ที่เหลือมี SIN ที่เชื่อมต่อกับ SOUT ของ TLC ก่อนหน้า BLANK ทั้งหมดเชื่อมต่อกัน (BLANK ของ TLC1 เชื่อมต่อกับ BLANK ของ TLC2 ฯลฯ…) XLAT ทั้งหมดเชื่อมต่อกัน ทั้งหมด เชื่อมต่อ SCLK แล้ว GSLKK ทั้งหมดเชื่อมต่อกัน XERR ทั้งหมดเชื่อมต่อแล้ว เสียบตัวเก็บประจุด้วยไฟฟ้า 2 หรือ 3 ตัวกับกราวด์และกำลังของเขียงหั่นขนม (เชิงลบบนตัวเก็บประจุไปที่กราวด์ บวกถึง 5V) จำนวนเงินที่ชาร์จนั้นไม่สำคัญนัก แต่ควรได้รับการจัดอันดับสำหรับ 5V หรือสูงกว่า ตัวเก็บประจุเหล่านี้จะทำหน้าที่เป็นตัวกรอง กรองความไม่สมบูรณ์ (สัญญาณรบกวน) ทั้งหมดในแหล่งจ่ายแรงดันไฟฟ้าที่ TLC ผลิตขึ้น นี่เป็นสิ่งสำคัญเพราะ Waveshield ที่เราจะใช้ร่วมกันกับ TLC และไม่ชอบเสียงไฟฟ้า (มันทำให้เกิดเสียงคลิกแปลก ๆ)

ขั้นตอนที่ 14: ต่อสายไฟ LED เข้ากับ TLC

ต่อไฟ LED เข้ากับ TLCs
ต่อไฟ LED เข้ากับ TLCs
ต่อไฟ LED เข้ากับ TLC
ต่อไฟ LED เข้ากับ TLC

เชื่อมต่อ LED ทั้งหมดเข้ากับ TLC ทีละแถว โดยเริ่มจากดวงที่มุมซ้ายบนและย้ายไปที่ LED ทางด้านขวาโดยตรง นี่คือตารางของ LED TLC pin outs ทั้งหมดเพื่อความสะดวกของคุณ ดูภาพเพื่อความกระจ่าง ปาก: 0 1 2 3 4 5 6 7 89 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ตอนนี้เป็นเวลาที่ดีที่จะเสียบ RGB LED eyes ของคุณเข้ากับ TLC ดังนั้นนี่คือพินเอาต์… RGB LED eyes: ซ้าย: RGB ขวา: RGB 36 40 38 37 41 39 อย่าลืม เพื่อเสียบสายไฟสากลสำหรับ The Grid และ RGB LEDs เป็น 5V!

ขั้นตอนที่ 15: ต่อเซอร์โวเข้ากับ TLC

ต่อเซอร์โวเข้ากับ TLC
ต่อเซอร์โวเข้ากับ TLC

เชื่อมต่อพลังงานและกราวด์ของเซอร์โวกับพลังงานและกราวด์บนเขียงหั่นขนมของคุณ เชื่อมต่อสายควบคุมของเซอร์โวด้านซ้าย (ซ้ายของคุณในขณะที่หันหน้าเข้าหาหุ่นยนต์) กับพิน 43 (อย่าลืมเริ่มต้นที่ศูนย์) และเซอร์โวขวากับพิน 44 คุณจะต้องเชื่อมต่อตัวต้านทาน 3.3K ohm จากพินทั้งสองนั้น ถึง 5V เนื่องจาก TLC เป็นพาวเวอร์ซิงก์และต้องการพลังงานในการจม

ขั้นตอนที่ 16: คุณกำลังเข้าสู่ดินแดนแห่งซอฟต์แวร์และรหัส! (ส่วนใหญ่)

กรุณาอย่าล่วงเกิน…

ขั้นตอนที่ 17: ดาวน์โหลดไลบรารี TLC

ไลบรารี TLC ล่าสุดสำหรับ Arduino สามารถพบได้ที่หน้ารหัส Google ของพวกเขาที่: code.google.com/p/tlc5940arduino/.ดาวน์โหลดไลบรารีล่าสุดและใส่โฟลเดอร์ที่คลายซิป "Tlc5940" ลงใน [โฟลเดอร์เวอร์ชัน Arduino ล่าสุด]/ฮาร์ดแวร์/ ห้องสมุด/

ขั้นตอนที่ 18: ทดสอบ TLC

โหลดร่างการทดสอบนิพจน์อนุกรมของฉันซึ่งคุณสามารถดาวน์โหลดได้ด้านล่าง โหลดลงใน Freeduino และพิมพ์คำสั่งบางอย่างลงในจอภาพแบบอนุกรมเพื่อทดสอบว่าทุกอย่างใช้งานได้ นี่คือรายการคำสั่ง: behappybesadbemadfullmouthlinemouthoffmouthoffeyesbluegreeneyesredeyesblueeyesopenmouthtalkmouth (มันไม่พูด แต่มันทำให้ปากขยับ)

ขั้นตอนที่ 19: ดาวน์โหลด Waveshield Library รองรับความจุสูง (ค่อนข้างบาง)

ดาวน์โหลด waveshield ของ Adafruit ที่ปรับปรุงใหม่จากโค้ด Google (ขอบคุณคุณ Fat16 ที่ปรับปรุงไลบรารีนี้): code.google.com/p/wavehc/ ติดโฟลเดอร์ที่คลายซิปในโฟลเดอร์ hardware/libraries/ อีกครั้ง

ขั้นตอนที่ 20: ฟอร์แมตและโหลดการ์ด SD ของคุณ

ใส่การ์ด SD ลงในคอมพิวเตอร์และฟอร์แมตโดยใช้ประเภทไฟล์ FAT หรือ FAT16 ไม่ FAT32! จากนั้นโหลดการ์ด SD ของคุณด้วยไฟล์คำพูดจากเว็บไซต์ข้อความเป็นคำพูดที่ยอดเยี่ยมของ AT&T www.research.att.com/~ttsweb/tts/demo.php#top เปลี่ยนชื่อไฟล์เป็นชื่อของคำที่มันพูดในไฟล์และตัดทอน ชื่อไฟล์นั้นกับสิ่งที่มี 6 ตัวอักษรหรือน้อยกว่า (waveshield สามารถจัดการได้เฉพาะไฟล์ที่มีชื่อไฟล์ไม่เกิน 6 ตัวอักษร) เช่น หากคุณดาวน์โหลดไฟล์สำหรับ "Instructables.com" -> ตั้งชื่อเป็น instrc.wavIf สวัสดี -> hello.wav

ขั้นตอนที่ 21: ทดสอบ Waveshield ของคุณ

ดาวน์โหลดและเรียกใช้แบบร่างการทดสอบ Waveshield แบบอนุกรมของฉัน คุณควรจะสามารถผ่านเทอร์มินัลอนุกรม พิมพ์ประโยคและให้ Waveshield เล่น (ตราบใดที่มีไฟล์.wav ที่ต้องการ) มันจะใช้คำแรก เพิ่ม ".wav" และเล่นก่อนที่จะไปยังคำที่สอง เช่นคุณพิมพ์: สวัสดี ฉันชื่อบ๊อบ มันจะเล่น:hello.wavmy.wavname.wavis.wavbob.wav หมายเหตุ: ทดสอบ Waveshield บน Freeduino อื่น (อันที่ไม่ได้เชื่อมต่อกับ TLC) เพราะทั้ง Waveshield และ TLC ใช้หมุด 13, 12, 11 และ 10 (บน Freeduino) เนื่องจากพินเหล่านี้รองรับฮาร์ดแวร์สำหรับอินเทอร์เฟซที่เรียกว่า Serial Peripheral Interface (SPI) ที่ทั้ง TLC และ Waveshield ต้องการ พินเหล่านี้ไม่สามารถแชร์ระหว่างกันได้ ดังนั้นเราจะต้องเชื่อมโยง Freeduinos สองอันเข้าด้วยกันโดยใช้อินเทอร์เฟซ I2C เพื่อให้สามารถส่งข้อมูลระหว่างกัน เพิ่มเติมเกี่ยวกับเรื่องนี้ในขั้นตอนที่ 22

ขั้นตอนที่ 22: เชื่อมต่ออินเทอร์เฟซ I2C ระหว่าง Freeduinos ทั้งสอง

เชื่อมต่ออินเทอร์เฟซ I2C ระหว่าง Freeduinos ทั้งสอง
เชื่อมต่ออินเทอร์เฟซ I2C ระหว่าง Freeduinos ทั้งสอง

เดี๋ยวก่อน… ทำไมเราต้องเชื่อมต่ออินเทอร์เฟซ I2C ระหว่าง Freeduinos สองตัว? ทำไมเราไม่สามารถเสียบ Waveshield และ TLC เข้ากับ Freeduino เดียวได้ นั่นเป็นเหตุผล: ทั้ง Waveshield และ TLCs ใช้พิน 13, 12, 11 และ 10 บน Freeduino เหตุผลก็คือหมุดเหล่านี้รองรับฮาร์ดแวร์สำหรับอินเทอร์เฟซที่เรียกว่า Serial Peripheral Interface (SPI) ซึ่งทั้ง TLC และ Waveshield ต้องการและไม่สามารถแชร์ได้ ซึ่งหมายความว่าเราจะต้องเชื่อมโยง Freeduinos สองเครื่องเข้าด้วยกันโดยใช้การเชื่อมต่อข้อมูลบางประเภท เพื่อให้ทั้งสองทำงานร่วมกันควบคู่กันไป Serial ไม่ใช่ตัวเลือกเพราะคอมพิวเตอร์ของฉันใช้มันเพื่อสื่อสารกับ Waveshield Freeduino ดังนั้นหลังจาก Googling ที่เข้มข้น ฉันพบวิธีการสื่อสารที่สะดวกและเรียบง่ายอย่างน่าทึ่ง ไอทูซี! ต่อไปนี้คือวิธีการต่ออินเทอร์เฟซ:เชื่อมต่อ Analog Input pin 4 บน Freeduinos ทั้งสอง (นี่คือ SDA หรือ Serial Data Line) เชื่อมต่อ Analog Input pin 5 บน Freeduinos ทั้งสอง (นี่คือ SCL หรือ Serial Clock Line) เชื่อมต่อกราวด์ บน Freeduinos ทั้งสอง (มิฉะนั้นอินเทอร์เฟซ I2C จะไม่ทำงาน) เชื่อมต่อสายที่คุณบัดกรีที่จุดเริ่มต้นของคำแนะนำนี้จากตัวต้านทาน R7 บน Waveshield ไปยัง Analog Input pin 1 บน TLC ที่ควบคุม Freeduino (สายนี้ใช้สำหรับตรวจสอบระดับเสียงของ คำพูดของ Waveshield และไม่ได้เป็นส่วนหนึ่งของอินเทอร์เฟซ I2C) (ดูภาพเพื่อความกระจ่าง)

ขั้นตอนที่ 23: เปิดใช้งาน I2C บน TLC ควบคุม Freeduino

เปิดใช้งาน I2C บน Freeduino ที่คุณใช้เพื่อควบคุม TLC โดยการดาวน์โหลดแบบร่างนี้ จะได้รับข้อมูลเกี่ยวกับนิพจน์จาก Waveshield และจะตรวจสอบระดับเสียงของเอาต์พุตเสียงพูดบน Waveshield Freeduino และจะขยับปากเพื่อจำลองการสนทนาตามระดับเสียงที่พูด คำจำกัดความ I2C: I2C เรียกอีกอย่างว่า TWI (Two Wire Interface) เป็นวิธีง่ายๆ ในการเชื่อมต่ออุปกรณ์หลายเครื่องเข้าด้วยกัน (สูงสุด 128!) ด้วยสายข้อมูลสองเส้นและกราวด์ทั่วไป อัปเดต: ฉันได้เพิ่มคุณสมบัติการกะพริบใน Arduino Sketch หุ่นยนต์จะกะพริบทุกๆ 2-11 วินาที เช่นเดียวกับมนุษย์

ขั้นตอนที่ 24: ทดสอบอินเทอร์เฟซ I2C

ดาวน์โหลดภาพสเก็ตช์นี้และโหลดลงบน Waveshield Freeduino จะส่งคำว่า "behappy;" แล้วก็ "บีซาด" ผ่านอินเทอร์เฟซ I2C ไปยัง TLC ที่ควบคุม Freeduino ในช่วงเวลาสองวินาที หวังว่าจะทำให้หุ่นยนต์เปลี่ยนจากความสุขเป็นเศร้าในช่วงเวลาสองวินาที

ขั้นตอนที่ 25: ใกล้เสร็จแล้ว! เพียงบางรหัสที่จะโหลด…

โหลดรหัส Waveshield Freeduino เวอร์ชันสุดท้าย ควรใช้คำใดๆ ที่คุณพิมพ์ลงในมอนิเตอร์แบบอนุกรมและพูด (ตราบใดที่มีไฟล์.wav ให้ทำ) และควรส่งคำสั่งนิพจน์เช่น "behappy" และ "บีซาด" บน Freeduino ที่ควบคุม TLC ผ่านอินเทอร์เฟซ I2C หมายเหตุ: รายการคำสั่งจะเหมือนกันสำหรับโค้ดทดสอบ TLC รุ่นก่อนหน้า (ดูขั้นตอนที่ 17) ยกเว้นว่าคุณต้องเพิ่มเซมิโคลอนให้กับทุกคำสั่งนิพจน์ ตัวอย่าง หากคุณต้องการให้หุ่นยนต์เศร้าและพูดว่า "ฉันรู้สึกเศร้า" ให้พิมพ์:besad; ฉันรู้สึกเศร้า อัปเดต: ตอนนี้ Waveshield Sketch ใช้เครื่องหมายวรรคตอนอย่างถูกต้อง (เช่น จุดและจุลภาค แต่ให้สังเกตเครื่องหมายอัศเจรีย์)

ขั้นตอนที่ 26: ติดตั้งทุกอย่างบนกล่องหัวหุ่นยนต์แล้วเสร็จ

ติดตั้งทุกอย่างบนกล่องหัวหุ่นยนต์แล้วเสร็จ!
ติดตั้งทุกอย่างบนกล่องหัวหุ่นยนต์แล้วเสร็จ!
ติดตั้งทุกอย่างบนกล่องหัวหุ่นยนต์แล้วเสร็จ!
ติดตั้งทุกอย่างบนกล่องหัวหุ่นยนต์แล้วเสร็จ!

ติดตั้ง Freeduinos ทั้งหมดเข้ากับด้านหลังกล่องด้วยสายไฟ ปิดฝากล่องด้านบนด้วยสายไฟ เสร็จแล้ว! ตอนนี้ถ้ามันสามารถตรวจสอบอีเมลของฉันได้ อืมม…….ขอบคุณที่อ่านคำแนะนำนี้! ความคิดเห็นยินดีต้อนรับเสมอในทุกสิ่ง!

รางวัลที่สองในการประกวด Arduino

แนะนำ: