MAKER: Shebin Jose Jacob, Nekhil/譯:趣無盡(轉載請注明出處)
簡介
Emo 是一款個人伴侶機器人,集時尚與創新于一身。他的誕生離不開最新的樹莓派 4 技術和先進的設計。他不僅僅是一款機器人,更是一個活生生的存在。與其他機器人不同,他擁有獨特的個性和情感,能夠俘獲你的心靈。
硬件部分
– 樹莓派 4B
– 微雪 2 英寸 IPS LCD 顯示屏(240×320 分辨率)
– SG90 型舵機 ×2
– MG90 型舵機
– 16 路 12 位 PWM 舵機驅動板
– 801S 震動傳感器模塊
– 單路 TTP223 觸摸傳感器模塊
– 8 Ω 0.5 W 揚聲器模塊
– PAM8403 雙聲道立體聲音頻放大器模塊
– 5 x 7cm 雙面通用 PCB 原型板
– 40 針 2.54mm 直插式排針排母連接器(分離式針座)
– 304 不銹鋼 CSK 沉頭十字螺栓 M2 ×10
– M3 x 10mm CHHD 螺栓螺母套件
– M3 x 20mm CHHD 螺栓螺母套件
– B-30-1000 電路板飛線(有 PVC 絕緣外層)
– 2mm 厚亞克力板
軟件部分
– Autodesk Fusion 360
– Microsoft VS Code
工具部分
– 多功能螺絲刀
– 電烙鐵
– 無鉛焊錫絲
– 電路板焊接固定夾具
– 助焊劑
– 多功能剝線鉗
– 熱膠槍
設計理念
我們使用 Autodesk Fusion 360 來設計 Emo 機器人,其中融合了實體和自由形式的建模技術。
為了簡化打印過程,我們將機器人的主體分成幾個部分,方便用螺釘組裝。
我們精心考慮了電源的位置,將它置于底座上,并為電源線的自由移動預留了充足的空間。為了提高機器人運動的穩定性,我們還特意使車身與底座輕微接觸。
另外,我們特意選擇藍白配色方案,因為藍白組合能提升機器人的視覺吸引力。
3D 打印
我們選擇 PLA 作為 3D 打印材料,并單獨打印每個組件,但這需要花費較長時間。
為了提升底座的耐用性,我們將底座的填充密度設置為 40%,而其他部分則為 20% 。
現在我們已經打印完所有零件,下面請跟著我的步伐開始組裝吧!
注:3D 圖紙及代碼見項目文件庫:
https://make.quwj.com/project/464
組裝底座
首先,我們將 Micro USB 模塊安裝在底座上,這將作為機器人的供電接口。
我們將 SW-420 震動傳感器放在靠近 USB 模塊的位置上,它可以偵測到機器人周圍產生的任何振動。
底座部分由以下三根導線組成:VCC、GND 和震動傳感器的輸出導線。
最后,我們使用 M3 x 10 mm 螺栓將蓋子牢牢地固定在底座上。至此我們完成了底座部分的組裝。
組裝頭部
為了讓機器人頭部具有觸控能力,我們采用了一款緊湊型電容式觸摸傳感器,并將其完美地嵌入到指定區域中。
機器人頭部的核心部分是一塊微雪的 2 英寸 IPS 顯示屏,它承擔著傳達機器人情感的重要任務。我們使用黑色支架和少量熱熔膠將這塊顯示屏牢牢地固定住。
為了實現音頻播放功能,我們機器人在頭部左側集成一枚 8 Ω 0.5 W 揚聲器,并搭配 PAM8403 放大器,對樹莓派中的聲音進行放大。
接著,我們使用 M3 x 15 mm 螺釘將頭部下半部分牢牢地固定在機器人的身體上。然后連接之前組裝好的頭部上半部分,最終完成整個頭部的組裝。
組裝身體
在機身部分,我們安裝了三個舵機:兩個用于手部的 SG90 型舵機,以及一個用于身體旋轉的 MG90 型舵機。為了方便地控制這些舵機,我們采用了 PCA9685-16 通道舵機驅動器。
為了確保穩定性,我們還使用 M2 號螺母和螺栓將 MG90 型舵機固定在機身前部。
我們把 PCA9685 模塊放在同一區域,這樣能有效地平衡重力。
現在我們開始組裝機器人手部。只需把 SG90 型舵機安裝到兩端,并把它牢牢地固定在舵軸上,就完成了。
我們采用帶有排母的原型板來連接樹莓派,這種方法比使用導線連接更為高效。同時,通過焊接,我們能保證各個元件正確連接,從而最大程度地降低導線纏繞的可能。
為節約空間,我們使用手機充電器上的公頭 USB Type-C 板為樹莓派供電。音頻傳輸方面,我們采用了 TRS 音頻插孔。
最后,我們用螺栓把樹莓派固定在機身背部,至此完成了電源部分的安裝。
此外,我們在正面采用了 2 mm 厚透明亞克力板,這可以掩蓋住外蓋和 LCD 模塊之間的縫隙。
電路部分
如下圖接線:
編程
接著,我們開始編寫生成情感的代碼,其中舵機運動和動畫是核心部分。為了實現這些復雜的功能,我們采用 Python 的 `multiprocessing` 包,這使機器人能夠同時執行多個任務,從而提高運行效率。
我們已經為你編寫好項目代碼,你只需克隆到本地即可使用。
git clone https://github.com/CodersCafeTech/Emo.git
值得一提的是,我們使用 Adobe After Effects 軟件制作動畫,并將其導出為圖像序列,這使得它更易于集成到整個系統中。
調試
完成編程后,為確保機器人正常運行,我們需要對所有組件進行測試。
首先安裝所需依賴:
pip install adafruit-blinka adafruit-circuitpython-servokit
進入代碼文件夾(Code),并執行以下命令啟動程序:
python3 final.py
現在你的 Emo 機器人已經開始運行了!當你對他說一些話時,他會分析您的語氣并在屏幕上顯示相應的表情。
成果
見證奇跡的時刻到了!
發表評論