กลับไปหน้ารวมไฟล์
hand-made-talking-robot-32aa69.md

ชื่อโปรเจกต์: Hand made Talking robot

ทุกคนหลงรักหุ่นยนต์พูดได้ มันเหมือนกับการมีเพื่อนตัวเล็กๆ คอยเล่นด้วย ถ้าหุ่นยนต์มีรูปร่างเหมือนมนุษย์ มันก็จะสนุกยิ่งกว่าเดิม ในบรรดาหุ่นยนต์อื่นๆ หุ่นยนต์ฮิวแมนนอยด์มักจะถูกเรียกว่า 'เขา' หรือ 'เธอ' แทนที่จะเป็น 'มัน' ทันที การมีหุ่นยนต์พูดได้ที่มีรูปร่างเหมือนมนุษย์นั้นยอดเยี่ยมมาก แต่หุ่นยนต์พูดได้มักจะดูซับซ้อนในการสร้าง วันนี้ผมจะมาพูดถึงแนวทางที่ผมใช้ในการสร้างมันให้ง่ายๆ มาเริ่มกันเลย

อุปกรณ์ -

1. Arduino Pro mini / Arduino Nano

2. Micro SD TF module และ Micro SD card (ขนาด 2GB หรือน้อยกว่า)

3. Servo motor - 3 ตัว

4. IR sensor (แสดงในรูปที่ 1) - 3 ตัว

5. 7805 voltage regulator IC - 2 ตัว

6. Sound box / ลำโพงขนาดเล็ก

7. 3.7V LiPo batteries - 2 ก้อน

8. Male female headers จำนวนหนึ่ง

9. Jumper Wires

10. Ribbon Cable ฯลฯ

สำหรับการสร้าง ตัวหุ่นยนต์ เราต้องใช้อุปกรณ์บางอย่าง

1. แผ่น PVC ควรเป็นสีขาวเพื่อให้คุณสามารถทาสีทับได้ในภายหลัง

2. คัตเตอร์ และ

3. ปืนกาวสำหรับติดชิ้นส่วนเข้าด้วยกัน

แค่นี้แหละ ต่อไปก็เริ่มสร้างได้เลย

หุ่นยนต์ทำงานอย่างไร?

มาพูดถึงสิ่งที่เราจะทำกันก่อนที่จะรีบลงมือทำ ใช่ เรากำลังสร้างหุ่นยนต์ แต่เรามาเรียนรู้บางอย่างก่อนเพื่อที่เราจะสามารถสอนคนอื่นได้ด้วย โอเค ในการทำให้หุ่นยนต์พูดได้ เราสามารถใช้วิธีการสองแบบคือ (a) Speech Synthesis (การสังเคราะห์เสียงพูด) (b) Prerecorded audio (เสียงที่บันทึกไว้ล่วงหน้า) ในสองวิธีนี้ ตัวเลือก (a) ไม่ได้ทำงานได้ดีนักกับ Arduino ดังนั้นเราจึงเลือกวิธี (b)

ดังนั้น เราจะสร้างไฟล์ Audio (.wav) และบันทึกลงใน SD card หุ่นยนต์จะมีข้อต่อบางส่วนที่สามารถเคลื่อนไหวได้ด้วยความช่วยเหลือของ servo motors และมี sensors บางตัวเพื่อโต้ตอบกับโลกภายนอก หาก sensors ตรวจจับบางสิ่งได้ มัน/เธอจะเล่นไฟล์ Audio เช่น หากผมชี้ไปที่ดวงตา เธอจะตอบสนองและขยับศีรษะ

การพูด (ประมวลผลไฟล์ Audio)

ในการสร้างไฟล์ Audio ผมใช้แอปพลิเคชัน Android ชื่อ - Text to Speech (STT) แอปนี้ช่วยให้คุณเขียนข้อความและบันทึกเป็นไฟล์ .wav ได้ คุณสามารถเปลี่ยนภาษา ความเร็วเสียง ระดับเสียง ฯลฯ ได้

หลังจากบันทึกไฟล์ Audio แล้ว ให้นำไปที่คอมพิวเตอร์ของคุณ

จากนั้นไปที่เว็บไซต์นี้ - audio.online-convert.com - เพื่อประมวลผลไฟล์ Audio เป็นครั้งสุดท้าย ดำเนินการอัปโหลดไฟล์ Audio จากนั้นตั้งค่า -

1. Bit resolution > 8 bit

2. Sampling rate > 16000Hz

3. Audio channel > mono

4. คลิก 'Advanced Options' และตั้งค่า pcm unsigned 8 bit

หลังจากทำเช่นนั้น ให้คัดลอกไฟล์ Audio ลงใน Micro SD card อย่าบันทึกไว้ในโฟลเดอร์ ให้วางลงใน SD card โดยตรง

หมายเหตุ: Arduino สามารถเขียนข้อมูลลงใน SD card ใดก็ได้ (ผมทดสอบกับขนาด 64GB) แต่ Arduino สามารถอ่านข้อมูลได้จาก SD card ที่มีความจุ 2GB หรือน้อยกว่าเท่านั้น ดังนั้น ให้หา SD card ที่มีความจุหน่วยความจำไม่เกิน 2GB

สร้างวงจรหรือ PCB

แผนภาพวงจรค่อนข้างตรงไปตรงมา เชื่อมต่อ servo motors ทั้งหมดเข้ากับ digital pins ของ Arduino

TF module ใช้ 6 pins และ 4 digital pins

Digital Pin 9 ใช้สำหรับเอาต์พุต Audio ให้เชื่อมต่อลำโพงเข้ากับ pin นั้น

sensors มี voltage regulator สำหรับจ่ายไฟ 5V คงที่

ระบบทั้งหมดใช้พลังงานจาก 3.7V lithium batteries จำนวน 2 ก้อน ดังนั้นบอร์ดและ servo motors จะได้รับ 7.4 โวลต์

วงจรอาจดูซับซ้อนในบางจุด นั่นคือเหตุผลที่ผมทำ PCB และสั่งพิมพ์จาก PCBWay.com ผมกำลังใช้ PCB นั้นสำหรับหุ่นยนต์เวอร์ชันถัดไป คุณภาพของ PCB ดีมาก และช่วยแก้ปัญหาของผมได้ด้วย

คลิกที่นี่ เพื่อดาวน์โหลดแผนภาพวงจรหรือไฟล์ PCB Gerber

สร้างตัวหุ่นยนต์

นี่เป็นส่วนที่เจ๋งที่สุด อย่างที่คุณเห็นจากการออกแบบของผม คุณสามารถสร้างรูปร่างได้ตามที่คุณต้องการ ผมใช้กล่องกระดาษลังในการทำหัว แผ่น PVC ในการทำตัวหุ่นยนต์ทั้งหมด จากนั้นก็ทาสีแดง ตำแหน่งของวงจรและมอเตอร์สามารถดูได้จากรูปภาพ ผมติดตั้ง sensors 2 ตัวที่หัว และ sensors 1 ตัวที่หน้าอก ประมาณนั้นแหละ ผมใช้ ribbon cable ที่ด้านหลังเพื่อเชื่อมต่อ sensors ที่หัวและ LED เข้ากับ main board

สร้างรูปร่างได้ตามที่คุณต้องการเลย

โค้ด

โค้ดนี้เข้าใจง่าย ปัญหาเดียวคือเมื่อผมต้องใช้ไลบรารี tmrpcm เพื่อเล่น Audio ด้วย Arduino แล้ว servo motors ไม่ทำงาน เป็นเพราะไลบรารี servo และ tmrpcm ทั้งคู่ทำงานบน timer1 ของ Arduino เพื่อแก้ปัญหานี้ ผมใช้ไลบรารี servoTimer2 ดาวน์โหลดไลบรารีได้จาก ที่นี่ วางไว้ในโฟลเดอร์ไลบรารี Arduino ของคุณแล้ว include เข้ามา แค่นั้นเอง

ดาวน์โหลดโค้ดได้จากที่นี่ หรือคัดลอกจากด้านล่าง ผมแนะนำให้ดาวน์โหลด

 /*MOFIZA - หุ่นยนต์ฮิวแมนนอยด์อัจฉริยะที่สร้างด้วย Arduino
* โดย Ashraf Minhaj ashraf_minhaj@yahoo.com
* https://ashrafminhajfb.blogspot.com
*http://youtube.com/c/fusebatti */
#include "ServoTimer2.h" //ประกาศไลบรารี ServoTimer2 เพื่อควบคุม servo ร่วมกับ TMRpcm
#include"SD.h" //ประกาศไลบรารี SD สำหรับ SD cards
#define SD_ChipSelectPin 10 //กำหนด pin 10 เป็น SD chip select
#include"TMRpcm.h" //ไลบรารีสำหรับเล่น Audio จาก SD card ด้วย Arduino
#include"SPI.h" //สร้างการสื่อสารแบบ Serial peripheral Interface
TMRpcm tmrpcm; //ตั้งชื่อ tmrpcm
ServoTimer2 head; //ประกาศ Head servo ตามด้วย left

ข้อมูล Frontmatter ดั้งเดิม

title: "Hand made Talking robot"
description: "A robot pal you can make easily with Arduino"
author: "ashraf_minhaj"
category: ""
tags:
  - "talking robot"
  - "robots"
views: 7314
likes: 0
price: 2450
difficulty: "Intermediate"
components:
  - "1x Hot glue gun (generic)"
  - "1x SD card TF module"
  - "1x IR proximity sensor"
  - "1x SG90 Micro-servo motor"
  - "1x Arduino UNO"
  - "1x Micro sd card"
tools: []
apps:
  - "1x Text to Speech (TTS)"
  - "1x Arduino IDE"
downloadableFiles:
  - "https://github.com/ashraf-minhaj/Mofiza--Humanoid-social-robot"
  - "https://github.com/ashraf-minhaj/Mofiza--Humanoid-social-robot"
documentationLinks: []
passwordHash: "51560a5527b4ef65451b1eb1e8f79de7fb4b41a691f148df125b45a4be788590"
encryptedPayload: "U2FsdGVkX1+njcuIBqFziLOAHLz1Zz9bZwwLT2cKLmh8BC0X/wzBblug4mJpbKa3CItPVrHes1zOXEl+EOZ1VAj2+CyyoFCbQKpgJfFO5NLiGSxwdnd0DGrXTsGsMPtL"
seoDescription: "Build a DIY Talking robot easily with Arduino. A great project for beginners to learn robotics and programming."
videoLinks:
  - "https://www.youtube.com/embed/gTIiGMqV5I0"
  - "https://www.youtube.com/embed/gTIiGMqV5I0"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/hand-made-talking-robot-32aa69_cover.jpg"
lang: "th"