資料介紹
PCB圖如下:
?
描述
貓朋克合成器 V2
大家好,歡迎回來,這是我的 Neko Punk 合成器第 2 版,它是一個(gè)由 Arduino Nano 和 Mozzi 庫驅(qū)動(dòng)的貓主題合成器。
通過改變 5 個(gè)滑槽的位置,Mozzi 可以產(chǎn)生更復(fù)雜和有趣的咆哮聲、掃頻聲和合唱聲。這些聲音可以通過振蕩器、延遲和濾波器等熟悉的合成單元快速輕松地構(gòu)建。
您可以從這里查看 Mozzi 庫 -? https://sensorium.github.io/Mozzi/
我?guī)字芮爸谱鞯纳弦话婊谧畛醯?Atari Punk 控制臺(tái),最初由 Forrest Mims 于 1980 年制作。它采用了觸發(fā)單穩(wěn)態(tài)設(shè)置的非穩(wěn)態(tài)多諧振蕩器設(shè)置。通過結(jié)合這兩種設(shè)置,我們得到了 Stepped Tone Generator 或 atari punk 合成器。
這很容易制作,但我對它的結(jié)果并不滿意。
https://www.hackster.io/Arnov_Sharma_makes/atari-punk-synth-v2-8b9dd3
一年前,我用 Mozzi Library 制作了一個(gè)類似的合成器,效果很好,所以我想為什么不在 Neko Punk Synth 的 V2 中使用 Mozzi,為了讓事情變得超級(jí)酷,我使用了滑動(dòng)罐,讓這個(gè)合成器具有賽博朋克 -看起來不錯(cuò)。
所需材料
這些是這個(gè)內(nèi)置的東西 -
Arduino納米
PCBWAY提供的定制PCB
鋰離子 5V 升壓模塊
3.7V 鋰離子電池
3D打印外殼
4歐姆揚(yáng)聲器
滑塊鍋
V2 PCB 可能是我做過的最簡單的電路板。
它使用一個(gè) Arduino Nano 作為基礎(chǔ)微控制器,五個(gè)滑塊電位器與 Arduino nano 連接。
D9 進(jìn)入 PAM8403 音頻放大器模塊的輸入,PAM8403 的輸出與兩個(gè) CON2 引腳連接,因此我們可以用它添加揚(yáng)聲器。
整個(gè)設(shè)置需要 5V 才能工作。
為了給這個(gè)設(shè)置供電,我必須使用這個(gè)你可以在網(wǎng)上找到的鋰離子電池升壓模塊,這些模塊非常便宜并且工作得很好。
它將 3.7V 的鋰離子電池提升至恒定的 5V 1A 或 2A,以使我們的 MCU 設(shè)置正常工作。
我在我的 OrCad PCB 套件中準(zhǔn)備了 PCB,并添加了一些圖形來增加電路板的美感。
從 PCBWAY 獲取電路板
我為這個(gè)項(xiàng)目使用了 PCBWAY PCB 服務(wù)。我在PCBWAY的報(bào)價(jià)頁面上傳了這個(gè)項(xiàng)目的Gerber文件。
對于這個(gè)合成板,我選擇白色阻焊層顏色,因?yàn)槲以诎宓捻敳刻砑恿讼喈?dāng)多的圓形圖形和自定義藝術(shù)。
黑色絲印與白色阻焊層顏色相得益彰。
我在一周內(nèi)收到了 PCB,PCB 質(zhì)量非常好,這塊 PCB 很大,我喜歡這些 PCB 的質(zhì)量沒有因?yàn)槌叽缍艿接绊憽?/p>
從這里檢查 PCBWAY -? https://www.pcbway.com/
電路板組裝
現(xiàn)在這塊板沒有任何 SMD 組件,所以我們只需要手動(dòng)將所有東西放在這塊板上并用烙鐵焊接它們。
我首先收集所有材料并使用滑動(dòng)電位器開始組裝過程。
然后我從頂部將所有的 Pot 放在它們的位置,并從 PCB 的底部焊接它們的焊盤。
在此之后,我在它們的位置添加了 Arduino Nano 和 PAM8403 模塊,并且組裝幾乎完成了。
上傳代碼
這是這個(gè)基于 Mozzi 庫的項(xiàng)目的主要草圖。
?
/* 使用 2 個(gè)光敏電阻 (LDR) 更改的示例 FM 合成參數(shù)和基頻旋鈕, 使用 Mozzi 聲化庫。 演示模擬輸入、音頻和控制振蕩器、相位調(diào)制 并以音頻速率平滑控制信號(hào)以避免咔嗒聲。 還演示了 AutoMap,它將不可預(yù)測的輸入映射到設(shè)定的范圍。 電路: 數(shù)字引腳 9 上的音頻輸出(在 Uno 或類似設(shè)備上),或 電位器連接到模擬引腳 0。 電位器的中心引腳連接到模擬引腳。 電位器的側(cè)引腳連接到 +5V 并接地 模擬引腳 1 上的光敏電阻 (LDR) 和 5.1k 電阻: 從模擬引腳到 +5V 的 LDR 5.1k 電阻從模擬引腳到地 模擬引腳 2 上的光敏電阻 (LDR) 和 5.1k 電阻: 從模擬引腳到 +5V 的 LDR 5.1k 電阻從模擬引腳到地 Mozzi 幫助/討論/公告: https://groups.google.com/forum/#!forum/mozzi-users 蒂姆·巴拉斯 2013。 此示例代碼位于公共領(lǐng)域。 */ #include#include // 振蕩器 #include // 用于播放 Oscils 的表格 #include #include // 地圖不可預(yù)知的輸入范圍 // int freqVal; // 所需的載波頻率最大值和最小值,用于 AutoMap const int MIN_CARRIER_FREQ = 22 ; 常量 int MAX_CARRIER_FREQ = 440 ; 常量 int MIN = 1 ; 常量 int MAX = 10 ; 常量 int MIN_2 = 1 ; 常量 int MAX_2 = 15 ; // 所需的強(qiáng)度最大值和最小值,對于 AutoMap,注意它們是反向動(dòng)態(tài)的反轉(zhuǎn) const int MIN_INTENSITY = 700 ; 常量 int MAX_INTENSITY = 10 ; // 所需的 mod 速度最大值和最小值,對于 AutoMap,注意它們是反向動(dòng)態(tài)的反轉(zhuǎn) const int MIN_MOD_SPEED = 10000 ; 常量 int MAX_MOD_SPEED = 1 ; AutoMap kMapCarrierFreq ( 0 , 1023 ,MIN_CARRIER_FREQ,MAX_CARRIER_FREQ) ; AutoMap kMapIntensity ( 0 , 1023 ,MIN_INTENSITY,MAX_INTENSITY) ; AutoMap kMapModSpeed ( 0 , 1023 ,MIN_MOD_SPEED,MAX_MOD_SPEED) ; AutoMap mapThis ( 0 , 1023 ,MIN,MAX) ; AutoMap mapThisToo ( 0 , 1023 ,MIN_2,MAX_2) ; const int KNOB_PIN = 0 ; // 將旋鈕的輸入設(shè)置為模擬引腳 0 const int LDR1_PIN= 1 ; // 將 fm_intensity 的模擬輸入設(shè)置為 pin 1 const int LDR2_PIN= 2 ; // 將調(diào)制速率的模擬輸入設(shè)置為引腳 2 const int LDR3_PIN= 4 ; 常量 int LDR4_PIN= 3 ; Oscil aCarrier(COS2048_DATA); Oscil aModulator(COS2048_DATA); Oscil kIntensityMod(COS2048_DATA); int mod_ratio = 5 ; // 亮度(諧波) long fm_intensity; // 攜帶來自 updateControl 的控制信息到 updateAudio // 平滑強(qiáng)度以消除過渡點(diǎn)擊 float smoothness = 0.95f ; Smooth < long > aSmoothIntensity(平滑度); void setup () { // Serial.begin(115200); // 設(shè)置串行輸出,以便我們可以查看光照級(jí)別 startMozzi(); // :)) } 無效 更新控制() { // freqVal = map(LDR3_PIN, 0, 1023, 1, 100); int freqVal = mozziAnalogRead(LDR3_PIN); // 值為 0-1023 int FRQ = mapThis(freqVal); int旋鈕2 = mozziAnalogRead(LDR4_PIN); // 值為 0-1023 int knob2Val = mapThis(knob2); // 讀取旋鈕 int knob_value = mozziAnalogRead(KNOB_PIN); // 值為 0-1023 // 將旋鈕映射到載波頻率 int carrier_freq = kMapCarrierFreq(knob_value); //計(jì)算調(diào)制頻率以保持比率 int mod_freq = carrier_freq * mod_ratio * FRQ; // 設(shè)置 FM 振蕩器頻率 aCarrier.setFreq(carrier_freq); aModulator.setFreq(mod_freq); // 讀取寬度模擬輸入引腳上的光敏電阻 int LDR1_value= mozziAnalogRead(LDR1_PIN); // value is 0-1023 // print the value to the Serial monitor for debug //Serial.print("LDR1 = "); // Serial.print(LDR1_value); // Serial.print("\t"); //打印一個(gè)標(biāo)簽 int LDR1_calibrated = kMapIntensity(LDR1_value); // Serial.print("LDR1_calibrated = "); // Serial.print(LDR1_calibrated); // Serial.print("\t"); //打印一個(gè)標(biāo)簽 // 計(jì)算 fm_intensity fm_intensity = (( long )LDR1_calibrated * knob2Val * (kIntensityMod.next()+ 128 ))>> 8 ; // 8 位乘法后移回范圍 // Serial.print("fm_intensity = "); // Serial.print(fm_intensity); // Serial.print("\t"); //打印一個(gè)標(biāo)簽 // 讀取速度模擬輸入引腳上的光敏電阻 int LDR2_value= mozziAnalogRead(LDR2_PIN); // 值為 0-1023 // Serial.print("LDR2 = "); // Serial.print(LDR2_value); // Serial.print("\t"); //打印一個(gè)標(biāo)簽 // 這里使用浮點(diǎn)數(shù)表示低頻 float mod_speed = ( float )kMapModSpeed(LDR2_value)/ 1000 ; //Serial.print(" mod_speed = "); // Serial.print(mod_speed); kIntensityMod.setFreq(mod_speed); // Serial.println(); // 最后,打印下一行調(diào)試信息的回車 } int updateAudio () { 長調(diào)制 = aSmoothIntensity.next(fm_intensity) * aModulator.next(); 返回aCarrier.phMod(調(diào)制); } 無效 循環(huán)() { 音頻掛鉤(); }
?
代碼很長,但基本上,它運(yùn)行在 Mozzi 庫上,無需額外的屏蔽、消息傳遞或外部合成器即可生成算法音樂。這個(gè)庫有很好的文檔記錄,所以你可以從這里查看并下載它。在上傳這個(gè)草圖之前安裝這個(gè)庫。
https://sensorium.github.io/Mozzi/
?
常量 int KNOB_PIN = 0; //將旋鈕的輸入 設(shè)置為模擬引腳0 const int LDR1_PIN= 1 ; //將fm_intensity的模擬輸入設(shè)置為pin 1 const int LDR2_PIN= 2 ; //將調(diào)制速率的模擬輸入設(shè)置為引腳2 const int LDR3_PIN = 4 ; 常量 int LDR4_PIN=3;
?
POT 連接在 A0、A1、A2、A3、A4 上,音頻輸出為 D9。
測試
現(xiàn)在上傳草圖后,我添加了一個(gè)帶有 PAM8403 模塊的 CON2 的 4ohm 揚(yáng)聲器。
為了暫時(shí)為這個(gè)設(shè)置供電,我使用移動(dòng)電源為 Arduino Nano 提供 5V 2A。
要調(diào)制聲音,我們只需更改所有 5 個(gè)滑動(dòng)電位器的位置,這幾乎就是整個(gè)測試過程。
接下來,我們繼續(xù)進(jìn)行最后的組裝過程。
3D打印外殼
至于合成器的主體,我們通常使用一個(gè)盒子狀的外殼來容納揚(yáng)聲器和電子設(shè)備。
我的想法是在正面制作一張貓臉,讓它看起來像一只 BOX CAT,我在正面添加了貓的面部信息,例如胡須、鼻子、眼睛。
我在 fusion360 中對身體進(jìn)行建模,然后在我的 ender 3 上對每個(gè)部分進(jìn)行 3D 打印。
我用橙色 PLA 準(zhǔn)備了主體,用黑色 PLA 準(zhǔn)備了瞳孔、眉毛、胡須和鼻子,用白色 PLA 準(zhǔn)備了眼睛。
打印設(shè)置也很正常,我使用了一個(gè) 0.8mm 的噴嘴,層高為 0.32mm,填充量為 20%,并支持基體。
打印完所有部件后,我使用強(qiáng)力膠將所有面部部件連接到基體上。
總裝
現(xiàn)在我們開始主要組裝,首先添加一個(gè)揚(yáng)聲器到帶有螺母和螺栓的底座上。
接下來,我將 DC Jack 和搖臂開關(guān)添加到基體中。
然后我們將 Lithium Boost 模塊與 DC 插孔和開關(guān)連接起來。
然后,我將所有東西放在機(jī)身內(nèi),并用一些 M2 螺絲從底部添加主 PCB,組裝完成。
結(jié)果
要打開此設(shè)置,我們只需按下?lián)u桿開關(guān)并更改滑動(dòng)電位器位置即可調(diào)制聲音。
?
?
- 加法合成器開源分享
- Arduino Atari朋克合成器
- Arduino合成器
- Neko Punk合成器V2開源分享
- OscPocketO袖珍合成器和鼓機(jī)開源
- Arduino合成器V3設(shè)計(jì)案例
- 鎖相環(huán)合成器
- 超低噪聲合成器
- 新型微合成?集成密閉合成器模塊
- 鎖相環(huán)合成器
- 基于MC145152-2芯片的頻率合成器的設(shè)計(jì) 48次下載
- 徑向功率分配合成器的設(shè)計(jì) 53次下載
- 射頻鎖相頻率合成器的設(shè)計(jì)與仿真 101次下載
- 1.3GHz雙通道頻率合成器
- ΣΔ技術(shù)在鎖相環(huán)頻率合成器中的應(yīng)用
- 時(shí)鐘合成器和時(shí)鐘發(fā)生器的區(qū)別 844次閱讀
- 射頻合成器的主要作用 798次閱讀
- 數(shù)字頻率合成器的作用 1019次閱讀
- 高性能寬帶射頻合成器8V97051ANLGI8概述 764次閱讀
- 如何制作一個(gè)音頻合成器? 2154次閱讀
- 如何創(chuàng)建基于DCO的音頻合成器 1002次閱讀
- 將MAX2902與外部頻率合成器組合 777次閱讀
- PicScope高級(jí)函數(shù)功能應(yīng)用——驗(yàn)證射頻信號(hào)合成器的停延時(shí)間(Dwell time) 1618次閱讀
- 10KW合成器拆卸的技巧有哪些 1682次閱讀
- 基于AD9954和ADF4113芯片實(shí)現(xiàn)頻率合成器的設(shè)計(jì) 4092次閱讀
- Mitch Altman是如何創(chuàng)建ArduTouch音樂合成器的? 3768次閱讀
- 基于鎖相環(huán)頻率合成器的關(guān)于合成器的簡要概述 4813次閱讀
- 基于FPGA的數(shù)字示波器波形合成器研究 2956次閱讀
- 功率分配器或合成器選擇的關(guān)鍵性能參數(shù)研究 2422次閱讀
- 基于DDS芯片和集成鎖相芯片構(gòu)成的寬頻合成器設(shè)計(jì) 2865次閱讀
下載排行
本周
- 1人形機(jī)器人電機(jī)驅(qū)動(dòng)和傳感報(bào)告
- 4.27 MB | 9次下載 | 免費(fèi)
- 2Altium Designer元件庫
- 17.11 MB | 6次下載 | 免費(fèi)
- 324V2A開關(guān)電源PCB資料分享
- 0.23 MB | 4次下載 | 1 積分
- 4GD100PIX120C6SNA規(guī)格書
- 0.98 MB | 3次下載 | 免費(fèi)
- 5Multisim模擬電路仿真教程
- 1.93 MB | 1次下載 | 3 積分
- 6BK7258英文規(guī)格書
- 1.67 MB | 1次下載 | 免費(fèi)
- 7RA4L1硬件手冊
- 21.89 MB | 1次下載 | 免費(fèi)
- 8RA4L1_SENSOR-V1原理圖
- 754.36 KB | 1次下載 | 免費(fèi)
本月
- 1晶體三極管的電流放大作用詳細(xì)說明
- 0.77 MB | 32次下載 | 2 積分
- 2雙極型三極管放大電路的三種基本組態(tài)的學(xué)習(xí)課件免費(fèi)下載
- 4.03 MB | 25次下載 | 1 積分
- 3AIWA HS-J303 MKⅡ維修手冊
- 22.47 MB | 24次下載 | 10 積分
- 4九陽豆?jié){機(jī)高清原理圖
- 2.47 MB | 23次下載 | 1 積分
- 5多級(jí)放大電路的學(xué)習(xí)課件免費(fèi)下載
- 1.81 MB | 21次下載 | 2 積分
- 6AIWA HS-J202/HS-J202M/HS-J800維修手冊
- 13.60 MB | 16次下載 | 10 積分
- 7東芝彩色電視機(jī)29SF6C維修說明書
- 4.86 MB | 9次下載 | 1 積分
- 8人形機(jī)器人電機(jī)驅(qū)動(dòng)和傳感報(bào)告
- 4.27 MB | 9次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191382次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183338次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81586次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論