DIY一個(gè)以武大老圖書館外形的電子音樂(lè)盒

【關(guān)鍵詞】3D打??;Arduino Nano;無(wú)源蜂鳴器;紐扣電池;丙烯顏料

1. 簡(jiǎn)介

2. 手工部分

2.1 關(guān)于建模

使用Win10自帶的3D查看器瀏覽模型文件

老圖的3D建模工作是土建院的郭泓同學(xué)完成的(這個(gè)模型也是他參加我校圖書館辦的第一屆3D打印設(shè)計(jì)大賽的一等獎(jiǎng)作品),據(jù)他說(shuō)是使用 Autodesk 123D Design 軟件設(shè)計(jì)的,不過(guò)這個(gè)軟件現(xiàn)在 AutoDesk 公司似乎已經(jīng)不更新了。

我自己比較常用的三維建模軟件是 Autodesk Inventor,而作為沒(méi)有任何基礎(chǔ)的同學(xué)如果想要入門三維設(shè)計(jì),做一些簡(jiǎn)單的嘗試的話,建議試一下 Win10 自帶的畫圖3D,還有就是 AutoDesk 公司的在線建模軟件 TinkerCAD ,注冊(cè)一下就可以使用了(記得注冊(cè)為教育用戶,這樣 AutoDesk 公司的幾十個(gè)軟件都可以在三年之內(nèi)免費(fèi)使用,這里不詳述)。

雖然已經(jīng)有了基本的模型,但也不是立馬就能用來(lái)做音樂(lè)盒的外殼,而是在制作的過(guò)程中經(jīng)過(guò)反復(fù)的手動(dòng)調(diào)整、反復(fù)溝通(si)和二次設(shè)計(jì),最后才確定了現(xiàn)在的組合方式。

2.2 3D打印

打印中

打印全部的零件差不多花了10余個(gè)小時(shí),還是個(gè)挺漫長(zhǎng)的過(guò)程,筆者用的這個(gè)打印機(jī)精度不算高,出模之后還有一些毛邊需要手工用刀片處理下。

打印出的部件全家福
簡(jiǎn)單地預(yù)組裝一下

2.3 上色

使用丙烯顏料給模型上色,丙烯的特點(diǎn)是可以用水做溶劑,干燥之后防水而且耐磨、不易脫落,所以很適合DIY的時(shí)候用來(lái)給塑料或金屬制品上色。

調(diào)色也是個(gè)學(xué)問(wèn),也是做了一兩次失敗的嘗試才確定了比較合適的顏料比例,上色的時(shí)候先用較粗的畫筆大致上一遍,待顏料基本干后,再用較細(xì)的筆勾描一下細(xì)節(jié)。

上色過(guò)程

3. Arduino部分

下面到了電子元器件的部分

電子元器件全家福

3.1 元器件簡(jiǎn)介

  • Arduino Nano
  • 無(wú)源蜂鳴器
  • 紐扣電池

3.2 組合與焊接

連接蜂鳴器并測(cè)試
連接紐扣電池盒并測(cè)試
焊接觸點(diǎn)
整體組合

3.3 代碼部分

tone() 函數(shù)介紹

蜂鳴器音調(diào)和頻率的對(duì)應(yīng)關(guān)系(待補(bǔ)充)

將歌曲的簡(jiǎn)譜按音調(diào)和節(jié)拍錄入為兩個(gè)數(shù)組

// 列出所有D調(diào)的頻率
#define NTD0 -1
#define NTD1 293
#define NTD2 329
#define NTD3 368
#define NTD4 390
#define NTD5 438
#define NTD6 492
#define NTD7 554

#define NTDL1 147
#define NTDL2 166
#define NTDL3 185
#define NTDL4 196
#define NTDL5 221
#define NTDL6 248
#define NTDL7 278

#define NTDH1 585
#define NTDH2 657
#define NTDH3 700
#define NTDH4 781
#define NTDH5 882
#define NTDH6 990
#define NTDH7 1112

int note[] = {  // 根據(jù)簡(jiǎn)譜列出各頻率
    // 東湖之濱,珞珈山上,這是我們親愛(ài)的學(xué)堂
    NTD3, NTD4, NTD5, NTD6, NTD5,
    NTD2, NTD4, NTD3, NTD2, NTD1,
    NTD3, NTD4, NTD5, NTD5, NTD5, NTDH3, NTDH2, NTDH1,
    NTD7, NTD6, NTDH2, NTDH1, NTD5,
    // 
    NTDH1, NTD7, NTD6, NTD5, NTD6,
    NTD5, NTD2, NTD4, NTD3, NTD2,
    NTD3, NTD2, NTD3, NTD4, NTD5, NTD6, NTD5,
    NTDH1, NTD7, NTD6, NTD5, NTDH2,
    //
    NTDH3,
    NTDH2, NTDH1, NTDH3,
    NTDH2, NTDH1, NTD6, NTD7, 
    NTDH1, NTD6, NTD5,
    //
    NTD3, NTD4, NTD3, NTD2, NTD1,
    NTDH1, NTDH1, NTD7, NTD6,
    NTD5, NTDH4, NTDH3, NTDH2,
    NTDH1
};

float durt[] = {  // 根據(jù)簡(jiǎn)譜列出各節(jié)拍
    // 從東湖之濱開(kāi)始
    0.5, 0.5, 0.5, 0.5, 2,
    0.5, 0.5, 0.5, 0.5, 2,
    0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
    0.5, 0.5, 0.5, 0.5, 2,
    //
    0.5, 0.5, 0.5, 0.5, 2,
    0.5, 0.5, 0.5, 0.5, 2,
    0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 1,
    0.5, 0.5, 0.5, 0.5, 2,
    // 
    4,
    0.75, 0.25, 3,
    0.75, 0.25, 2.5, 0.5,
    0.5, 0.5, 3,
    //
    1.5, 0.5, 0.5, 0.5, 1,
    1, 0.75, 0.25, 2,
    1, 1, 1.5, 0.5,
    4
};

int length;
int tonePin = 5;   // 使用5號(hào)接口輸出聲音

void setup() {
    pinMode(tonePin, OUTPUT);  // 設(shè)置tonePin(5號(hào)引腳)為輸出
    length = sizeof(note) / sizeof(note[0]);  // 計(jì)算音調(diào)數(shù)組的長(zhǎng)度
}

void loop() {
    for(int x = 0; x < length; x++) {
        tone(tonePin, note[x]);  // tone()函數(shù)接收兩個(gè)參數(shù),第一個(gè)為連接蜂鳴器輸出聲音的引腳,第二個(gè)為聲音的音調(diào)
        delay(500 * durt[x]);  // 這里用來(lái)根據(jù)音樂(lè)速率調(diào)節(jié)參數(shù),這首設(shè)為500
        noTone(tonePin);  // 關(guān)閉聲音
    }
    delay(2000);  // 延時(shí)2000毫秒(2秒)
}

4. 大功告成

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 所面臨的挑戰(zhàn) 支持更快速、更輕松、更經(jīng)濟(jì)地升級(jí)觀測(cè)臺(tái)、望遠(yuǎn)鏡和設(shè)施以及各種科學(xué)項(xiàng)目和實(shí)驗(yàn)。 實(shí)施后的效果 開(kāi)發(fā)周期...
    Juvien閱讀 409評(píng)論 0 0
  • 本人非專業(yè)設(shè)計(jì)人員,甚至連業(yè)余都算不上。。。只是平時(shí)無(wú)聊,偶爾做點(diǎn)小東西聊以自?shī)?。下面列出的軟件多為自己平時(shí)用過(guò)或...
    rollingstarky閱讀 7,550評(píng)論 3 51
  • 虛擬現(xiàn)實(shí)游戲本身就需要借助很多可穿戴硬件設(shè)備,所以自己也是相當(dāng)關(guān)注硬件產(chǎn)品的發(fā)展。從去年開(kāi)始,因?yàn)榭纱┐鞲拍畹呐d起...
    陳晟閱讀 402評(píng)論 0 5
  • 1.軟件學(xué)報(bào) 2.計(jì)算機(jī)學(xué)報(bào) 3.計(jì)算機(jī)研究與發(fā)展 4.計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào) 5.自動(dòng)化學(xué)報(bào) 6.中國(guó)圖象圖...
    小妍妍說(shuō)閱讀 3,633評(píng)論 0 0
  • 是的寒假真的來(lái)了 你還在擔(dān)心分?jǐn)?shù)的同時(shí)我更關(guān)心你玩的是不是更開(kāi)心 那個(gè)擔(dān)心分?jǐn)?shù)的小女孩一定不會(huì)記起自己的分?jǐn)?shù)而我相...
    哈哈同學(xué)閱讀 389評(píng)論 0 0

友情鏈接更多精彩內(nèi)容