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

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

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

3天內(nèi)不再提示

構(gòu)建一個基于Arduino的吉他調(diào)音器

科技觀察員 ? 來源:circuitdigest ? 作者:伊曼紐爾·奧敦拉 ? 2022-11-07 15:45 ? 次閱讀

在過去的幾周里,我一直在努力重新與我對吉他的熱愛聯(lián)系起來。彈奏箱式吉他是我在薩克斯管接管之前的幾年前放松的方式。回到吉他,在3年很少彈奏和弦之后,我發(fā)現(xiàn)我不再知道每根弦應(yīng)該如何發(fā)聲,用我朋友的話來說,“我的聽力不再調(diào)諧”,因此,如果沒有鍵盤或移動應(yīng)用程序的幫助,我無法調(diào)吉他后來下載。幾周過去了,直到幾天前,我的制造商變得有動力,我決定建立一個基于Arduino的吉他調(diào)音器。在今天的教程中,我將分享如何構(gòu)建自己的DIY Arduino吉他調(diào)音器。

吉他調(diào)諧器的工作原理

在我們轉(zhuǎn)向電子產(chǎn)品之前,了解構(gòu)建背后的原理很重要。有 7 個主要音符由字母表示;A,B,C,D,E,F(xiàn),G,通常以另一個A結(jié)尾,該A始終比第一個A高一個八度。在音樂中,這些音符存在幾個版本,如第一個A和最后一個A。這些音符分別與它們的變化區(qū)分開來,并通過稱為音高的聲音特征之一來區(qū)分彼此。音高被定義為聲音的響度或低度,并由該聲音的頻率表示。由于這些音符的頻率是已知的,因此要確定吉他是否調(diào)音,我們只需要將特定弦的音符頻率與弦所代表的音符的實際頻率進行比較即可。

7個音符的頻率是:

A = 27.50Hz

B = 30.87Hz

C = 16.35Hz

D = 18.35Hz

E = 20.60Hz

F = 21.83Hz

G = 24.50Hz

這些音符的每個變化總是在等于 FxM 的音高,其中 F 是頻率,M 是非零整數(shù)。因此,對于如前所述比第一個 A 高一個八度的最后一個 A,頻率是;

27.50 x 2 = 55Hz。

吉他(主音/盒式吉他)通常有 6 根弦,由開弦上的音符 E、A、D、G、B、E 表示。像往常一樣,最后一個 E 將比第一個 E 高一個八度。我們將設(shè)計我們的吉他調(diào)音器,以幫助使用這些音符的頻率調(diào)整吉他。

根據(jù)標準的吉他調(diào)音,每根弦的音符和相應(yīng)的頻率如下表所示。

字符串 頻率 表示法
1 (E) 329.63赫茲 E4
2 (B) 246.94赫茲 B3
3 (G) 196.00赫茲 G3
4 (D) 146.83赫茲 D3
5 (一) 110.00赫茲 答2
6 (E) 82.41赫茲 E2

poYBAGNot5KAO22BAAB7oYqcD70245.jpg

項目流程非常簡單;我們將吉他產(chǎn)生的聲音信號轉(zhuǎn)換為頻率,然后與被調(diào)諧琴弦的確切頻率值進行比較。當值相關(guān)時,使用 LED 通知吉他手。

頻率檢測/轉(zhuǎn)換涉及 3 個主要階段;

放大

抵消

模數(shù)轉(zhuǎn)換(采樣)

產(chǎn)生的聲音信號太弱,Arduino的ADC無法識別,因此我們需要放大信號。放大后,為了將信號保持在Arduino的ADC可識別的范圍內(nèi)以防止信號削波,我們偏移了信號的電壓。偏移后,信號被傳遞到Arduino ADC,在那里對其進行采樣并獲得該聲音的頻率。

必需組件

生成此項目需要以下組件;

阿杜伊諾烏諾 x1

LM386 x1

電容麥克風(fēng) x1

麥克風(fēng)/音頻插孔 x1

10k 電位器 x1

O.1uf 電容器 x2

100歐姆電阻 x4

10歐姆電阻 x1

10uF 電容器 x3

5毫米黃色發(fā)光二極管 x2

5毫米綠色發(fā)光二極管 x1

常開按鈕 x6

跳線

面包板

圖表

連接組件,如下面的吉他調(diào)諧器電路圖所示。

Arduino-Guitar-Tuner-Circuit-Diagram.png

按鈕連接時沒有上拉/下拉電阻,因為將使用Arduino內(nèi)置的上拉電阻。這是為了確保電路盡可能簡單。

poYBAGNot6KAQ4NJAAGVCn-OUDo284.jpg

吉他調(diào)諧器的Arduino代碼

這個吉他調(diào)音器項目代碼背后的算法很簡單。為了調(diào)音特定的琴弦,吉他手通過按下相應(yīng)的按鈕來選擇琴弦,然后彈奏一根開放的琴弦。聲音由放大級收集并傳遞到Arduino ADC。對頻率進行解碼和比較。當串的輸入頻率小于指定頻率時,對于該串,其中一個黃色 LED 亮起,指示應(yīng)擰緊串。當測量的頻率大于該串的規(guī)定頻率時,另一個 LED 亮起。當頻率在該弦的規(guī)定范圍內(nèi)時,綠色 LED 亮起以引導(dǎo)吉他手。

最后給出了完整的Arduino代碼,這里我們簡要解釋了代碼的重要部分。

我們首先創(chuàng)建一個數(shù)組來容納開關(guān)。

int buttonarray[] = {13, 12, 11, 10, 9, 8}; // [E2, A2, D3, G3, B3, E4]

接下來,我們創(chuàng)建一個數(shù)組來保存每個字符串的相應(yīng)頻率。

float freqarray[] = {82.41, 110.00, 146.83, 196.00, 246.94, 329.63};//all in Hz

完成此操作后,我們聲明LED連接的引腳以及將用于從ADC獲取頻率的其他變量。

int lowerLed = 7;

int higherLed = 6;

int justRight = 5;

#define LENGTH 512

byte rawData[LENGTH];

int count;

接下來是 void setup() 函數(shù)。

在這里,我們首先為開關(guān)連接到的每個引腳啟用Arduino上的內(nèi)部上拉。之后,我們將LED連接的引腳設(shè)置為輸出,并啟動串行監(jiān)視器以顯示數(shù)據(jù)。

void setup()

{

for (int i=0; i<=5; i++)

{

pinMode(buttonarray[i], INPUT_PULLUP);

}

pinMode(lowerLed, OUTPUT);

pinMode(higherLed, OUTPUT);

pinMode(justRight, OUTPUT);

Serial.begin(115200);

}

接下來,就是空隙環(huán)路功能,我們實現(xiàn)頻率檢測和比較。

void loop(){

if (count < LENGTH)?

{

count++;

rawData[count] = analogRead(A0)>>2;

}

else {

sum = 0;

pd_state = 0;

int period = 0;

for(i=0; i < len; i++)

{

// Autocorrelation

sum_old = sum;

sum = 0;

for(k=0; k < len-i; k++) sum += (rawData[k]-128)*(rawData[k+i]-128)/256;

// Serial.println(sum);

// Peak Detect State Machine

if (pd_state == 2 && (sum-sum_old) <=0)?

{

period = i;

pd_state = 3;

}

if (pd_state == 1 && (sum > thresh) && (sum-sum_old) > 0) pd_state = 2;

if (!i) {

thresh = sum * 0.5;

pd_state = 1;

}

}

// Frequency identified in Hz

if (thresh >100) {

freq_per = sample_freq/period;

Serial.println(freq_per);

for (int s=0; s<=5; s++)

{

if (digitalRead(buttonarray[i])== HIGH)

{

if (freq_per - freqarray[i] < 0)

{

digitalWrite(lowerLed, HIGH);

}

else if(freq_per - freqarray[i] > 10)

{

digitalWrite(higherLed, HIGH);

}

else

{

digitalWrite(justRight, HIGH);

}

}

}

}

count = 0;

}

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6469

    瀏覽量

    187093
收藏 人收藏

    評論

    相關(guān)推薦

    如何使用Arduino構(gòu)建計算

    在本教程中,我們將使用 Arduino 構(gòu)建自己的計算。這些值可以通過鍵盤(4×4 鍵盤)發(fā)送,結(jié)果可以在 LCD 屏幕上查看(16×2 點陣)。該計算可以執(zhí)行簡單的運算,例如整數(shù)
    的頭像 發(fā)表于 11-21 17:43 ?6112次閱讀
    如何使用<b class='flag-5'>Arduino</b><b class='flag-5'>構(gòu)建</b><b class='flag-5'>一</b><b class='flag-5'>個</b>計算<b class='flag-5'>器</b>

    如何使用Arduino Nano構(gòu)建金屬探測

    在這個項目中,我們將使用線圈和電容器來檢測金屬。在這里,我們使用Arduino Nano來構(gòu)建這個金屬探測項目。對于所有電子愛好者來說
    的頭像 發(fā)表于 11-22 17:15 ?3652次閱讀
    如何使用<b class='flag-5'>Arduino</b> Nano<b class='flag-5'>構(gòu)建</b><b class='flag-5'>一</b><b class='flag-5'>個</b>金屬探測<b class='flag-5'>器</b>

    基于TMS320LF2407A的調(diào)音器設(shè)計

    基于TMS320LF2407A的調(diào)音器設(shè)計 摘要:設(shè)計了種基于數(shù)字信號處理芯片TMS320LF2407的調(diào)音器系統(tǒng),以咪頭拾取吉他弦音,將聲音信號轉(zhuǎn)換為電信號,再用模數(shù)轉(zhuǎn)換
    發(fā)表于 12-18 11:43

    誰能給MIC調(diào)音器的電路圖啊

    如圖所示,自己想焊塊MIC麥克風(fēng)式的電路板,但是又不懂放大電路什么的,有沒有現(xiàn)成的MIC調(diào)音器的電路圖?
    發(fā)表于 07-24 22:02

    吉他調(diào)音器設(shè)計

    有哪位大神設(shè)計過吉他調(diào)音器的嵌入式開發(fā)?幫忙指點下,謝謝
    發(fā)表于 12-04 13:11

    有誰做過樂器的調(diào)音器的,

    本帖最后由 doudizhu 于 2017-3-29 16:47 編輯 最近在搞樂器類的調(diào)音器,利用蜂鳴片拾音,通過LM358運放濾波,通過單片機的FFT傅里葉變換計算出頻率。誰有這方面的算法和典型應(yīng)用電路,給小弟指引
    發(fā)表于 03-29 16:46

    Auified發(fā)布吉他效果?AmpLion 2 Rock Essentials

    設(shè)計的GUI。你能得到三傳奇的箱頭模型,四音箱,十五stompbox,十麥克風(fēng),都是使用最先進的建模重現(xiàn)出來。簡易的調(diào)音器。打開即可
    發(fā)表于 03-30 09:22

    莫夫大吉他法茲的構(gòu)建教程

    描述莫夫大吉他法茲這是 Big Muff 的 PCB。我在 Eagle 中設(shè)計了這個。我在這里使用了 The Big Muff Page 的零件編號。使用此板,您應(yīng)該能夠構(gòu)建任何版本的標準 Big Muff。只需選擇原理圖并將零件編號與該板匹配即可。
    發(fā)表于 07-05 07:33

    使用Arduino構(gòu)建數(shù)字羅盤

    方向。在本文中,您將學(xué)習(xí)如何使用 Arduino 構(gòu)建自己的數(shù)字羅盤。通過它,您將能夠了解HMC5883L傳感的完整操作,來檢測它的方位方向。此外,您將學(xué)習(xí)如何構(gòu)建自己的電子羅盤板并
    發(fā)表于 08-25 06:11

    基于Arduino制作吉他自動調(diào)音器

    吉他時最重要的事情之是確保樂器音準。即使是最好的吉他手,用把走調(diào)的吉他也不會聽起來有任何好處。使用標準
    發(fā)表于 08-15 15:31 ?2046次閱讀
    基于<b class='flag-5'>Arduino</b>制作<b class='flag-5'>吉他</b>自動<b class='flag-5'>調(diào)音器</b>

    構(gòu)建基于晶體管的吉他失真踏板電路

    誰不喜歡失真的電吉他的隆隆聲?它是許多重要音樂流派的關(guān)鍵部分,特別是在布魯斯和搖滾音樂流派中,并且也經(jīng)常用于硬搖滾、金屬或朋克音樂流派。在這個項目中,我們將使用簡單的電路為吉他
    發(fā)表于 08-16 15:52 ?1722次閱讀
    <b class='flag-5'>構(gòu)建</b><b class='flag-5'>一</b><b class='flag-5'>個</b>基于晶體管的<b class='flag-5'>吉他</b>失真踏板電路

    如何使用Arduino構(gòu)建無線門鈴

     在這個項目中,我們將使用 Arduino 構(gòu)建無線門鈴。我們將有按鈕,按下該按鈕將無線
    發(fā)表于 08-19 15:57 ?1811次閱讀
    如何使用<b class='flag-5'>Arduino</b><b class='flag-5'>構(gòu)建</b><b class='flag-5'>一</b><b class='flag-5'>個</b>無線門鈴

    使用Arduino構(gòu)建摩爾斯電碼轉(zhuǎn)換

    在本教程中,我們將使用 Arduino 構(gòu)建摩爾斯電碼轉(zhuǎn)換,它將任何字符作為串行監(jiān)視的輸
    發(fā)表于 08-29 16:46 ?4057次閱讀
    使用<b class='flag-5'>Arduino</b><b class='flag-5'>構(gòu)建</b><b class='flag-5'>一</b><b class='flag-5'>個</b>摩爾斯電碼轉(zhuǎn)換<b class='flag-5'>器</b>

    Arduino MEGA吉他踏板開源分享

    電子發(fā)燒友網(wǎng)站提供《Arduino MEGA吉他踏板開源分享.zip》資料免費下載
    發(fā)表于 10-27 11:41 ?0次下載
    <b class='flag-5'>Arduino</b> MEGA<b class='flag-5'>吉他</b>踏板開源分享

    Arduino UNO吉他踏板開源

    電子發(fā)燒友網(wǎng)站提供《Arduino UNO吉他踏板開源.zip》資料免費下載
    發(fā)表于 11-08 09:22 ?3次下載
    <b class='flag-5'>Arduino</b> UNO<b class='flag-5'>吉他</b>踏板開源
    主站蜘蛛池模板: 又粗又长又大又黄的日本视频| 牛牛碰在线| 最新黄色在线| 一级特黄女毛毛片| 欧美日韩亚洲色图| 午夜高清在线观看免费6| h视频在线播放| 四月婷婷七月婷婷综合| 丁香六月五月婷婷| 国产精品免费久久| 亚洲伊人tv综合网色| 狠狠色狠狠色综合日日32| 久久看精品| 亚洲欧美在线视频免费| 国产精品久久久久久久久免费hd | 黄在线看| 日本特级黄色录像| 亚洲成a人片在线观看88| 日本精品高清一区二区2021| 亚洲第一区精品日韩在线播放| 九九国产精品| 亚洲你xx我xx网站| 成人三级毛片| 35qao强力打造免费上线高清 | 1024你懂的日韩| 四虎影午夜成年免费精品| 夜夜摸夜夜操| 欧美卡一卡二卡新区网站| 看逼网址| 天天色官网| 久久久久国产精品免费网站| 美女视频黄视大全视频免费网址| 久久天天躁狠狠躁夜夜呲| 亚洲人的天堂男人爽爽爽| brazzers720欧美丰满| 亚洲一区二区三区在线播放| 免费的黄色的视频| 国产美女一级片| 色多多a| 欧美影欧美影院免费观看视频| 伊人久久大香线蕉综合网站|