網站首頁 趣味美術 生活小製作 兒童製作 親子互動 陶藝製作 傳統手工 民間手藝 歲月綻放 創意與設計

線性時鐘:橫行的時間手工電子DIY教程

欄目: 電子DIY / 發佈於: / 人氣:2.83W

線性時鐘:橫行的時間

:DIYer:尤斐( Euphy)

:製作時間: 6小時

:製作難度: ★★★★★

:GEEK指數: ★★★★☆

線性時鐘介紹:

相信童鞋們溫暖的小窩裏都少不了一塊鐘錶,滴滴答答不停走動的錶針忠實的指示着時間。這些圓型時鐘極具20世紀特色,現在我就給大家看一些更具後現代感的東西。

 

這是一個時鐘DIY的全部過程:從開始的構想到製作流程的每一步,都將原汁原味的呈現出來。

我們要製作的東西,叫做線性時鐘。什麼是線性時鐘呢?顧名思義,所謂線性時鐘就是把圓形鐘面上的數字拉直,然後按直線排列起來。想象一下,要是在家裏或是辦公室放着一個這麼Geek的時鐘,一定會有種很潮的感覺。

我雄心勃勃,希望將來能把線性時鐘推向市場,讓它走進千家萬戶。如果你看了之後,準備親自操刀DIY一個,或是靈光閃現想對它進行改進的話,本文提供全套製作方案和使用的零件列表。

 

這個線性時鐘是一個簡化版本,用了很多常見的零件。它只是個檢驗可行性的願型。製作過程並不複雜,如果零件、工具齊全,一晚上足以搞定。我選擇的元件大都比較容易找到,製作時也無需對它們開膛破肚,更用不着太特殊的東西,而且製作精度的要求也不太高。

之後介紹了我試圖改進線性時鐘所做的幾種嘗試以及最終定型方案。我很享受整個DIY過程,我相信你看過之後肯定也按捺不住、蠢蠢欲動了吧。下面就讓我們開始吧!

 

 

1   設定目標這裏選取了我設計時畫的部分草圖。

 

從中可以大致看出線性時鐘逐漸成形的過程。

 

這個過程確實很辛苦。我甚至因爲可實現的方法太多,不知如何選擇而陷入僵局。

 

我提前設定了一些線性時鐘應該具備的特性:

1、小功率,最好不用電源線,僅用電池就能工作

2、造價低,適應普通零售商店的價格範圍

3、水平、垂直放置皆可使用

4、指針不走動時不能有噪音

5、重量輕,無需特殊的架子或鉤子就能固定到牆上

6、滿足多數人審美觀點需求,要有多種樣式、顏色和材料可供選擇

 

我猶豫了很長時間之後,終於選定了一個比較簡單的機械設計方案,即用一個繞線輪來控制裝有彈簧的蝸牛凸輪的轉向,並通過他們來帶動齒輪組,控制指針移動。

時鐘信號來源於一個石英鐘機芯,機芯每秒鐘發出一個脈衝信號,該信號可作爲時鐘的計時裝置。其實有很多電子設備都能實現計時功能,比如時鐘芯片和無線電時鐘等,但是爲了簡單起見,我還是選擇了石英芯片,因爲我對它比較熟悉,並且有利於控制成本。

爲了避免往時鐘上安裝討厭的電源線,我決定用電池作爲時鐘的能源。因此我主要考慮使用彈簧驅動裝置,這樣電機之類的就不必使用了,只需每分鐘給個脈衝信號就行。但如果按照這個思路製作,難度會很大,所以在本文中我將設計簡化爲使用微控制器來驅動步進電機。

看到這裏,童鞋們可以直接跳到最後去看看製作完的線性時鐘是個神馬模樣。

 

2   最終定型設計線性時鐘的設計理念是用常規的原理,設計出一個具有非常規外形的時鐘。我想讓製作出的時鐘達到這樣一種效果:乍一看根本不像時鐘,但定睛一看又確確實實是個時鐘。它具備普通時鐘的一切要素(指針、數字等),但是外形卻完全顛覆常規,令人難以置信。看到這裏也許會有童鞋不理解:“你要做線性時鐘,可是如果錶針走到頭之後怎麼辦呢?——不要着急,耐心看下去,我會給你個滿意答覆的哦。

從外觀上看,它也不會令人感到突兀,因爲我想讓它能融入到普通家庭中去,所以在顏色和材料的選擇上都考慮了這一點。但是它的外形的確是與衆不同,橫着放,會讓我們想起老式收音機上的調頻指針,豎着放會讓人聯想到氣壓計、溫度計之類的儀器。

在水平狀態下時,它可以懸掛到牆上,或是當做書架或者壁爐架使用。豎起來放置時看時間可能困難一些,因爲上下讀數總要比左右讀數更彆扭一些。

 

3   線性時鐘原型----簡介和零件目錄在完成線性時鐘製作的過程中,我利用手頭的材料製作出一個線性時鐘的原型,用它來驗證某些想法的可行性。

製作原型的目的是爲了儘快確定可行的製作方案,摸清製作的難度以及需要的時間,並藉此推測預定時間內最多能測試幾個版本。

下面就是我選擇的製作材料,材料的選擇並非因爲它們完美適用,只是碰巧想到,或是恰好有現成的,所以換成其他可替換的零件肯定也是沒問題的。

 

3.1   底座○ 我用泡沫夾芯板來製作底座,因爲它重量輕,而且硬度高,強度大,切割比較方便,切痕清晰。如果沒有泡沫板,那瓦楞紙板也是個不錯的選擇。

 

3.2   運轉部分○ 2個窗簾導軌----我花了7英鎊(11美元)從John Lewis商店買了個PVC材料的導軌。導軌需要兩段,它的長度就是線性時鐘的長度。我將一個125公分的窗簾導軌鋸成了兩段,因此測試機的長度就是62.5釐米。

○ 4個縫紉機繞線輪當作傳動輪----塑料的比較好,而且更便宜。

○ 2個滑輪安裝在時鐘另一端----我恰好有滑輪,如果沒有滑輪也可以用縫紉機繞線輪代替。

○ 繞線要要找稍微粗一點的,還要找些鬆緊帶,一些輕木片之類的能在導軌槽裏來回滑動的薄片。

 

3.3   控制核心○ 帶有Adafruit Motorshield 的Arduino控制板--用這麼智能的裝備貌似是殺雞用牛刀了,因爲我恰好有一個性能不錯的板子,所以就直接用上了。步進電機控制的原理並不複雜,如果你有個暫時不用的Arduino兼容板,再有幾片L293芯片,就可以很容易的在麪包板上搭建出控制電路來驅動步進電機。你可以直接在Tom Igoe的步進電機專題中查到用Arduino驅動步進電機的電路。但是,這樣的獨立電路不如Motorshield自帶的控制庫性能強勁。

○ 所有版本的邏輯/計時部分的代碼都是相同的,只是接口部分代碼可能有少許不同。據我所知,所有的Arduino兼容板實現這些功能都是小菜一碟。

○ 2個步進電機——我測試的這種步進電機極其便宜,因此轉矩不大,精度不高,每轉一圈只分成20步,沒花多少銀子就買到了。同時我還製作了一個用NEMA17 步進電機組裝的版本,它的性能強勁了不少,轉動一圈分爲400步,重量在1磅左右,單價約14英鎊。買到它們之後,我就不再需要廉價的電機了。

○ 需要修改Arduino程序中"stepsPerRevolution"的參數來匹配你所選用的步進電機。

○ 在微控制器(arduino)沒有連接到電腦上的時候,還要找個6-9V的直流電源給它供電。

 

3.4   工具● 主要就是刀子——不找把鋒利的刀子,泡沫夾芯板就不容易切割整齊。所以最好能找把新的長刀刃裁紙刀,而且切割的時候要掌握好要領,最好是像鋸木頭那樣來回輕輕的割,而不要像劈柴那樣用蠻力去砍。

● 粘合劑——常見的帶粘性的東西都用到了:強力膠水,熱熔膠,萬能膠,牛皮紙膠帶。

● 焊接用的電烙鐵或是螺旋接線柱,還有導線。

 

4   線性時鐘原型----繞線輪● 我製作的線性時鐘大約10cm寬,首先把泡沫板裁剪到大致的寬度。

 

● 把窗簾導軌粘到上面。

 

● 泡沫板長度不太重要,我找到的板子長度不夠,需要用膠水把兩塊板子粘起來,即使中間留點縫隙影響也不大。我用的膠水就是普通的萬能膠,用它足以應付PVC滑軌和泡沫板,但是它能溶解聚苯乙烯材料做的泡沫板,所以用它粘泡沫板邊的時候要注意。

 

● 粘滑軌的時候也要小心些,粘之前,先看看滑軌是否彎曲,要是彎曲,務必要把它掰直。可以裁剪些長條狀的東西卡在滑軌間,並用鬆緊帶固定,這樣等待膠水晾乾時,滑軌就能保持筆直。擠膠水時注意要沿着滑軌的邊,儘量避免過量的膠水溶解泡沫板。

 

5   線性時鐘原型----繞線輪● 把兩個縫紉機繞線輪粘到一起。

● 粘貼面要打磨平整,然後用強力膠水粘住。

 

● 在時鐘運行中,一個輪繞線,另一個輪放線。你可能會想:兩個繞線輪粘在一起,不就相當於一個嗎,那隻用一個長一些的線筒可不可以呢?嗯,這種想法應該是對的,但是如果這樣的話兩根線可能會攪在一起,所以爲了讓它們運行更流暢我使用了兩個繞線輪。

● 這裏還需要設法把繞線輪和步進電機的軸連在一起。恰好,我的電機軸上帶有一個銅環,剛好能塞到繞線輪的孔裏,大小還蠻合適。我用熱熔膠把軸和繞線輪牢牢地固定在一起,要是不放心,你還可以用環氧樹脂來粘,強度保證給力。

 

● 這裏注意要在繞線輪和電機外殼之間留點縫隙,確保電機旋轉時沒有障礙。縫隙有兩張紙那麼厚就可以,在固定的時候可以預先拿兩張紙墊到縫隙裏,這樣就不用擔心繞線輪和電機外殼接觸了。

 

● 在每個繞線輪上纏一根比時鐘稍長的線,兩根線的方向相反,爲確保線頭不鬆散,把線頭用藍丁膠(BLU - TACK)粘一下,再裁剪它們到一定長度。

 

 

6   線性時鐘原型---安裝電機● 把和電機固定好的繞線輪安裝到時鐘底座端部--安裝的時候注意高度,要讓繞過上方繞線輪的線恰好能通過滑軌的槽而不會碰到滑軌。

 

● 繞線輪上的線要橫穿整條滑軌,然後通過滑軌另一端的惰輪引回來,再繞到繞線輪的另一側。

 

● 看起來想繞好這圈線也不容易,如果你有鏈條、傳送帶之類的物品,可以拿來代替繞線。我就用珠鏈(捲簾上的)做過測試,但是用起來有點滯重,我選的電機又比較小,用珠鏈傳動時轉動不流暢。然後把電機固定在底座上開好的圓槽裏,我的電機小且輕,所以不用做任何處理,摩擦力就能把它們固定住。這樣做優點是可以方便調整,但是缺點是容易受外力影響而掉下來。

 

7   線性時鐘原型----惰輪● 時鐘的另一端需裝上惰輪(就是不做功的滑輪)。惰輪的位置要放準,它的一側應對準滑軌槽的中線。這樣穿過滑軌槽從繞線輪上引來的線就不會碰到槽的內壁,也就能順利的繞過惰輪了。

 

● 繞線輪的進線側對位置的要求就沒有這麼苛刻了,只要使線能夠順暢的經過整個時鐘,再繞回到繞線輪上就行。爲了讓出繞線的通路,我在時鐘內側剪掉了好幾個“路障”。

 

●惰輪安放的角度沒特殊要求,只要能保證進出線不碰到時鐘的兩側就合適。好的,安放成功!是不是看起來很不錯哦,不過唯一的不足就是一旦安放完畢就不太容易調整了。

 

8   線性時鐘原型----滑動塊和指示器● 用輕木做個類似雪橇的有兩條腿的滑動塊,用來在滑軌上滑動。在其中的一條腿上刻出凹槽來固定繩子。

 

● 作爲一名老手,我製作的時候沒有先做好再往上裝,而是直接在滑軌上組裝的。

 

● 安裝好之後,等膠水一干,滑動塊可以滑動,我就迫不及待的進入了下一步的工作。最後,還需要從硬紙板或者其他什麼東西裁下幾個細條,當做時鐘的指針。

● 下面這個滑塊就不錯,做這樣的滑塊還真是個技術活。

 

9   線性時鐘原型----繞線時鐘的繞線輪直徑和上面繞線的多少密切相關,繞線越多它體型就越胖,步長就變得越長---也就是說,因爲線是逐漸繞上去的,電機每前進一步繞線輪上就多繞一些線。這在實際中會引起一個小問題,當其中一個繞線輪繞滿線之後那麼傳動中的線會略微變形。

爲了補償這個變化(雖然不嚴重,但也足以引起一些問題),兩邊的繞線迴路可以用一條鬆緊帶捆在一起。這樣繞線就有了足夠的伸縮性,鬆的時候能保持運行的流暢,在被拉緊得時候又能提供足夠的張力保持不變形。

這有一定的難度,我的製作過程都已經用圖片展示出來:

 

● 保證每一對繞線輪上的線都足夠在時鐘上繞一圈。也就是說,要把這一對繞線輪上引出的線從時鐘另一端的惰輪上繞過再引回來。把兩個繞線輪上的線截成同樣長度。

● 每個繞線輪只繞一半的線,把兩個繞線輪的線頭沿滑塊槽引到惰輪。

 

● 用手指捏住兩個線頭,沿着滑塊槽的方向來回扯動,試着讓線在繞線輪來回纏繞幾圈,感覺一下張力的變化程度。這樣鬆緊帶會拉到多緊你就心裏有數了。如果變化很小(繞線較細時),那麼鬆緊帶就不必放的太鬆。如果變化很大(繞線較粗時),這時就有必要讓鬆緊帶富餘一些了。

 

● 在兩根線的末端都打上大約一英寸的結,兩根線不直接連接,而是用一段適當長度的鬆緊帶連起來,先在鬆緊帶的一端打一個結。

● 把鬆緊帶打結的一端捆到從惰輪引來的線上(來自於另一端的收線輪)

● 然後再來回扯一扯線,試試看把鬆緊帶的節套到繞線的哪個位置比較合適,然後再打上結固定住。我在繞線的線頭上多打了幾個結,這樣方便調整鬆緊帶的長短。

 

● 鬆緊帶上的結要能卡到你開的滑動塊凹槽上。如果怕不結實可以再用膠水粘一下,但是我發現只要把結塞進槽裏,它就不容易跑出來了。

 

10   線性時鐘原型----電路部分● 電路部分主要由一塊Arduino板和一塊Adafruit Motorshield板組成。通常電機和Arduino板不宜使用同一個電源供電,但是在這個DIY中電機的功率很小,只需要很小的電壓就能驅動。所以我就插了根跳線,讓arduino板的電源同時給Motorshield供電。

● 接下來又做了幾根4針腳的延長線,因爲我的步進電機恰好有幾個那樣的接口,只是接口上的線稍細了些。

● 我對步進電機瞭解也不太深,只能大致給童鞋們說一說基本原理:步進電機中都有兩個線圈,對兩個線圈輸入一定頻率和極性的脈衝信號,就能驅動轉子向指定方向旋轉。在我所用的步進電機上,這兩個線圈是相互獨立的,所以電機上引出了四根線。關於這種型號步進電機的詳細介紹可以查閱 下面 這篇文章。

 

 

● 兩根線連接到一個線圈上,另外兩根連到另一個線圈。藉助萬用表確定怎樣正確連線。然後一個線圈的兩根線連到Motorshield板的1、2輸出端上,另一線圈連到4 、5輸出端。這裏要注意線的極性,不要接反。

● 測試程序時無需等待,可以直接把程序中millisPerSecond的值改爲200,它的轉速就會變成原來的5倍。你也可以改變步長,步長變化會改變每個週期電機移動的步數。

 

11   線性時鐘原型---程序程序其實並不複雜,但是你必須要有最新版的Adafruit Motorshield驅動。因爲其中的一個更新在這個程序代碼裏有重要作用。

程序代碼:

程序中有三個內部時間定義,由三個整型變量組成:currentSeconds, currentMinutes 和 currentHours。這三個時間在程序開始前預置,並隨着程序運行自動累加。

程序的主循環語句記錄開始時間,然後連續檢測時間是否超過1000毫秒。如果超過的話,內部時鐘時間加1(doTick()),然後觸發子程序使時鐘上的指針移動(renderTime())。

doTick()子程序負責累加時間,由秒到分鐘,由分鐘到小時,並且在必要時重置時間。

renderTime()子程序的作用是把累加的時間轉換成時鐘面板上的時分秒的位置,更準確的說就是步進電機轉動的步數。這個程序能判斷指針當前位置,(啓動時設定在00:00的位置,也就是時鐘最左邊的位置),通過指針當前位置和初始位置的比較來決定步進電機的運動方向。

使用Arduino的內部計時器有時會不太可靠。這個問題有很多解決方法, Arduino主頁 中也介紹了一些讓計時更準確的方法,也可以使用時間函數庫。考慮到這僅僅是一臺測試機,我採用了一種比較簡略的解決方案(這貌似是我想偷懶時的一貫藉口哦)。

因爲我使用的是Adafruit公司的Motorshield板,所以便用AFMotor函數庫來驅動電機。如果你通過其他電路驅動步進電機,也可以選用Arduino步進電機函數庫中的其他一些子程序來加快編程。如果你下載了我的程序,記得文件必須保存爲後綴,文件名可以自己修改。

** 程序 **

 

12   線性時鐘原型---修改軟件程序你所選的步進電機不一定和我用的相同,爲了使程序適用於不同的電機要進行修改,主要有以下幾處:

1、改變電機聲明變量的參數

AF_Stepper hourHand(20, 1); // hours

AF_Stepper minuteHand(20, 2); // minutes

第一行,改變數值20可以設定電機旋轉一圈移動的步數。一般可設置爲200(就是每步1.8度)。如果你沒有所用電機的參數資料,那就只能通過實驗來檢測了,我相信你肯定能夠設法得到這個數據。

 

2、改變stepsPerClock的參數

int stepsPerClock = 592;

這一步可能比較複雜,因爲這個數據取決於線性時鐘的長度,電機每轉一圈的步數以及繞線輪的直徑,需要利用公式計算出來。我只計算了電機移動100步時滑動塊的移動距離,通過它就能方便的算出滑動塊移動整個時鐘長度時,電機需要移動多少步。這裏注意應在時鐘兩端留出餘量,防止滑動塊從時鐘兩端滑落。

 

3、調整當前時間:

這個版本的程序中設置初始時間不太方便,下一版本中會進行修改,使我們能用Arduino板上的按鈕來改變時間。

int currentSeconds = 0;

int currentMinutes = 55;

int currentHours = 11;

如果按照上面的值設定,時鐘啓動時指針會指向11點55分。有不少改進方法使設置初始時間更加智能,但是在原型中這個程序已經夠用了。

我通常設置的初始時間比當前時刻晚一分鐘,這樣就留出了往arduino板上燒寫程序的時間,刷新完程序等到恰好一分鐘時再按下復位按鈕。時鐘剛啓動時,分針可能會有些錯位,偏離整分鐘的位置,不用擔心,用手調整到準確位置就可以了。

 

4、調整時間速度

通過下面這一行代碼可以改變計時的速度。在測試時我把計時速度調整爲實際的5倍。

int const millisPerSecond = 200;

上面這段代碼設定每秒鐘爲200毫秒,而實際應該是1000毫秒,因此若想調回實際時間時,只要把200再改爲1000即可。

 

13   線性時鐘原型----指針、錶盤測試時,先用手將滑動塊移到起始位置(00:00)然後啓動時鐘。如果你使用的是Arduino開發環境,還可以從串口接口的顯示器讀出時鐘內部時間。當內部時鐘數值改變時,電機就會運轉,帶動時鐘錶盤指針移動到相應位置。

雖然我知道實際過程可能沒有那樣簡單,但是至少理論上是那樣的。

接下來還需要製作錶盤,可以打印或者乾脆自己動手畫一個,然後把兩個卡片紙做的指針粘到上面,看,我們的線性時鐘基本成型!注意兩個指針距錶盤的高度不能相同,否則在移動的過程中可能會"撞車"。此刻你就可以清理一下多餘的雜物,再固定上支架,這樣就可以把時鐘立起來或者是掛起來。還可以再做一個外殼,把這些電子元件隱藏在裏面。

 

14   原型的改進● 我最開始設想的時鐘使用彈簧作驅動,用石英機芯作時鐘信號源,再通過電磁鐵和齒輪傳動鏈來帶動錶針移動。

● 線性時鐘的原型完工後,我開始考慮如何改進。它想走進千家萬戶的話就必須要能適應多種環境,所以我就想製作一個更實用的改進版來對部件進行測試。

 

● 在改進版本中,我將一段兩米長的鋁製滑軌鋸成兩段,代替原來的pvc滑軌。我原本以爲鋁製的滑軌更牢固,因此時鐘就能做的更長。可是在測試中,情況並非如此,鋁製滑軌帶來的改進並不明顯。原因是鋁製滑軌並非在所有部分都那麼光滑,尤其端部十分粗糙,因爲硬度高,想打磨光滑也很困難。如果最後還要對時鐘進行包裝的話,那金屬滑軌就更沒有什麼明顯的好處了。

 

15   改進嘗試#1——珠狀鏈環● 從捲簾上找一條珠鏈----因爲時鐘長一米,所以要把它連成一米長的圓環---也就是說,所找的珠鏈至少要有兩米才行,這樣纔可能連成這個鏈環。

 

● 可是有個問題,捲簾上只有一個珠鏈輪,所以我測繪了它,並和兩個支架和一些安裝在導軌上的滑動塊一同進行3D打印。

● 我在 上把設計圖3D打印成實體零件,下面就是這些零件的STL文件,我相信它們會對你有幫助的。

 

** 圖樣一 **

** 圖樣二 **

** 圖樣三 **

 

● 剛開始我還用輕木做了兩個滑輪。它們雖然可以工作,但是邊緣做不圓滑,所以就放棄了。

 

 

● 這些設計似乎看上去很棒,樣子很漂亮,表面也十分光滑。但正如我猜的那樣,它們有個缺陷,那就是太重,那兩個小電機根本奈何不了它們。如果電機的轉矩能再大一點兒那就是絕配,所以雖然這想法十分簡潔,現在我也只能放棄。

 

16   改進嘗試#2——繞線和摩擦輪傳動● 我又改回用一段繞線來作爲傳動帶,用我的小電機來驅動。不過這次我嘗試用兩個齧合齒輪來代替縫紉機繞線輪。這就能很好的解決繞線輪直徑隨繞線增多而變大的問題。

 

● 和滑輪一樣,齧合齒輪也是從Rapid網站訂購的。

 

● 固定在電機轉軸上的黃銅管由K&S Metals公司生產,是我從附近的器材商店淘到的。

 

● 我又多加了兩個用塑料薄片裁剪成的引線裝置,它們可以使繞線和齒輪保持對齊。

 

● 看似一切都很美妙,也的確能工作,但它們也有很大的侷限性,那就是對工作條件太敏感了。因爲是這套系統是靠摩擦力驅動,所以發生打滑的概率很大。即便剛開始運行很好也不能保證永遠不出類似問題。我絞盡腦汁也對它無可奈何,我想所有靠摩擦力驅動的裝置都會遇到這樣的問題吧。

 

17   改進嘗試#3——繞線輪的迴歸● 所以,最終只好又重新選擇了雙繞線輪,但是我還是做了一些改進,適當改變其放置位置使繞線更均勻。提前儘量將繞線輪上的線繞均勻,這樣繞線的輪和不繞線的輪纔有相同的轉動速度。

 

● 它雖然不像珠鏈傳動系統那樣簡單,但是卻很安靜,更重要的是,它們重量輕,價格低,和這些小電機搭配很完美。

 

● 通過以上的過程,童鞋們也能感覺到,設計其實就是一個不斷改進,不斷折中的過程,經過這樣的過程才能形成最終的實際作品。不經過辛苦的摸索,直接想把紙上設想的方案完美轉化爲現實是不太實際的做法。

 

 

18   收尾工作● 我又在時鐘背後的槽裏安上了幾個支腳,這樣它就能站起來了,如果往這些槽裏穿上繩子還可以把它掛在牆上。

● 我覺得我更想給它做個殼子。

 

19   裝配電路最後一步是安裝電路板。可以先把它們粘在一塊小泡沫板上,再將小泡沫板固定到時鐘背後。爲了方便固定,可以在時鐘背後適當的挖一些槽。

需要用到下面這些材料:

● 幾英寸長的萬能電路板

● 連接用的導線

● 與Motorshield引腳相匹配的導線插頭

● 3個按鈕開關和1個LED燈(我用的是彎腳型開關和散光LED,這樣更便於操作。)

 

● 程序也進行了修改,現在時鐘可以在按鈕的控制下開啓或關閉,當它停止時,錶盤時間可以由另外兩個按鈕手動調整。

● 實現此功能靠的是Alexander Brevig按鈕函數庫。有了這些調節按鈕,設置時間時就不用再連接電腦,時鐘也就更實用了。但是如果萬一時鐘掉電,還是需要進行復位。

 

● 對時鐘的外觀進行修整,使它看上去更像是一件產品。

● 3個開關分別連接2腳,9腳和10腳,LED燈連接在13腳。每個開關的另一腳都和地線相連,並且每個引腳都有上拉電阻(內置於Arduino板上),所以只要不短路,各引腳默認電壓就是+5V。

● 程序會檢測開關上的高(鬆開按鈕)低(按下按鈕)電平,當程序檢測到按鈕鬆開時便開始工作。

** 程序2 **

 

20   時鐘指針製作● 錶針、繞線都固定在滑動塊上,錶針不應變形,要始終保持在與錶盤距離適當的特定角度上。

● 一開始我只是用萬能膠把繞線和紙板做成的指針粘到滑動塊上。

● 紙板做成的指針製作簡單,但是卻不易保持形狀----它會逐漸自動展開,這樣就容易和另一個指針在重合位置時“撞車”。

● 因此我又製作了一些新的指針,粘上了一些細鐵絲,這樣指針的形狀就能固定住了,然後再用從衣服上拆下的塑料粘扣把它們粘到滑動塊上。

 

● 用塑料粘扣固定繞線和鐵絲非常牢固,固定好之後,再輕輕地把鐵絲掰到合適的角度上就OK了。

 

21   總體評價及改進方向!在最開頭我就列出了對線性時鐘的幾個要求:

低功耗---最好不用電源,僅靠電池就能使用:沒有達到這個目標。現在的這個方案使用了一個arduino板和兩個步進電機。如果只用電池的話,arduino板上的微處理器尚可堅持些時日,但是再加上兩個電機的話,我估計能堅持一週就不錯了。雖然現在這個版本沒達到設想要求,但是也能夠接受,因爲我突然意識到即便是用電源供電也不一定非要從牆上引出根難看的黑線來。線性時鐘的電源線完全可以選用漂亮的纖維編織套管包裝,或是用像音箱線一類的扁平電源線。目前的情況看用電池供電還是個夢想,但是我相信這個設想可以在一個不是微處理器和電機組合的版本中實現。

 

造價低——要在普通零售商店的價格範圍內實現!至少我這麼認爲。爲了回覆一個讀者的問題,我計算了一下使用簡化電路時(非集成的分立元件電路)的成本,共計是40美元。如果批量購進配件的話,這個成本還可以更低。而且時鐘的製作並不複雜,所以人工成本也不高。40美元的成本中不包括外殼,因爲不同材質和外觀的外殼價格也不盡相同,將外殼考慮進去時成本可能更高一些。如果成本按60美元計算,那批發價格可以到 120美元,零售價格更可高達200美元以上。聽起來很誘人呦。如果我們取消中間環節,進行直銷,又能降低部分成本。

 

水平、垂直皆可使用——實現!該時鐘在任何狀態下都沒有靠重力工作的部件,滑動塊和指針都很輕,所以時鐘在水平和垂直方向都能使用。

 

指針不走時不能有噪音----實現!如果電機持續發出嗡嗡嗡的聲音,那麼這個聲音如果被時鐘外殼或牆壁放大會形成惱人的噪音。但是線性時鐘指針運動的空閒中電機不通電,因此也就不會有持續的噪音了。但是當指針跳動時滑動塊還是會發出咔咔的聲音,不過我想用些毛氈應該能減小噪音。

 

重量輕——無需特殊的架子或鉤子就能固定到牆上:實現!試驗證明,把塑料的窗簾導軌升級到鋁製的做法似乎是做了個無用功,導軌變得更重但是卻沒起到什麼作用。但即便是換成鋁製的導軌,牆上的掛鉤也能承擔起它的重量。加上個木質外殼也不用過分擔心超重,因爲相對於懸掛,我更傾向於將線性時鐘擺放在某個地方(比如壁爐或書架上)。

 

滿足多數人審美觀點——要有多種樣式、顏色和材料供選擇:實現。之所以提這樣的要求是因爲我不想製作出來的時鐘看起來怪里怪氣,或是和普通家庭的格調迥異。我始終認爲我做的時鐘必須要有方便製作外殼的輪廓,而不能有突出的軸或是鐘擺,否則爲了給這些突出物留空間,我就不得不破壞時鐘的外表了。 看着這製作成功的時鐘,我很高興,在我給大家講它的製作過程時,它已經在我的桌子上滴滴答答的走了一週了。

 

不過要想製作成產品,還需要進行一些改進:

● 用帶齒的鏈環或是珠狀鏈環來代替兩根繞線。這樣驅動輪的直徑就不會變化(因爲它們不會層層堆積)。另外繞線在長期的運行中可能會變長,變鬆,這個問題可以嘗試用短點的彈簧或是鬆緊帶來解決。

● 使用獨立元件組成的電機驅動電路來代替Adafruit的motorshield板。motorshield功能非常強大,但是用在這裏顯得大材小用。 可以使用幾片L293芯片和一些三極管組成一個更加簡單的電路,再搭配一個功能相對簡單的arduino板,這樣成本能降低不少。

● 在時鐘的起點位置安裝一個指針位置檢測器,在指針每次到達起點時用來自動調整指針的位置。

● 選擇更好的時鐘內部計時方法。其實有很多方法都能實現這個目的,我感覺可以用石英鐘上的計時芯片來進行改進。

這些都是今後要改進的方向。有些是爲了提高產品的質量,有些是爲了控制成本。毫無疑問,一個成本過高的產品即使十分完美也是沒有商業價值的。

 

感謝童鞋們能耐着性子讀完我這篇冗長的製作介紹。我很樂意聽到有人想試着自行DIY,希望上面這些介紹能對你有一些幫助。即使你沒有按照我所設計的過程製作,也可以從這篇文章裏找到已經被我嘗試過的方法,我希望你也能享受DIY本身帶來的無窮樂趣。