我們來(lái)一起看看如何用Arduino自制一個(gè)只有表針,沒(méi)有表盤(pán)的“空心時(shí)鐘”。
看起來(lái)還是挺炫酷的,再放幾張網(wǎng)友們參照教程做的圖欣賞一下:
第0步:材料準(zhǔn)備
步進(jìn)電機(jī)28BYJ-48和驅(qū)動(dòng)板包括
用于控制步進(jìn)電機(jī)的微控制器(比如Arduino nano)
2mm x 10mm自攻螺釘 * 8
潤(rùn)滑脂(高粘性)
這個(gè)時(shí)鐘可以用大多數(shù)常見(jiàn)的200 x 200mm打印機(jī)打印,除了裝飾部分(index.stl,203 x 203mm)。
文章最后還有一個(gè)縮小小的版本(85%)。
第1步:打印零件

打印零件
有些零件需要支撐
好好去毛刺,特別是幾個(gè)非常小的齒輪(時(shí)鐘中心的蝸輪和小齒輪)
第2步:組裝蝸桿傳動(dòng)系統(tǒng)

用烙鐵進(jìn)行塑料焊接,對(duì)于連接gear.stl、axis.stl和worm-gear.stl相互之間是很有用的。
你也可以使用一些安全的膠水,如雙組分環(huán)氧膠。
在中央齒輪中注入一點(diǎn)油脂。不僅可以減少摩擦,而且可以減少齒隙。
中央齒輪的齒隙對(duì)時(shí)鐘的精確性影響很大。h-gear1.1x.stl比原來(lái)的h-gear.stl要大一點(diǎn),以抑制齒隙。中央齒輪的齒隙對(duì)時(shí)鐘的精確性影響很大。從兩個(gè)候選中選擇更好的小齒輪。h-gear1.1x.stl比原來(lái)的h-gear.stl大一點(diǎn)。
第3步:組裝電機(jī)驅(qū)動(dòng)器

如果2毫米自攻螺釘?shù)念^部比步進(jìn)電機(jī)的孔小,請(qǐng)使用墊圈或換更大的螺釘。
第4步:嚙合分鐘旋轉(zhuǎn)器和時(shí)鐘的主體

為了避免齒輪脫落,我們可以翻轉(zhuǎn)機(jī)身一側(cè)(上圖中的綠色部分),然后把頂部的鉤子鉤住。
需要使用三顆自攻螺釘安裝分鐘蓋。
第5步:安裝時(shí)針

注意使用自攻螺絲安裝時(shí)針的時(shí)候不要擰太緊了,當(dāng)你調(diào)整時(shí)鐘時(shí),它應(yīng)該是會(huì)滑動(dòng)的
固定好其他部分
第6步:準(zhǔn)備電路




將Nano的端口4、5、6和7連接到步進(jìn)電機(jī)驅(qū)動(dòng)器
連接VCC(+5V)和GND
如果你想把整個(gè)電路封閉起來(lái)放到盒子里,可以打印零件做個(gè)盒子(相關(guān)文件放在文末)。
然后用兩個(gè)2毫米的自攻螺釘來(lái)組裝起來(lái)。
第7步:程序
將代碼閃到Arduino上。把代碼上傳到Arduino IDE 上。
如果你的電機(jī)跑錯(cuò)了方向,請(qǐng)修改代碼中的數(shù)字順序:
int port[4] = {4, 5, 6, 7};
改為:
int port[4] = {7, 6, 5, 4};
這上面的數(shù)字和Arduino Nano的針腳有關(guān)(D4-D7)。
完整代碼如下:
// Please tune the following value if the clock gains or loses. // Theoretically, standard of this value is 60000. #define MILLIS_PER_MIN 60000 // milliseconds per a minute // Motor and clock parameters // 4096 * 110 / 8 = 56320 #define STEPS_PER_ROTATION 56320 // steps for a full turn of minute rotor // wait for a single step of stepper int delaytime = 2; // ports used to control the stepper motor // if your motor rotate to the opposite direction, // change the order as {4, 5, 6, 7}; int port[4] = {4, 5, 6, 7}; // sequence of stepper motor control int seq[8][4] = { { LOW, HIGH, HIGH, LOW}, { LOW, LOW, HIGH, LOW}, { LOW, LOW, HIGH, HIGH}, { LOW, LOW, LOW, HIGH}, { HIGH, LOW, LOW, HIGH}, { HIGH, LOW, LOW, LOW}, { HIGH, HIGH, LOW, LOW}, { LOW, HIGH, LOW, LOW} }; void rotate(int step) { static int phase = 0; int i, j; int delta = (step > 0) ? 1 : 7; int dt = 20; step = (step > 0) ? step : -step; for(j = 0; j < step; j++) { phase = (phase + delta) % 8; for(i = 0; i < 4; i++) { digitalWrite(port[i], seq[phase][i]); } delay(dt); if(dt > delaytime) dt--; } // power cut for(i = 0; i < 4; i++) { digitalWrite(port[i], LOW); } } void setup() { pinMode(port[0], OUTPUT); pinMode(port[1], OUTPUT); pinMode(port[2], OUTPUT); pinMode(port[3], OUTPUT); rotate(-20); // for approach run rotate(20); // approach run without heavy load rotate(STEPS_PER_ROTATION / 60); } void loop() { static long prev_min = 0, prev_pos = 0; long min; static long pos; min = millis() / MILLIS_PER_MIN; if(prev_min == min) { return; } prev_min = min; pos = (STEPS_PER_ROTATION * min) / 60; rotate(-20); // for approach run rotate(20); // approach run without heavy load rotate(pos - prev_pos); prev_pos = pos; }
第8步:測(cè)試和調(diào)整

由于齒輪組有一定的齒隙,因此時(shí)針的位置會(huì)在左右兩邊出現(xiàn)偏差。為了解決這個(gè)問(wèn)題,可以在那里插入一些柔軟的材料,比如毛氈或海綿,來(lái)提供一點(diǎn)摩擦。
在指針上涂上油漆可以提高能見(jiàn)度。顏料型涂料比染料型油墨好,后者會(huì)有毛細(xì)擴(kuò)散現(xiàn)象。
第9步:調(diào)整時(shí)間
用Nano的復(fù)位按鈕把時(shí)間設(shè)置提前一分鐘
在電機(jī)旋轉(zhuǎn)時(shí),再用復(fù)位按鈕進(jìn)行精調(diào)
時(shí)針可以直接用手調(diào)整(靠摩擦)
作者: shiura
審核編輯:湯梓紅
-
微控制器
+關(guān)注
關(guān)注
49文章
8549瀏覽量
165219 -
驅(qū)動(dòng)器
+關(guān)注
關(guān)注
54文章
9109瀏覽量
156241 -
步進(jìn)電機(jī)
+關(guān)注
關(guān)注
153文章
3263瀏覽量
152641 -
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1995瀏覽量
135164 -
Arduino
+關(guān)注
關(guān)注
190文章
6527瀏覽量
197297
原文標(biāo)題:用Arduino自制一個(gè)只有表針的時(shí)鐘
文章出處:【微信號(hào):c-stm32,微信公眾號(hào):STM32嵌入式開(kāi)發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
用Arduino開(kāi)發(fā)板DIY一個(gè)考勤記錄器
用arduino自制鼠標(biāo)
自制單片機(jī)時(shí)鐘
請(qǐng)問(wèn)自制的arduino控制板不能直接用Arduino IDE燒錄程序怎么辦?
自制一個(gè)ARDUINO PRO迷你版
自制一個(gè)Arduino Pcb
自制一個(gè)arduino項(xiàng)目
用a4紙自制一款手勢(shì)鼠標(biāo)項(xiàng)目
一個(gè)由Arduino驅(qū)動(dòng)的數(shù)字時(shí)鐘詳解
用arduino創(chuàng)建一個(gè)游戲控制器
基于arduino的自制呼吸機(jī)
自制Arduino Nano俄羅斯方塊游戲
基于3D打印的Arduino模擬數(shù)字時(shí)鐘
自制Arduino RFID門(mén)鎖—第二部分:用智能手機(jī)解鎖
用Arduino自制一個(gè)只有表針的時(shí)鐘
評(píng)論