資料介紹
![pYYBAGL0Wa6AIWinAACkBXbvqxE604.jpg](https://file.elecfans.com/web2/M00/5E/4D/pYYBAGL0Wa6AIWinAACkBXbvqxE604.jpg)
![pYYBAGL0WbGAdEXrAACiaOApkfE439.jpg](https://file.elecfans.com/web2/M00/5E/4D/pYYBAGL0WbGAdEXrAACiaOApkfE439.jpg)
![poYBAGL0WbOAcYYoAACcBiX6S14529.jpg](https://file.elecfans.com/web2/M00/5D/B2/poYBAGL0WbOAcYYoAACcBiX6S14529.jpg)
![pYYBAGL0WbaAbXSeAAB-i5dMM1w708.png](https://file.elecfans.com/web2/M00/5E/4D/pYYBAGL0WbaAbXSeAAB-i5dMM1w708.png)
描述
Arduino 合成器 V3
?
嘿伙計們怎么了!
所以這是我的 Arduino Synth V3,它是由 Arduino Nano 驅動(dòng)的 DIY 合成器。
?
?
?
它有 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 庫來(lái)運行,但這個(gè)使用簡(jiǎn)單的代碼,通過(guò)按鈕和開(kāi)關(guān)的狀態(tài)調制輸出。
?
這篇文章是關(guān)于這個(gè)合成器的整個(gè)構建過(guò)程,所以讓我們開(kāi)始吧。
?
所需材料
以下是我在此構建中使用的東西-
?
原理圖
?
?
該板的原理圖很簡(jiǎn)單,Arduino Nano 連接了 12 個(gè)按鈕。每個(gè) Push Button 都連接一個(gè) IO 端口,當我們按下任何按鈕時(shí),它會(huì )將 IO 端口拉低至 GND。
兩個(gè) ON-OFF 開(kāi)關(guān)也是如此,但是當我們按下它們時(shí),它們會(huì )使 IO 引腳拉下更長(cháng)的時(shí)間。然后兩個(gè) Pot 用 A4 和 A5 連接。
PAM8403 模塊與輸出引腳 A2 相連,它放大信號并使其響亮。
?
PCB設計
?
?
完成原理圖后,我導出了網(wǎng)表并開(kāi)始進(jìn)行 PCB 設計。
至于外形,我取材于通用鍵盤(pán)的美學(xué)和整體外觀(guān),Arduino Nano 放置在右上角,揚聲器放置在 TOP 左側。
我還在設計中添加了一些假鑰匙,我在這些假鑰匙上放置了按鈕。也許未來(lái)的版本會(huì )有真正的電容式觸摸鍵。
此外,我已經(jīng)從假鑰匙上移除了阻焊層,因此銅區域將未被填充,這將提供超酷的銀色外觀(guān),因為電路板將被 HASL 覆蓋。
?
從 PCBWAY 獲取 PCB
?
?
?
?
?
?
完成 PCB 后,我將 Gerber 數據發(fā)送到 PCBWAY 以獲取樣品。
我選擇帶有黑色絲印的白色阻焊層,因為如果我們添加黑色絲印圖案,白色 PCB 通??雌饋?lái)很酷。
我很快就收到了 PCB。至于PCB質(zhì)量,它是一流的。
使用他們的服務(wù)已經(jīng)有一段時(shí)間了,我不得不說(shuō),這對于入門(mén)來(lái)說(shuō)是相當不錯的。
?
看看我的復雜設計,我在 PCB 上放置了許多不尋常的圖案,例如不規則的輪廓和阻焊層形狀,這很難制作,但他們在制作 PCB 方面做得非常出色,沒(méi)有任何問(wèn)題。
?
電路板組裝
?
在開(kāi)始 PCB 組裝之前,我們需要收集我們將在這個(gè)項目中使用的所有組件。
?
添加接頭引腳、開(kāi)關(guān)和電位器
?
?
我們首先為 Arduino Nano、開(kāi)關(guān)和電位器添加 Header Pins。
?
添加按鈕
?
?
接下來(lái),我們將 12 個(gè) Push Buttons 一個(gè)一個(gè)地添加到它們的位置。
?
焊接組件
?
將所有開(kāi)關(guān)和插頭引腳放置到位后,我們使用普通烙鐵和焊錫線(xiàn)將它們的端子焊接到 PCB。
?
添加 PAM8403 模塊
?
?
?
?
?
接下來(lái),我們通過(guò)使用一些公頭引腳添加 PAM8403 模塊,我們在 PCB 上添加公頭引腳,然后在頭引腳上添加 PAM8403。
最后,我們焊接引腳并將模塊永久固定到位。
?
添加揚聲器
?
?
?
最后,我們在其位置添加一個(gè)揚聲器。
我在 PCB 上添加了一個(gè)孔,這里的目標是通過(guò)這個(gè)孔從背面添加一個(gè)揚聲器。揚聲器粘在 PCB 上,然后我們通過(guò)兩條跳線(xiàn)將揚聲器的端子與 PAM8403 CON2 端口連接。
完成后,PCB就完成了。
?
PCB組裝結果
?
?
這是到目前為止的結果,所有組件都焊接好了,電路板就完成了。它看起來(lái)很像 Arduino Nano Sheild 或插件板。
下一步是將 Arduino Nano 添加到此板上并將主草圖刷入 MCU。
?
主要代碼
?
這是我使用的主要草圖。
C = ;
CS = ;
D = ;
DS = ;
E = ;
F = ;
FS = ;
G = ;
GS = ;
A = ;
AS = ;
B = ;
八八度 = ;
八達利巴 = ;
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( );
數字讀?。ǎ?;
Serial.println(analogRead(A4));
(!digitalRead(C)){
音調(A2, c+(analogRead(A5)/ ));
延遲(模擬讀?。ˋ4));
數字讀?。–);
}
(!digitalRead(C)&&!digitalRead(octabajo)) {
音調(A2, c/ +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字讀?。–);
}
(!digitalRead(C)&&!digitalRead(octarriba)) {
音調(A2, c* +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字讀?。–);
}
數字閱讀(CS);
(!digitalRead(CS)){
音調(A2, cs+(analogRead(A5)/ ));
延遲(模擬讀?。ˋ4));
數字閱讀(CS);
}
(!digitalRead(CS)&&!digitalRead(octabajo)) {
音調(A2, cs/ +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字閱讀(CS);
}
(!digitalRead(CS)&&!digitalRead(octarriba)) {
音調(A2, cs* +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字閱讀(CS);
}
數字讀?。―);
(!digitalRead(D)){
音調(A2, d+(analogRead(A5)/ ));
延遲(模擬讀?。ˋ4));
數字讀?。―);
}
(!digitalRead(D)&&!digitalRead(octabajo)) {
音調(A2, d/ +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字讀?。―);
}
(!digitalRead(D)&&!digitalRead(octarriba)) {
音調(A2, d* +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字讀?。―);
}
數字讀?。―S);
(!digitalRead(DS)){
音調(A2, ds+(analogRead(A5)/ ));
延遲(模擬讀?。ˋ4));
數字讀?。―S);
}
(!digitalRead(DS)&&!digitalRead(octabajo)) {
音調(A2, ds/ +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字讀?。―S);
}
(!digitalRead(DS)&&!digitalRead(octarriba)) {
音調(A2, ds* +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字讀?。―S);
}
數字閱讀(E);
(!digitalRead(E)){
音調(A2, e+(analogRead(A5)/ ));
延遲(模擬讀?。ˋ4));
數字閱讀(E);
}
(!digitalRead(E)&&!digitalRead(octabajo)) {
音調(A2, e/ +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字閱讀(E);
}
(!digitalRead(E)&&!digitalRead(octarriba)) {
音調(A2, e* +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字閱讀(E);
}
數字讀?。‵);
(!digitalRead(F)){
音調(A2, f+(analogRead(A5)/ ));
延遲(模擬讀?。ˋ4));
數字讀?。‵);
} (!digitalRead(F)&&!digitalRead(octabajo)) {
音調(A2, f/ +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字讀?。‵);
}
(!digitalRead(F)&&!digitalRead(octarriba)) {
音調(A2, f* +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字讀?。‵);
}
數字讀?。‵S);
(!digitalRead(FS)){
音調(A2, fs+(analogRead(A5)/ ));
延遲(模擬讀?。ˋ4));
數字讀?。‵S);
}
(!digitalRead(FS)&&!digitalRead(octabajo)) {
音調(A2, fs/ +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字讀?。‵S);
}
(!digitalRead(FS)&&!digitalRead(octarriba)) {
音調(A2, fs* +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字讀?。‵S);
}
數字閱讀(G);
(!digitalRead(G)){
音調(A2, g+(analogRead(A5)/ ));
延遲(模擬讀?。ˋ4));
數字閱讀(G);
}
(!digitalRead(G)&&!digitalRead(octabajo)) {
音調(A2, g/ +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字閱讀(G);
}
(!digitalRead(G)&&!digitalRead(octarriba)) {
音調(A2, g* +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字閱讀(G);
}
數字閱讀(GS);
(!digitalRead(GS)){
音調(A2, gs+(analogRead(A5)/ ));
延遲(模擬讀?。ˋ4));
數字閱讀(GS);
}
(!digitalRead(GS)&&!digitalRead(octabajo)) {
音調(A2, gs/ +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字閱讀(GS);
}
(!digitalRead(GS)&&!digitalRead(octarriba)) {
音調(A2, gs* +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字閱讀(GS);
}
數字閱讀(一);
(!digitalRead(A)){
音調(A2, a+(analogRead(A5)/ ));
延遲(模擬讀?。ˋ4));
數字閱讀(一);
}
(!digitalRead(A)&&!digitalRead(octabajo)) {
音調(A2, a/ +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字閱讀(一);
}
(!digitalRead(A)&&!digitalRead(octarriba)) {
音調(A2, a* +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字閱讀(一);
}
數字閱讀(AS);
(!digitalRead(AS)){
音調(A2, +(analogRead(A5)/ ));
延遲(模擬讀?。ˋ4));
數字閱讀(AS);
}
(!digitalRead(AS)&&!digitalRead(octabajo)) {
音調(A2, / +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字閱讀(AS);
}
(!digitalRead(AS)&&!digitalRead(octarriba)) {
音調(A2, * +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字閱讀(AS);
}
數字讀?。˙);
(!digitalRead(B)){
音調(A2, b+(analogRead(A5)/ ));
延遲(模擬讀?。ˋ4));
數字讀?。˙);
}
(!digitalRead(B)&&!digitalRead(octabajo)) {
音調(A2, b/ +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字讀?。˙);
}
(!digitalRead(B)&&!digitalRead(octarriba)) {
音調(A2, b* +((analogRead(A5)/ )));
延遲(模擬讀?。ˋ4));
數字讀?。˙);
}
無(wú)音(A2);
}
?
?
我們首先在其位置添加 Arduino Nano,然后使用代碼對其進(jìn)行閃爍,結果將是一個(gè)正常工作的合成器播放隨機嗡嗡聲,我們可以通過(guò)按下按鈕或調制電位器或 ON/OFF 開(kāi)關(guān)來(lái)改變聲音。
?
結果
?
這是總體結果,請觀(guān)看演示視頻。
?
?
這就是今天的內容,請繼續關(guān)注,我很快就會(huì )帶著(zhù)一個(gè)新項目回來(lái)。
特別感謝?PCBWAY?對這個(gè)項目的支持,看看他們以更低的成本獲得優(yōu)質(zhì)的 PCB 服務(wù)。
和平
?
?
?
代碼
?
|
int C= 2; |
?
|
int CS = 3; |
?
|
int D= 4; |
?
|
int DS = 5; |
?
|
int E= 6; |
?
|
int F= 7; |
?
|
int FS = 8; |
?
|
int G= 9; |
?
|
int GS = 10; |
?
|
int A= 11; |
?
|
int AS = 12; |
?
|
int B= 13; |
?
|
int octabajo = 0; |
?
|
int octarriba = 1; |
?
|
int tiempo = analogRead(A4); |
?
|
int pitch_bend = analogRead(A5); |
?
|
?
|
?
|
?
|
?
|
int c= 262; |
?
|
int cs = 277; |
?
|
int d= 294; |
?
|
int ds = 311; |
?
|
int e= 330; |
?
|
int f= 349; |
?
|
int fs = 370; |
?
|
int g= 392; |
?
|
int gs = 415; |
?
|
int a= 440; |
?
|
int as = 466; |
?
|
int b= 494; |
?
|
?
|
?
|
void setup() { |
?
|
// INPUT CONFIG |
?
|
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); |
?
|
// OUTPUT CONFIG |
?
|
pinMode(A2, OUTPUT); |
?
|
// start serial port |
?
|
Serial.begin(9600); |
?
|
} |
?
|
?
|
?
|
?
|
?
|
?
|
?
|
void loop() { |
?
|
?
|
?
|
// put your main code here, to run repeatedly: |
?
|
digitalRead(0); |
?
|
digitalRead(1); |
?
|
?
|
?
|
Serial.println(analogRead(A4)); |
?
|
?
|
?
|
if (!digitalRead(C)) { |
?
|
tone(A2, c+(analogRead(A5)/5)); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(C); |
?
|
} |
?
|
if (!digitalRead(C)&&!digitalRead(octabajo)) { |
?
|
tone(A2, c/2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(C); |
?
|
} |
?
|
if (!digitalRead(C)&&!digitalRead(octarriba)) { |
?
|
tone(A2, c*2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(C); |
?
|
} |
?
|
?
|
?
|
?
|
?
|
digitalRead(CS); |
?
|
if (!digitalRead(CS)) { |
?
|
tone(A2, cs+(analogRead(A5)/5)); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(CS); |
?
|
} |
?
|
if (!digitalRead(CS)&&!digitalRead(octabajo)) { |
?
|
tone(A2, cs/2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(CS); |
?
|
} |
?
|
if (!digitalRead(CS)&&!digitalRead(octarriba)) { |
?
|
tone(A2, cs*2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(CS); |
?
|
} |
?
|
?
|
?
|
digitalRead(D); |
?
|
if (!digitalRead(D)) { |
?
|
tone(A2, d+(analogRead(A5)/5)); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(D); |
?
|
} |
?
|
if (!digitalRead(D)&&!digitalRead(octabajo)) { |
?
|
tone(A2, d/2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(D); |
?
|
} |
?
|
if (!digitalRead(D)&&!digitalRead(octarriba)) { |
?
|
tone(A2, d*2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(D); |
?
|
} |
?
|
?
|
?
|
digitalRead(DS); |
?
|
if (!digitalRead(DS)) { |
?
|
tone(A2, ds+(analogRead(A5)/5)); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(DS); |
?
|
} |
?
|
if (!digitalRead(DS)&&!digitalRead(octabajo)) { |
?
|
tone(A2, ds/2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(DS); |
?
|
} |
?
|
if (!digitalRead(DS)&&!digitalRead(octarriba)) { |
?
|
tone(A2, ds*2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(DS); |
?
|
} |
?
|
?
|
?
|
digitalRead(E); |
?
|
if (!digitalRead(E)) { |
?
|
tone(A2, e+(analogRead(A5)/5)); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(E); |
?
|
} |
?
|
if (!digitalRead(E)&&!digitalRead(octabajo)) { |
?
|
tone(A2, e/2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(E); |
?
|
} |
?
|
if (!digitalRead(E)&&!digitalRead(octarriba)) { |
?
|
tone(A2, e*2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(E); |
?
|
} |
?
|
?
|
?
|
digitalRead(F); |
?
|
if (!digitalRead(F)) { |
?
|
tone(A2, f+(analogRead(A5)/5)); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(F); |
?
|
}if (!digitalRead(F)&&!digitalRead(octabajo)) { |
?
|
tone(A2, f/2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(F); |
?
|
} |
?
|
if (!digitalRead(F)&&!digitalRead(octarriba)) { |
?
|
tone(A2, f*2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(F); |
?
|
} |
?
|
?
|
?
|
digitalRead(FS); |
?
|
if (!digitalRead(FS)) { |
?
|
tone(A2, fs+(analogRead(A5)/5)); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(FS); |
?
|
} |
?
|
if (!digitalRead(FS)&&!digitalRead(octabajo)) { |
?
|
tone(A2, fs/2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(FS); |
?
|
} |
?
|
if (!digitalRead(FS)&&!digitalRead(octarriba)) { |
?
|
tone(A2, fs*2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(FS); |
?
|
} |
?
|
?
|
?
|
digitalRead(G); |
?
|
if (!digitalRead(G)) { |
?
|
tone(A2, g+(analogRead(A5)/5)); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(G); |
?
|
} |
?
|
if (!digitalRead(G)&&!digitalRead(octabajo)) { |
?
|
tone(A2, g/2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(G); |
?
|
} |
?
|
if (!digitalRead(G)&&!digitalRead(octarriba)) { |
?
|
tone(A2, g*2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(G); |
?
|
} |
?
|
?
|
?
|
digitalRead(GS); |
?
|
if (!digitalRead(GS)) { |
?
|
tone(A2, gs+(analogRead(A5)/5)); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(GS); |
?
|
} |
?
|
if (!digitalRead(GS)&&!digitalRead(octabajo)) { |
?
|
tone(A2, gs/2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(GS); |
?
|
} |
?
|
if (!digitalRead(GS)&&!digitalRead(octarriba)) { |
?
|
tone(A2, gs*2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(GS); |
?
|
} |
?
|
?
|
?
|
digitalRead(A); |
?
|
if (!digitalRead(A)) { |
?
|
tone(A2, a+(analogRead(A5)/5)); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(A); |
?
|
} |
?
|
if (!digitalRead(A)&&!digitalRead(octabajo)) { |
?
|
tone(A2, a/2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(A); |
?
|
} |
?
|
if (!digitalRead(A)&&!digitalRead(octarriba)) { |
?
|
tone(A2, a*2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(A); |
?
|
} |
?
|
?
|
?
|
digitalRead(AS); |
?
|
if (!digitalRead(AS)) { |
?
|
tone(A2, as+(analogRead(A5)/5)); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(AS); |
?
|
} |
?
|
if (!digitalRead(AS)&&!digitalRead(octabajo)) { |
?
|
tone(A2, as/2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(AS); |
?
|
} |
?
|
if (!digitalRead(AS)&&!digitalRead(octarriba)) { |
?
|
tone(A2, as*2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(AS); |
?
|
} |
?
|
?
|
?
|
digitalRead(B); |
?
|
if (!digitalRead(B)) { |
?
|
tone(A2, b+(analogRead(A5)/5)); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(B); |
?
|
} |
?
|
if (!digitalRead(B)&&!digitalRead(octabajo)) { |
?
|
tone(A2, b/2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(B); |
?
|
} |
?
|
if (!digitalRead(B)&&!digitalRead(octarriba)) { |
?
|
tone(A2, b*2+((analogRead(A5)/5))); |
?
|
delay(analogRead(A4)); |
?
|
digitalRead(B); |
?
|
} |
?
|
?
|
?
|
noTone(A2); |
?
|
?
|
?
|
?
|
?
|
} |
- Arduino Atari朋克合成器 0次下載
- Arduino合成器 0次下載
- 基于Arduino的頻率合成器 2次下載
- Lo Fi Arduino Nano合成器模塊 0次下載
- 鎖相環(huán)合成器 11次下載
- 不折不扣的分數-N合成器 2次下載
- 超低噪聲合成器 3次下載
- 超低噪聲分數-N合成器 4次下載
- 新型微合成?集成密閉合成器模塊 8次下載
- 鎖相環(huán)合成器 9次下載
- RFDM的PNP-1050-L22-G插入式窄帶合成器詳細資料免費下載 0次下載
- 徑向功率分配合成器的設計 53次下載
- 射頻鎖相頻率合成器的設計與仿真 101次下載
- DDS PLL短波頻率合成器設計 34次下載
- ΣΔ技術(shù)在鎖相環(huán)頻率合成器中的應用 12次下載
- 射頻合成器的主要作用 396次閱讀
- 功分器和合成器的主要區別 494次閱讀
- 數字頻率合成器的作用 535次閱讀
- 如何制作一個(gè)音頻合成器? 1261次閱讀
- 如何創(chuàng )建基于DCO的音頻合成器 588次閱讀
- 將MAX2902與外部頻率合成器組合 431次閱讀
- PicScope高級函數功能應用——驗證射頻信號合成器的停延時(shí)間(Dwell time) 912次閱讀
- 10KW合成器拆卸的技巧有哪些 1343次閱讀
- 基于A(yíng)D9954和ADF4113芯片實(shí)現頻率合成器的設計 3051次閱讀
- 基于集成鎖相環(huán)頻率合成芯片PE3236實(shí)現鎖相式頻率合成器的設計 4155次閱讀
- 新唐科技N567L120合成器介紹 1552次閱讀
- 新唐科技N567L160合成器簡(jiǎn)介 1516次閱讀
- Mitch Altman是如何創(chuàng )建ArduTouch音樂(lè )合成器的? 3541次閱讀
- 基于FPGA的數字示波器波形合成器研究 2419次閱讀
- 基于DDS芯片和集成鎖相芯片構成的寬頻合成器設計 2541次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開(kāi)關(guān)電源設計實(shí)例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動(dòng)電路設計》 溫德?tīng)栔?zhù)
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學(xué)會(huì )AVR單片機與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論