第1步:ARDUINO零件
安裝Arduino IDE
安裝CH340驅(qū)動(dòng)程序(中文版)
下載 - 源代碼
正如您所看到的,有一個(gè)zip文件。提取所有文件并雙擊源代碼文件。
Arduino Nano
ATmega328P(舊的Bootloader)
插上你的arduino nano
插上USB線和一個(gè)新端口將出現(xiàn)。
查找/選擇新興的COM端口
單擊出現(xiàn)的端口并點(diǎn)擊上傳按鈕
點(diǎn)擊上傳按鈕
第2步:3D打印部件
下載3d建模來(lái)自Thingiverse的文件
https://www.thingiverse.com/thing:2844993
逐個(gè)打印所有部件
步驟3:電路部件
使用Arduino Nano擴(kuò)展板。由于Arduino Nano本身沒(méi)有很多引腳,因此您需要使用擴(kuò)展板。
當(dāng)您查看連接到電機(jī)的接線時(shí),您可以看到三種顏色。黃色,紅色和棕色。布朗必須與G(地面)連接。
在以下步驟中,我們將再次仔細(xì)查看。
步驟4:硬件部分 - 準(zhǔn)備所有部件
[零件]
1 x Arduino Nano
1 x Arduino Nano擴(kuò)展板
6 x伺服電機(jī)
2 x玩具眼球
12 x螺栓(2 * 6mm)
[工具]
3d打印機(jī)(Anet A8)https://amzn.to/2IwISNA
用于3D打印的平面(PLA 1.75mm)https://amzn。 to/2k5AFVS
Wire Nipper https://amzn.to/2INZILg
線材Stipper https://amzn.to/2LaVeN5
熱熔膠槍https://amzn.to/2IOE3Ta
螺絲刀(+)https://amzn.to/2k8b4M8
電子膠帶https://amzn.to/2IMx9xx
焊接工具(Hakko)https://amzn.to/2k50bKP
焊接手https://amzn.to/2It2Ybq
電動(dòng)螺絲刀https://amzn.to/2IdWpJh
第5步:將3個(gè)伺服電機(jī)修改為位置傳感器
以下步驟說(shuō)明如何修改伺服電機(jī)進(jìn)入位置傳感器?;旧洗蠖鄶?shù)伺服電機(jī)都有一個(gè)電位計(jì)或編碼器來(lái)獲取角度值。
我們將使用該電位計(jì)本身。我們需要打開(kāi)機(jī)箱,拆開(kāi)電路板并重新連接。
步驟6:擰開(kāi)背面的4個(gè)螺栓并打開(kāi)前殼
你需要一個(gè)小螺絲刀,因?yàn)樗鼈兲×?。電機(jī)有3個(gè)部分 - 前部,主體和后部。
當(dāng)您打開(kāi)前側(cè)時(shí),您將看到齒輪。實(shí)際上,我們不使用這種電機(jī)作為“電機(jī)”。因此,理論上不再需要齒輪。但是我們將使用它們的一部分,以便操作角度仍然具有旋轉(zhuǎn)限制。
步驟7:刪除第3檔
伺服電機(jī)中的電位器具有大約180度的角度限制。電位器有自己的限制機(jī)制,但它很弱。它很容易被打破。為了保護(hù)它,齒輪提供了另一種機(jī)制。第一齒輪具有塑料緩沖器,其將與第二齒輪接觸。
我們肯定需要整體框架的第一檔,第二檔需要限制。所以,我們無(wú)法擺脫它們。而不是他們,我們可以刪除第三檔。
你可能想知道為什么我們需要拆卸裝備。這三個(gè)伺服電機(jī)將用于獲取角度信息。如果它們中有齒輪,則運(yùn)動(dòng)會(huì)變硬。因此,我們必須擺脫其中一個(gè)裝備。
步驟8:重新布線/焊接
切割與電機(jī)連接的電線。
步驟9:使用焊接工具并拆下電路板
步驟10:切斷電線并準(zhǔn)備焊接
然后放一些粘貼并在電纜上放一些鉛
步驟11:焊接它
從左側(cè)紅黃色和棕色
第12步:在上面添加一些膠水
并恢復(fù)其背面
我們還需要2個(gè)電位器。為另外兩臺(tái)電機(jī)做同樣的工作
步驟13:建立第一個(gè)聯(lián)合地下室
我用了一個(gè)烹飪板來(lái)制作這個(gè)項(xiàng)目。使用它既便宜又堅(jiān)固。為了將框架固定在電路板上,您需要使用具有尖端的螺釘。它同時(shí)制作孔和線。
共有6臺(tái)電機(jī)。左側(cè)的3個(gè)電機(jī)是原裝電機(jī)。另一方面,有3個(gè)電機(jī)在步驟之前被修改。
步驟14:制作偏航關(guān)節(jié)
您將需要使用M2 * 6mm螺栓。
步驟15:使用第一臺(tái)電機(jī)組裝偏航接頭
正如您可以看到最后一張圖片,您需要將關(guān)節(jié)置于水平方向。并且位置應(yīng)該是電機(jī)和電位計(jì)的90度。
換句話說(shuō),您可以從那個(gè)位置順時(shí)針和逆時(shí)針旋轉(zhuǎn)那些偏航接頭90度。
步驟16:使用Arduino Nano擴(kuò)展板組裝Arduino Nano
確保方向。 USB端口與DC插孔相同。
步驟17:第一層連接
電位器與Arduino的模擬0引腳相連。你必須正確插入它。這款A(yù)rduino Nano具有8通道ADC(模擬數(shù)字轉(zhuǎn)換器)。基本上,電位計(jì)給出模擬電平或電壓。您可以使用ADC引腳讀取該電壓值
另一方面,伺服電機(jī)與Arduino的Digital 9連接??梢允褂肞WM(脈沖寬度調(diào)制)控制伺服電機(jī)。 Arduino Nano具有6通道PWM引腳(引腳9,10,11,3,5和6)。因此,我們最多可以使用6個(gè)伺服電機(jī)。
在此步驟中,源代碼如下所示
#include
Servo servo[6];
void setup() {
pinMode(A0, INPUT);
servo[0].attach(9);
}
int tempADC[3] = {0};
void loop() {
tempADC[0] = analogRead(A0);
servo[0].write(map(tempADC[0] , 0, 1023, 0, 180));
}
步驟18:組裝第二層
第二層也很簡(jiǎn)單。當(dāng)您將電纜插入Arduino時(shí),需要注意的是將它放在正確的位置。
左側(cè)伺服電機(jī)與引腳10連接
右側(cè)電位器與A1連接
#include
Servo servo[6];
void setup() {
pinMode(A0, INPUT);
pinMode(A1, INPUT);
servo[0].attach(9);
servo[1].attach(10);
}
int tempADC[3] = {0};
void loop() {
tempADC[0] = analogRead(A0);
servo[0].write(map(tempADC[0] , 0, 1023, 0, 180));
tempADC[1] = analogRead(A1);
servo[1].write(map(tempADC[1], 0, 1023, 0, 180));
}
步驟19:組裝第3層幀
步驟20:組裝具有第二電機(jī)/電位計(jì)的框架
步驟21:將第三個(gè)電機(jī)組裝到關(guān)節(jié)框架中
步驟22:將電纜插入Arduino
第3電機(jī)與引腳11連接
第3電位器與A2連接
代碼如下所示
#include
Servo servo[6];
void setup() {
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
servo[0].attach(9);
servo[1].attach(10);
servo[2].attach(11);
}
int tempADC[3] = {0};
void loop() {
tempADC[0] = analogRead(A0);
servo[0].write(map(tempADC[0] , 0, 1023, 0, 180));
tempADC[1] = analogRead(A1);
servo[1].write(map(tempADC[1], 0, 1023, 0, 180));
tempADC[2] = analogRead(A2);
servo[2].write(map(tempADC[2], 0, 1023, 0, 180));
}
步驟23:組裝拇指框架
步驟24:測(cè)試和調(diào)整角度
將USB線連接到任何電源,機(jī)器人很快就會(huì)開(kāi)啟。角度可能略有不同。逐個(gè)調(diào)整角度。
步驟25:再多一個(gè)機(jī)器人?
如果你想要再制造一個(gè)機(jī)器人,你可以做到。將伺服器插入3,5和6.
#include
Servo servo[6];
void setup() {
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
servo[0].attach(9);
servo[1].attach(10);
servo[2].attach(11);
servo[3].attach(3);
servo[4].attach(5);
servo[5].attach(6);
}
int tempADC[3] = {0};
void loop() {
tempADC[0] = analogRead(A0);
servo[0].write(map(tempADC[0] , 0, 1023, 0, 180));
servo[3].write(map(tempADC[0] , 0, 1023, 0, 180));
tempADC[1] = analogRead(A1);
servo[1].write(map(tempADC[1], 0, 1023, 0, 180));
servo[4].write(map(tempADC[1], 0, 1023, 0, 180));
tempADC[2] = analogRead(A2);
servo[2].write(map(tempADC[2], 0, 1023, 0, 180));
servo[5].write(map(tempADC[2], 0, 1023, 0, 180));
}
步驟26:完成!
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
29748瀏覽量
212946 -
Arduino
+關(guān)注
關(guān)注
190文章
6498瀏覽量
192207
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論