一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Arduino合成器V3設(shè)計(jì)案例

Arduino合成器V3設(shè)計(jì)案例

2022-08-11 | zip | 0.01 MB | 次下載 | 2積分

資料介紹

電路板圖如下:
pYYBAGL0Wa6AIWinAACkBXbvqxE604.jpg
pYYBAGL0WbGAdEXrAACiaOApkfE439.jpg
poYBAGL0WbOAcYYoAACcBiX6S14529.jpg
pYYBAGL0WbaAbXSeAAB-i5dMM1w708.png

描述

Arduino 合成器 V3

?

嘿伙計(jì)們?cè)趺戳耍?/font>

所以這是我的 Arduino Synth V3,它是由 Arduino Nano 驅(qū)動(dòng)的 DIY 合成器。

?

?

poYBAGL0WbyANFL6ABA8YKe43l4712.jpg

?

它有 12 個(gè)按鈕開(kāi)關(guān)和兩個(gè)用于改變模式的 ON/OFF 開(kāi)關(guān)和兩個(gè)用于改變音高和速度的電位器。

通過(guò)更改 Pitch Potentiometer,我們可以通過(guò)按任意 12 個(gè)按鈕來(lái)更改輸出波形,從而產(chǎn)生酷炫的科幻聲音。它的工作原理與普通鍵盤(pán)合成器非常相似。

我制作合成器已經(jīng)有一段時(shí)間了,制作了兩個(gè)與這個(gè)工作相同的合成器,但它們都使用 Mozi 庫(kù)來(lái)運(yùn)行,但這個(gè)使用簡(jiǎn)單的代碼,通過(guò)按鈕和開(kāi)關(guān)的狀態(tài)調(diào)制輸出。

?

這篇文章是關(guān)于這個(gè)合成器的整個(gè)構(gòu)建過(guò)程,所以讓我們開(kāi)始吧。

?

所需材料

以下是我在此構(gòu)建中使用的東西-

  • 定制PCB
  • Arduino納米
  • 電位器
  • 開(kāi)/關(guān)
  • 按按鈕
  • 揚(yáng)聲器 4 歐姆
  • 排針母頭

?

原理圖

?

pYYBAGL0Wb-AMaFcAAGOzMnqexU345.jpg

?

該板的原理圖很簡(jiǎn)單,Arduino Nano 連接了 12 個(gè)按鈕。每個(gè) Push Button 都連接一個(gè) IO 端口,當(dāng)我們按下任何按鈕時(shí),它會(huì)將 IO 端口拉低至 GND。

兩個(gè) ON-OFF 開(kāi)關(guān)也是如此,但是當(dāng)我們按下它們時(shí),它們會(huì)使 IO 引腳拉下更長(zhǎng)的時(shí)間。然后兩個(gè) Pot 用 A4 和 A5 連接。

PAM8403 模塊與輸出引腳 A2 相連,它放大信號(hào)并使其響亮。

?

PCB設(shè)計(jì)

?

poYBAGL0WcKAKXyBAAMuKMstifg584.png

?

完成原理圖后,我導(dǎo)出了網(wǎng)表并開(kāi)始進(jìn)行 PCB 設(shè)計(jì)。

至于外形,我取材于通用鍵盤(pán)的美學(xué)和整體外觀,Arduino Nano 放置在右上角,揚(yáng)聲器放置在 TOP 左側(cè)。

我還在設(shè)計(jì)中添加了一些假鑰匙,我在這些假鑰匙上放置了按鈕。也許未來(lái)的版本會(huì)有真正的電容式觸摸鍵。

此外,我已經(jīng)從假鑰匙上移除了阻焊層,因此銅區(qū)域?qū)⑽幢惶畛?,這將提供超酷的銀色外觀,因?yàn)殡娐钒鍖⒈?HASL 覆蓋。

?

從 PCBWAY 獲取 PCB

?

?

poYBAGL0WcWAcR4YAAL1EMIQM-A547.png

?

poYBAGL0WciAA3P_AACdQd76v6Y526.jpg

?

pYYBAGL0WcqAed9oAACqS9LcTes124.jpg

?

pYYBAGL0WcyAcluQAACR6ppBeMw997.jpg

?

完成 PCB 后,我將 Gerber 數(shù)據(jù)發(fā)送到 PCBWAY 以獲取樣品。

我選擇帶有黑色絲印的白色阻焊層,因?yàn)槿绻覀兲砑雍谏z印圖案,白色 PCB 通常看起來(lái)很酷。

我很快就收到了 PCB。至于PCB質(zhì)量,它是一流的。

使用他們的服務(wù)已經(jīng)有一段時(shí)間了,我不得不說(shuō),這對(duì)于入門來(lái)說(shuō)是相當(dāng)不錯(cuò)的。

?

看看我的復(fù)雜設(shè)計(jì),我在 PCB 上放置了許多不尋常的圖案,例如不規(guī)則的輪廓和阻焊層形狀,這很難制作,但他們?cè)谥谱?PCB 方面做得非常出色,沒(méi)有任何問(wèn)題。

?

電路板組裝

poYBAGL0Wc6AfCD0AADcKm_3oNo171.jpg

?

在開(kāi)始 PCB 組裝之前,我們需要收集我們將在這個(gè)項(xiàng)目中使用的所有組件。

?

添加接頭引腳、開(kāi)關(guān)和電位器

poYBAGL0WdGAUSrtAACydDqLd8s778.jpg

?

poYBAGL0WdSAXta4AAC25xCVlW4644.jpg

?

我們首先為 Arduino Nano、開(kāi)關(guān)和電位器添加 Header Pins。

?

添加按鈕

pYYBAGL0WdeAYDbiAAC2z7pXrEs103.jpg

?

poYBAGL0WdmAKLAfAAC4-kiq1Ug548.jpg

?

接下來(lái),我們將 12 個(gè) Push Buttons 一個(gè)一個(gè)地添加到它們的位置。

?

焊接組件

pYYBAGL0WdyAbr0hAADD30A0uH4285.jpg

?

將所有開(kāi)關(guān)和插頭引腳放置到位后,我們使用普通烙鐵和焊錫線將它們的端子焊接到 PCB。

?

添加 PAM8403 模塊

poYBAGL0WeCABV4DAADZZApQEcA005.jpg

?

pYYBAGL0WeKAFOQ8AAC3M5PwGAs368.jpg

?

poYBAGL0WeWAbbgKAADEJ2bHpAs577.jpg

?

poYBAGL0WeeAfZn8AAC0TQChcgc454.jpg

?

pYYBAGL0WeqATPQkAACcmurGWLE024.jpg

?

接下來(lái),我們通過(guò)使用一些公頭引腳添加 PAM8403 模塊,我們?cè)?PCB 上添加公頭引腳,然后在頭引腳上添加 PAM8403。

最后,我們焊接引腳并將模塊永久固定到位。

?

添加揚(yáng)聲器

pYYBAGL0WeyALoiLAAC1X1AdHTQ014.jpg

?

pYYBAGL0We-AdzEcAACxaMHIguI618.jpg

?

poYBAGL0WfGAWWw3AAC8tLOXkXA956.jpg

?

最后,我們?cè)谄湮恢锰砑右粋€(gè)揚(yáng)聲器。

我在 PCB 上添加了一個(gè)孔,這里的目標(biāo)是通過(guò)這個(gè)孔從背面添加一個(gè)揚(yáng)聲器。揚(yáng)聲器粘在 PCB 上,然后我們通過(guò)兩條跳線將揚(yáng)聲器的端子與 PAM8403 CON2 端口連接。

完成后,PCB就完成了。

?

PCB組裝結(jié)果

pYYBAGL0WfWAch1eAAC5x5OI2_g953.jpg

?

pYYBAGL0WfeAStlyAAC5y9MQogk768.jpg

?

這是到目前為止的結(jié)果,所有組件都焊接好了,電路板就完成了。它看起來(lái)很像 Arduino Nano Sheild 或插件板。

下一步是將 Arduino Nano 添加到此板上并將主草圖刷入 MCU。

?

主要代碼

?

這是我使用的主要草圖。

C =  ;
CS =  ;
D =  ;
DS =  ;
E =  ;
F =  ;
FS =  ;
G =  ;
GS =  ;
A =  ;
AS =  ;
B =  ;
八八度 =  ;
八達(dá)利巴 =  ;
 tiempo = 模擬讀?。ˋ4);
 pitch_bend = 模擬讀?。ˋ5);


c =  ;
cs =  ;
d =  ;
ds =  ;
e =  ;
f =  ;
fs =  ;
g =  ;
gs =  ;
a =  ;
 =  ;
 b =  ;

  {

pinMode(C,INPUT_PULLUP);
pinMode(CS,INPUT_PULLUP);
pinMode(D,INPUT_PULLUP);
pinMode(DS,INPUT_PULLUP);
pinMode(E,INPUT_PULLUP);
pinMode(F,INPUT_PULLUP);
pinMode(FS,INPUT_PULLUP);
pinMode(G,INPUT_PULLUP);
pinMode(GS,INPUT_PULLUP);
pinMode(A,INPUT_PULLUP);
pinMode(AS,INPUT_PULLUP);
pinMode(B,INPUT_PULLUP);
pinMode(octabajo, INPUT_PULLUP);
pinMode(octarriba, INPUT_PULLUP);
pinMode(A4,INPUT_PULLUP);

pinMode(A2,輸出);

Serial.begin(  );
}



  {
 
 
digitalRead(  );
數(shù)字讀?。ǎ?;
 
Serial.println(analogRead(A4));

(!digitalRead(C)){
音調(diào)(A2, c+(analogRead(A5)/  ));
延遲(模擬讀?。ˋ4));
數(shù)字讀取(C);
}
 (!digitalRead(C)&&!digitalRead(octabajo)) {
音調(diào)(A2, c/  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字讀?。–);
}
 (!digitalRead(C)&&!digitalRead(octarriba)) {
音調(diào)(A2, c*  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字讀?。–);
}


數(shù)字閱讀(CS);
(!digitalRead(CS)){
音調(diào)(A2, cs+(analogRead(A5)/  ));
延遲(模擬讀?。ˋ4));
數(shù)字閱讀(CS);
}
(!digitalRead(CS)&&!digitalRead(octabajo)) {
音調(diào)(A2, cs/  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字閱讀(CS);
}
(!digitalRead(CS)&&!digitalRead(octarriba)) {
音調(diào)(A2, cs*  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字閱讀(CS);
}

數(shù)字讀?。―);
(!digitalRead(D)){
音調(diào)(A2, d+(analogRead(A5)/  ));
延遲(模擬讀?。ˋ4));
數(shù)字讀?。―);
}
 (!digitalRead(D)&&!digitalRead(octabajo)) {
音調(diào)(A2, d/  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字讀?。―);
}
 (!digitalRead(D)&&!digitalRead(octarriba)) {
音調(diào)(A2, d*  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字讀取(D);
}

數(shù)字讀取(DS);
(!digitalRead(DS)){
音調(diào)(A2, ds+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數(shù)字讀?。―S);
}
(!digitalRead(DS)&&!digitalRead(octabajo)) {
音調(diào)(A2, ds/  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字讀?。―S);
}
(!digitalRead(DS)&&!digitalRead(octarriba)) {
音調(diào)(A2, ds*  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數(shù)字讀?。―S);
}

數(shù)字閱讀(E);
(!digitalRead(E)){
音調(diào)(A2, e+(analogRead(A5)/  ));
延遲(模擬讀?。ˋ4));
數(shù)字閱讀(E);
}
 (!digitalRead(E)&&!digitalRead(octabajo)) {
音調(diào)(A2, e/  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字閱讀(E);
}
 (!digitalRead(E)&&!digitalRead(octarriba)) {
音調(diào)(A2, e*  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數(shù)字閱讀(E);
}

數(shù)字讀取(F);
(!digitalRead(F)){
音調(diào)(A2, f+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數(shù)字讀取(F);
}  (!digitalRead(F)&&!digitalRead(octabajo)) {
音調(diào)(A2, f/  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字讀?。‵);
}
 (!digitalRead(F)&&!digitalRead(octarriba)) {
音調(diào)(A2, f*  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字讀?。‵);
}

數(shù)字讀?。‵S);
(!digitalRead(FS)){
音調(diào)(A2, fs+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數(shù)字讀取(FS);
}
 (!digitalRead(FS)&&!digitalRead(octabajo)) {
音調(diào)(A2, fs/  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字讀?。‵S);
}
(!digitalRead(FS)&&!digitalRead(octarriba)) {
音調(diào)(A2, fs*  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數(shù)字讀?。‵S);
}

數(shù)字閱讀(G);
(!digitalRead(G)){
音調(diào)(A2, g+(analogRead(A5)/  ));
延遲(模擬讀?。ˋ4));
數(shù)字閱讀(G);
}
(!digitalRead(G)&&!digitalRead(octabajo)) {
音調(diào)(A2, g/  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字閱讀(G);
}
(!digitalRead(G)&&!digitalRead(octarriba)) {
音調(diào)(A2, g*  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字閱讀(G);
}

數(shù)字閱讀(GS);
(!digitalRead(GS)){
音調(diào)(A2, gs+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數(shù)字閱讀(GS);
}
 (!digitalRead(GS)&&!digitalRead(octabajo)) {
音調(diào)(A2, gs/  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字閱讀(GS);
}
 (!digitalRead(GS)&&!digitalRead(octarriba)) {
音調(diào)(A2, gs*  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數(shù)字閱讀(GS);
}

數(shù)字閱讀(一);
(!digitalRead(A)){
音調(diào)(A2, a+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數(shù)字閱讀(一);
}
 (!digitalRead(A)&&!digitalRead(octabajo)) {
音調(diào)(A2, a/  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字閱讀(一);
}
 (!digitalRead(A)&&!digitalRead(octarriba)) {
音調(diào)(A2, a*  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字閱讀(一);
}

數(shù)字閱讀(AS);
(!digitalRead(AS)){
音調(diào)(A2,  +(analogRead(A5)/  ));
延遲(模擬讀?。ˋ4));
數(shù)字閱讀(AS);
}
 (!digitalRead(AS)&&!digitalRead(octabajo)) {
音調(diào)(A2,  /  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字閱讀(AS);
}
 (!digitalRead(AS)&&!digitalRead(octarriba)) {
音調(diào)(A2,  *  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字閱讀(AS);
}

數(shù)字讀?。˙);
(!digitalRead(B)){
音調(diào)(A2, b+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數(shù)字讀?。˙);
}
 (!digitalRead(B)&&!digitalRead(octabajo)) {
音調(diào)(A2, b/  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字讀取(B);
}
 (!digitalRead(B)&&!digitalRead(octarriba)) {
音調(diào)(A2, b*  +((analogRead(A5)/  )));
延遲(模擬讀?。ˋ4));
數(shù)字讀?。˙);
}

無(wú)音(A2);


}

poYBAGL0WfqAEDQnAADbux5v0FY331.jpg

?

poYBAGL0WfyAPYIqAAC9S4PZPTw181.jpg

?

我們首先在其位置添加 Arduino Nano,然后使用代碼對(duì)其進(jìn)行閃爍,結(jié)果將是一個(gè)正常工作的合成器播放隨機(jī)嗡嗡聲,我們可以通過(guò)按下按鈕或調(diào)制電位器或 ON/OFF 開(kāi)關(guān)來(lái)改變聲音。

?

結(jié)果

?

這是總體結(jié)果,請(qǐng)觀看演示視頻。

?

?

這就是今天的內(nèi)容,請(qǐng)繼續(xù)關(guān)注,我很快就會(huì)帶著一個(gè)新項(xiàng)目回來(lái)。

特別感謝?PCBWAY?對(duì)這個(gè)項(xiàng)目的支持,看看他們以更低的成本獲得優(yōu)質(zhì)的 PCB 服務(wù)。

和平

?

?

?

代碼


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1DD3118電路圖紙資料
  2. 0.08 MB   |  1次下載  |  免費(fèi)
  3. 2AD庫(kù)封裝庫(kù)安裝教程
  4. 0.49 MB   |  1次下載  |  免費(fèi)
  5. 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
  6. 1.12 MB   |  1次下載  |  免費(fèi)
  7. 4網(wǎng)絡(luò)安全從業(yè)者入門指南
  8. 2.91 MB   |  1次下載  |  免費(fèi)
  9. 5DS-CS3A P00-CN-V3
  10. 618.05 KB  |  1次下載  |  免費(fèi)
  11. 6海川SM5701規(guī)格書(shū)
  12. 1.48 MB  |  次下載  |  免費(fèi)
  13. 7H20PR5電磁爐IGBT功率管規(guī)格書(shū)
  14. 1.68 MB   |  次下載  |  1 積分
  15. 8IP防護(hù)等級(jí)說(shuō)明
  16. 0.08 MB   |  次下載  |  免費(fèi)

本月

  1. 1貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說(shuō)明
  2. 0.50 MB   |  103次下載  |  1 積分
  3. 2涂鴉各WiFi模塊原理圖加PCB封裝
  4. 11.75 MB   |  89次下載  |  1 積分
  5. 3錦銳科技CA51F2 SDK開(kāi)發(fā)包
  6. 24.06 MB   |  43次下載  |  1 積分
  7. 4錦銳CA51F005 SDK開(kāi)發(fā)包
  8. 19.47 MB   |  19次下載  |  1 積分
  9. 5PCB的EMC設(shè)計(jì)指南
  10. 2.47 MB   |  16次下載  |  1 積分
  11. 6HC05藍(lán)牙原理圖加PCB
  12. 15.76 MB   |  13次下載  |  1 積分
  13. 7802.11_Wireless_Networks
  14. 4.17 MB   |  12次下載  |  免費(fèi)
  15. 8蘋(píng)果iphone 11電路原理圖
  16. 4.98 MB   |  6次下載  |  2 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191390次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183342次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81588次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73815次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65989次下載  |  10 積分