當前位置:製作窩 >

創意生活 >電子DIY >

懶人必備法寶---刷牙機手工電子DIY教程

懶人必備法寶---刷牙機手工電子DIY教程

懶人必備法寶---刷牙機

幾周之前,我教小孩子做了一個刷牙機,因為我本身也很喜歡做機器人這類的東西,正好可以借這次課程做一個。我在Reddit上提過,之後很多人留言想要這個教程,所以我就寫了這篇教程,現在我們就開始吧!
原作: simsalapim

譯者:ljos

主要材料

  MeArm的機器手臂  玩滑板用的頭盔,這個很便宜
  Arduino UNO  SainSmart 的舵機罩
  你喜歡的牙刷

所需工具:

  如圖

製作步驟:

第1步:

懶人必備法寶---刷牙機 第2張

組裝機械手臂

我先組裝了機械手臂,大家按照MeArm的教程來組裝就行。

我安裝的時候省略了步驟2,3,即組裝底座的步驟。也省略了步驟18,19,20,沒安裝機器臂的手爪。

第2步:

懶人必備法寶---刷牙機 第3張

第3步:

懶人必備法寶---刷牙機 第4張

第4步:

懶人必備法寶---刷牙機 第5張

第5步:

懶人必備法寶---刷牙機 第6張

第6步:

懶人必備法寶---刷牙機 第7張

第7步:

懶人必備法寶---刷牙機 第8張

第8步:

懶人必備法寶---刷牙機 第9張

第9步:

懶人必備法寶---刷牙機 第10張

在機器手臂的末端,我沒安裝手爪,安了牙刷。安牙刷的時候,我反覆試驗了很多次,才找到一個好方法。(我沒用多餘的零件,因為我很懶。。)

安裝牙刷的時候,我用了圖一所示的零件,這是機器手臂剩下的套件。

我從剩下的套件裡挑了一個最大的零件,在牙刷頭上鑽兩個洞,和零件上最上面的兩個孔對上,然後用尖頭螺絲固定就可以了。

用兩個螺絲將如圖所示的其他兩個零件固定到最大的零件上。確保最大的零件是背向牙刷的。然後用剩下的三個螺絲等將它們都固定在機器手臂上。

第10步:

懶人必備法寶---刷牙機 第11張

第11步:

懶人必備法寶---刷牙機 第12張

第12步:

懶人必備法寶---刷牙機 第13張

第13步:

懶人必備法寶---刷牙機 第14張

第14步:

懶人必備法寶---刷牙機 第15張

在頭盔的正面鑽一個舵機馬達大小的洞。我先用鑽孔機沿著舵機馬達的輪廓鑽了一個洞,然後用刀把它弄掉。

之後。我在機器手臂剩的套件中找了一個零件,如圖所示,在頭盔上鑽4個洞,正好能和零件上的孔對齊就行。

現在安裝舵機,安好之後,把零件安上。零件上面兩個孔用長螺絲釘和螺栓固定,下面兩個孔用短螺絲釘固定。螺絲釘的頭要在頭盔的裡面,要不然它們就會妨礙機器手臂移動了。

第15步:

懶人必備法寶---刷牙機 第16張

第16步:

懶人必備法寶---刷牙機 第17張

現在要安裝機器手臂,安的時候,要保證機器手臂上的舵機擺臂安在頭盔的舵機馬達上。一定要保證機器手臂安好了,這樣你才可以左右移動舵機馬達。

用MeArm元件裡面的小的黑色螺絲釘固定。

第17步:

懶人必備法寶---刷牙機 第18張

第18步:

懶人必備法寶---刷牙機 第19張

第19步:

懶人必備法寶---刷牙機 第20張

現在我要把Arduino安到頭盔上了。如果你還沒安呢,就將舵機罩安裝到Arduino UNO上。

我拿了一根壞的頭繩,放在Arduino和舵機罩之間,然後將頭繩從頭盔上的兩個孔中穿進去。確保Arduino上USB口是朝向頭盔的背面的。

第20步:

懶人必備法寶---刷牙機 第21張

第21步:

懶人必備法寶---刷牙機 第22張

將舵機馬達上的線從綁住Arduino的那個孔中拉出來,將它連到舵機罩的引腳7上。然後將機器臂下臂連到引腳6上,上臂連到引腳8上。


程式設計

下面是我寫的程式,你可以根據實際情況(比如你的臉的尺寸)來調整一下程式碼。

// Written by Simone Giertz

#include <Servo.h>



Servo servo[3];

// base, upper arm, lower arm

static const int servoPin[3] = {7,8,6};



void setup()

{

n(9600);

for(int i=0; i<3; i++){

servo[i]ch(servoPin[i]);

}

// Fold the robot arm at the top of the helmet

servo[0]e(90); // base

servo[1]e(30); // upper arm

servo[2]e(150); // lower arm

}



void loop()

{

// Wait five seconds before we start the toothbrushing

delay(5000);



// Put the arm in brushing position

servo[1]e(180);

servo[0]e(90);

servo[2]e(70);



delay(1000);



// brush back and forth

for(int i = 0; i<10; i++){

servo[2]e(60);

delay(200);

servo[2]e(120);

delay(200);

}



// Fold the robot arm back up

servo[0]e(90);

servo[1]e(30);

servo[2]e(150);

}

小貼士:

原址:

  • 文章版權屬於文章作者所有,轉載請註明 https://zhizuowo.com/shenghuo/dianzidiy/pzdvz.html