在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>Arduino合成器V3設計案例

Arduino合成器V3設計案例

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

資料介紹

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

描述

Arduino 合成器 V3

?

嘿伙計們怎么了!

所以這是我的 Arduino Synth V3,它是由 Arduino Nano 驅動的 DIY 合成器。

?

?

poYBAGL0WbyANFL6ABA8YKe43l4712.jpg

?

它有 12 個按鈕開關和兩個用于改變模式的 ON/OFF 開關和兩個用于改變音高和速度的電位器

通過更改 Pitch Potentiometer,我們可以通過按任意 12 個按鈕來更改輸出波形,從而產生酷炫的科幻聲音。它的工作原理與普通鍵盤合成器非常相似。

我制作合成器已經有一段時間了,制作了兩個與這個工作相同的合成器,但它們都使用 Mozi 庫來運行,但這個使用簡單的代碼,通過按鈕和開關的狀態調制輸出。

?

這篇文章是關于這個合成器的整個構建過程,所以讓我們開始吧。

?

所需材料

以下是我在此構建中使用的東西-

  • 定制PCB
  • Arduino納米
  • 電位器
  • 開/關
  • 按按鈕
  • 揚聲器 4 歐姆
  • 排針母頭

?

原理圖

?

pYYBAGL0Wb-AMaFcAAGOzMnqexU345.jpg

?

該板的原理圖很簡單,Arduino Nano 連接了 12 個按鈕。每個 Push Button 都連接一個 IO 端口,當我們按下任何按鈕時,它會將 IO 端口拉低至 GND。

兩個 ON-OFF 開關也是如此,但是當我們按下它們時,它們會使 IO 引腳拉下更長的時間。然后兩個 Pot 用 A4 和 A5 連接。

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

?

PCB設計

?

poYBAGL0WcKAKXyBAAMuKMstifg584.png

?

完成原理圖后,我導出了網表并開始進行 PCB 設計。

至于外形,我取材于通用鍵盤的美學和整體外觀,Arduino Nano 放置在右上角,揚聲器放置在 TOP 左側。

我還在設計中添加了一些假鑰匙,我在這些假鑰匙上放置了按鈕。也許未來的版本會有真正的電容式觸摸鍵。

此外,我已經從假鑰匙上移除了阻焊層,因此銅區域將未被填充,這將提供超酷的銀色外觀,因為電路板將被 HASL 覆蓋。

?

從 PCBWAY 獲取 PCB

?

?

poYBAGL0WcWAcR4YAAL1EMIQM-A547.png

?

poYBAGL0WciAA3P_AACdQd76v6Y526.jpg

?

pYYBAGL0WcqAed9oAACqS9LcTes124.jpg

?

pYYBAGL0WcyAcluQAACR6ppBeMw997.jpg

?

完成 PCB 后,我將 Gerber 數據發送到 PCBWAY 以獲取樣品。

我選擇帶有黑色絲印的白色阻焊層,因為如果我們添加黑色絲印圖案,白色 PCB 通常看起來很酷。

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

使用他們的服務已經有一段時間了,我不得不說,這對于入門來說是相當不錯的。

?

看看我的復雜設計,我在 PCB 上放置了許多不尋常的圖案,例如不規則的輪廓和阻焊層形狀,這很難制作,但他們在制作 PCB 方面做得非常出色,沒有任何問題。

?

電路板組裝

poYBAGL0Wc6AfCD0AADcKm_3oNo171.jpg

?

在開始 PCB 組裝之前,我們需要收集我們將在這個項目中使用的所有組件。

?

添加接頭引腳、開關和電位器

poYBAGL0WdGAUSrtAACydDqLd8s778.jpg

?

poYBAGL0WdSAXta4AAC25xCVlW4644.jpg

?

我們首先為 Arduino Nano、開關和電位器添加 Header Pins。

?

添加按鈕

pYYBAGL0WdeAYDbiAAC2z7pXrEs103.jpg

?

poYBAGL0WdmAKLAfAAC4-kiq1Ug548.jpg

?

接下來,我們將 12 個 Push Buttons 一個一個地添加到它們的位置。

?

焊接組件

pYYBAGL0WdyAbr0hAADD30A0uH4285.jpg

?

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

?

添加 PAM8403 模塊

poYBAGL0WeCABV4DAADZZApQEcA005.jpg

?

pYYBAGL0WeKAFOQ8AAC3M5PwGAs368.jpg

?

poYBAGL0WeWAbbgKAADEJ2bHpAs577.jpg

?

poYBAGL0WeeAfZn8AAC0TQChcgc454.jpg

?

pYYBAGL0WeqATPQkAACcmurGWLE024.jpg

?

接下來,我們通過使用一些公頭引腳添加 PAM8403 模塊,我們在 PCB 上添加公頭引腳,然后在頭引腳上添加 PAM8403。

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

?

添加揚聲器

pYYBAGL0WeyALoiLAAC1X1AdHTQ014.jpg

?

pYYBAGL0We-AdzEcAACxaMHIguI618.jpg

?

poYBAGL0WfGAWWw3AAC8tLOXkXA956.jpg

?

最后,我們在其位置添加一個揚聲器。

我在 PCB 上添加了一個孔,這里的目標是通過這個孔從背面添加一個揚聲器。揚聲器粘在 PCB 上,然后我們通過兩條跳線將揚聲器的端子與 PAM8403 CON2 端口連接。

完成后,PCB就完成了。

?

PCB組裝結果

pYYBAGL0WfWAch1eAAC5x5OI2_g953.jpg

?

pYYBAGL0WfeAStlyAAC5y9MQogk768.jpg

?

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

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

?

主要代碼

?

這是我使用的主要草圖。

C =  ;
CS =  ;
D =  ;
DS =  ;
E =  ;
F =  ;
FS =  ;
G =  ;
GS =  ;
A =  ;
AS =  ;
B =  ;
八八度 =  ;
八達利巴 =  ;
 tiempo = 模擬讀取(A4);
 pitch_bend = 模擬讀取(A5);


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(  );
數字讀取();
 
Serial.println(analogRead(A4));

(!digitalRead(C)){
音調(A2, c+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數字讀取(C);
}
 (!digitalRead(C)&&!digitalRead(octabajo)) {
音調(A2, c/  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字讀取(C);
}
 (!digitalRead(C)&&!digitalRead(octarriba)) {
音調(A2, c*  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字讀取(C);
}


數字閱讀(CS);
(!digitalRead(CS)){
音調(A2, cs+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數字閱讀(CS);
}
(!digitalRead(CS)&&!digitalRead(octabajo)) {
音調(A2, cs/  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字閱讀(CS);
}
(!digitalRead(CS)&&!digitalRead(octarriba)) {
音調(A2, cs*  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字閱讀(CS);
}

數字讀取(D);
(!digitalRead(D)){
音調(A2, d+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數字讀取(D);
}
 (!digitalRead(D)&&!digitalRead(octabajo)) {
音調(A2, d/  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字讀取(D);
}
 (!digitalRead(D)&&!digitalRead(octarriba)) {
音調(A2, d*  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字讀取(D);
}

數字讀取(DS);
(!digitalRead(DS)){
音調(A2, ds+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數字讀取(DS);
}
(!digitalRead(DS)&&!digitalRead(octabajo)) {
音調(A2, ds/  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字讀取(DS);
}
(!digitalRead(DS)&&!digitalRead(octarriba)) {
音調(A2, ds*  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字讀取(DS);
}

數字閱讀(E);
(!digitalRead(E)){
音調(A2, e+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數字閱讀(E);
}
 (!digitalRead(E)&&!digitalRead(octabajo)) {
音調(A2, e/  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字閱讀(E);
}
 (!digitalRead(E)&&!digitalRead(octarriba)) {
音調(A2, e*  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字閱讀(E);
}

數字讀取(F);
(!digitalRead(F)){
音調(A2, f+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數字讀取(F);
}  (!digitalRead(F)&&!digitalRead(octabajo)) {
音調(A2, f/  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字讀取(F);
}
 (!digitalRead(F)&&!digitalRead(octarriba)) {
音調(A2, f*  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字讀取(F);
}

數字讀取(FS);
(!digitalRead(FS)){
音調(A2, fs+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數字讀取(FS);
}
 (!digitalRead(FS)&&!digitalRead(octabajo)) {
音調(A2, fs/  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字讀取(FS);
}
(!digitalRead(FS)&&!digitalRead(octarriba)) {
音調(A2, fs*  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字讀取(FS);
}

數字閱讀(G);
(!digitalRead(G)){
音調(A2, g+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數字閱讀(G);
}
(!digitalRead(G)&&!digitalRead(octabajo)) {
音調(A2, g/  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字閱讀(G);
}
(!digitalRead(G)&&!digitalRead(octarriba)) {
音調(A2, g*  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字閱讀(G);
}

數字閱讀(GS);
(!digitalRead(GS)){
音調(A2, gs+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數字閱讀(GS);
}
 (!digitalRead(GS)&&!digitalRead(octabajo)) {
音調(A2, gs/  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字閱讀(GS);
}
 (!digitalRead(GS)&&!digitalRead(octarriba)) {
音調(A2, gs*  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字閱讀(GS);
}

數字閱讀(一);
(!digitalRead(A)){
音調(A2, a+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數字閱讀(一);
}
 (!digitalRead(A)&&!digitalRead(octabajo)) {
音調(A2, a/  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字閱讀(一);
}
 (!digitalRead(A)&&!digitalRead(octarriba)) {
音調(A2, a*  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字閱讀(一);
}

數字閱讀(AS);
(!digitalRead(AS)){
音調(A2,  +(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數字閱讀(AS);
}
 (!digitalRead(AS)&&!digitalRead(octabajo)) {
音調(A2,  /  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字閱讀(AS);
}
 (!digitalRead(AS)&&!digitalRead(octarriba)) {
音調(A2,  *  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字閱讀(AS);
}

數字讀取(B);
(!digitalRead(B)){
音調(A2, b+(analogRead(A5)/  ));
延遲(模擬讀取(A4));
數字讀取(B);
}
 (!digitalRead(B)&&!digitalRead(octabajo)) {
音調(A2, b/  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字讀取(B);
}
 (!digitalRead(B)&&!digitalRead(octarriba)) {
音調(A2, b*  +((analogRead(A5)/  )));
延遲(模擬讀取(A4));
數字讀取(B);
}

無音(A2);


}

poYBAGL0WfqAEDQnAADbux5v0FY331.jpg

?

poYBAGL0WfyAPYIqAAC9S4PZPTw181.jpg

?

我們首先在其位置添加 Arduino Nano,然后使用代碼對其進行閃爍,結果將是一個正常工作的合成器播放隨機嗡嗡聲,我們可以通過按下按鈕或調制電位器或 ON/OFF 開關來改變聲音。

?

結果

?

這是總體結果,請觀看演示視頻

?

?

這就是今天的內容,請繼續關注,我很快就會帶著一個新項目回來。

特別感謝?PCBWAY?對這個項目的支持,看看他們以更低的成本獲得優質的 PCB 服務。

和平

?

?

?

代碼


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

評論

查看更多

下載排行

本周

  1. 1使用單片機實現七人表決器的程序和仿真資料免費下載
  2. 2.96 MB   |  44次下載  |  免費
  3. 2聯想E46L DAOLL6筆記本電腦圖紙
  4. 1.10 MB   |  2次下載  |  5 積分
  5. 3MATLAB繪圖合集
  6. 27.12 MB   |  2次下載  |  5 積分
  7. 4PR735,使用UCC28060的600W交錯式PFC轉換器
  8. 540.03KB   |  1次下載  |  免費
  9. 5UCC38C42 30W同步降壓轉換器參考設計
  10. 428.07KB   |  1次下載  |  免費
  11. 6DV2004S1/ES1/HS1快速充電開發系統
  12. 2.08MB   |  1次下載  |  免費
  13. 7模態分解合集matlab代碼
  14. 3.03 MB   |  1次下載  |  2 積分
  15. 8美的電磁爐維修手冊大全
  16. 1.56 MB   |  1次下載  |  5 積分

本月

  1. 1使用單片機實現七人表決器的程序和仿真資料免費下載
  2. 2.96 MB   |  44次下載  |  免費
  3. 2UC3842/3/4/5電源管理芯片中文手冊
  4. 1.75 MB   |  15次下載  |  免費
  5. 3DMT0660數字萬用表產品說明書
  6. 0.70 MB   |  13次下載  |  免費
  7. 4TPS54202H降壓轉換器評估模塊用戶指南
  8. 1.02MB   |  8次下載  |  免費
  9. 5STM32F101x8/STM32F101xB手冊
  10. 1.69 MB   |  8次下載  |  1 積分
  11. 6HY12P65/HY12P66數字萬用表芯片規格書
  12. 0.69 MB   |  6次下載  |  免費
  13. 7華瑞昇CR216芯片數字萬用表規格書附原理圖及校正流程方法
  14. 0.74 MB   |  6次下載  |  3 積分
  15. 8華瑞昇CR215芯片數字萬用表原理圖
  16. 0.21 MB   |  5次下載  |  3 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935119次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73807次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65987次下載  |  10 積分
主站蜘蛛池模板: 欧美瑟瑟| 黄色片网站日本| 国产一级aaa全黄毛片| 天天射日日操| xx日本69| 四虎在线观看一区二区| 九色综合九色综合色鬼| 天天干夜夜看| 亚洲欧美v视色一区二区| 四虎成人免费影院网址| 痴女在线播放免费视频| 狠狠操操| 一个色亚洲| 国产在线一区二区三区四区| 免费不卡毛片| 91久久麻豆| 久久99久久精品免费思思6| 可以免费看黄的网站| 调教双性学霸美人| 久久两性视频| 美女牲交毛片一级视频| 狠狠色 综合色区| 久久婷婷国产精品香蕉| 免费三级pq| 永久精品免费影院在线观看网站| 久久久国产精品网站| 久久久久女人精品毛片九一| 中文字幕一区二区三区乱码aⅴ| 久久夜色精品国产亚洲| 色视频色露露永久免费观看| 男女一区二区三区免费| 免费看的一级毛片| 久久国产乱子伦精品免费一| 亚洲最新在线| 91欧美精品激情在线观看| 中文字幕在线播放一区| 欧美成人性动漫在线观看| 亚洲特级毛片| 国产高清色播视频免费看| 午夜视频h| 青草视频网站在线观看|