这个项目将展示我如何制作机器人 MIA-1,它不仅先进独特,而且开源,无需 3D 打印即可制作!是的,你明白了,这个机器人完全是手工制作的。开源意味着——你可以免费获得代码和每一个细节,如果你愿意,你也可以制作这个机器人。
以下是她可以做的事情:
- 可以倾听并与您交谈
- 可以用她左眼的摄像头看到并认出你
- 可以检测运动并拍摄照片
- 有一个带有触摸屏 LCD 的 GUI 来指挥她
- 在她的液晶显示器上显示图像
- 在她的屏幕上下载图像和节目
- 可以用右手上的激光笔瞄准目标
- 说话时移动手
- 无需他人帮助即可站立
- 她也可以鞠躬(观看视频)
- 还有很多!
所需组件:
为了制作这个机器人,我使用了我们当地商店的所有东西。
微控制器 + 计算机(大脑):
伺服电机:
MIA-1 有 13 个自由度。
- LDX227 双轴伺服电机 8x
- MG996r / MG996 伺服电机 3x
- 对于figers,我使用了微型伺服SG90
请注意,我添加了一个机械爪,它使用另一个 MG996r 伺服电机。
以及跳线等
图像处理:
对于图像处理,例如拍照和检测面部等。我使用了USB 相机。
注意:本教程适用于中级和高级制作者,我将主要介绍代码部分,因为它是制作 MIA-1、MIA-1 的代码。如果你得到代码,一切对你来说都很容易。
第 1 步:机身和电机布局
机身由PVC 板制成,不同的部件使用热胶和螺丝固定(见图)。我用切刀切了 pvc 片材(要非常小心!!不要切手指!!)。从图一和图二你可以看到伺服布局。
伺服连接器采用薄 pvc 板制成,因为它们弯曲良好。
头部是用气球制成的,在气球中吹气,加入小湿纸片,然后将其干燥。添加8层后,它变得强大和可持续。
然后使用喷涂颜色将其涂成白色。
在设计完成后,我才发现她具有惊人的平衡。
添加显示:
之后,只需使用一些螺丝和热胶将液晶显示器安装在她的胸前。
第 2 步:电路图
电路图看起来很复杂,其实不然。我把电路画成车身上的电机布局,以便您更容易理解。确保共同接地。arduino 通过其 USB 电缆从计算机获取电源。有一个激光二极管可以让 mia 瞄准物体,从 arduino 的引脚 13(led 引脚)获取电源。
正如你所看到的,所有的电机和 arduino 本身都在身体的背面。我也把所有的电缆都从后面放好了。买了一根延长的USB线,这样就可以连接电脑了。
第 3 步:代码
如你所知,我使用了一个 arduino mega。arduino mega 控制伺服电机,电机是预编程的。请注意默认伺服位置,在构建机器人时请保持此位置。只需用 arduino 为电机供电,无需制作机身,伺服电机将到达默认位置(默认位置如下)
/*default/standby position of servos*/<br> komor.write(4); #waist servo
left1.write(120);
rFinger.write(0);
servo1.write(55);
clawOpen();
rightStandBy();
leftStandBy();
headTilt.write(134);
headPan.write(90);
电机控制代码超过 750 行(编辑时要小心)。
主要处理是使用 python3 脚本完成的。
Python 有 pySerial 库,可以通过串口与 arduino 通信。注意“COM PORT”。
#Connect with mia motor driver board over serial communication
try:
mia = serial.Serial("COM28", 9600)
except:
pass
您还需要 pip 安装这些库
"""import necessary libraries"""<br>#import requests #for making post/get requests
import pyttsx3 #offline text to speech
import speech_recognition as sr #Speech to text (requires internet to function)
import time
from random import randint #random integer picking library
import tkinter #tkinter gui library
from tkinter import Tk, Button, Label, Tk #import necessary things
import serial #serial library for serial communication over USB
from PIL import Image #fro showing image
import cv2 #Computer Vision library
import wikipedia #to get data direcly from wikipedia
使用 pip install 一切都很容易。对于 opencv在命令提示符下输入:
pip install opencv-contrib-python
您看到的 GUI(图形用户界面)是使用 tkinter 开发的。对于这个和所有其他库,您可以通过以下命令安装:
pip install library_name
然后它将被安装。
如果您使用的是网络摄像头,还请查看它更有可能将摄像头表示为 1
cap = cv2.VideoCapture(1) #camera
MIA-1 的代码只是这个的扩展版本。
在命令 arduino 时,计算机发送一口,arduino 根据接收到的口采取行动,因此看起来 Mia 的动作和说话是异步的。
mia.write(b'p') #command to head up then down<br>count_down(3)
respond("Smile please", 100)
现在要获取代码,请访问下面的链接。
第 4 步:电源和整理
我使用 7.4 伏锂电池为机器人供电。LDX227 伺服系统非常耗电(但质量很好),因此请确保它们在任何时候都能获得至少 7.3 v 的电压。另一方面,MG996r 伺服电机价格便宜,很容易损坏,确保它们不会超过 7.8V。所以这个机器人的最高电源应该在 7.4 到 7.8 伏之间。
如果您对此项目有任何想法、意见或问题,请在下方留言。
以上内容翻译自网络,原作者:Ashraf_minhaj,如涉及侵权,可联系删除。