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

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

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

如何使用Arduino音調(diào)功能在壓電蜂鳴器或揚(yáng)聲器上播放旋律

科技觀察員 ? 來源:circuitdigest ? 作者:阿斯文斯·拉吉 ? 2023-01-25 15:37 ? 次閱讀

Arduino是簡化和加速微控制器項(xiàng)目的絕佳方式,這要?dú)w功于其開發(fā)人員社區(qū),他們使幾乎所有內(nèi)容看起來都很簡單。這里有很多Arduino項(xiàng)目供您嘗試并享受樂趣。您的某些項(xiàng)目可能需要一些聲音操作來通知某些內(nèi)容或只是為了給觀眾留下深刻印象。如果我告訴你,幾乎所有可以在鋼琴上演奏的主題曲都可以在一個(gè)簡單的程序和便宜的壓電揚(yáng)聲器的幫助下在你的Arduino上模仿呢?

在本教程中,我們將學(xué)習(xí)使用 Arduino 音調(diào) () 功能在壓電蜂鳴器或揚(yáng)聲器上播放旋律是多么簡單易行.

所需硬件

  1. Arduino(任何版本 – 此處使用 UNO)
  2. 壓電揚(yáng)聲器/蜂鳴器或任何其他 8 歐姆揚(yáng)聲器。
  3. 面包板
  4. 連接線
  5. 按鈕
  6. 1k 電阻器(可選)

了解 Arduino 的 Tone() 函數(shù):

在我們理解 音調(diào)()工作原理之前,我們應(yīng)該知道壓電蜂鳴器是如何工作的.我們可能在我們學(xué)校了解過壓電晶體, 它只不過是一種將機(jī)械振動(dòng)轉(zhuǎn)化為電能的晶體,反之亦然.在這里,我們應(yīng)用一個(gè)可變的電流(頻率),晶體振動(dòng)從而產(chǎn)生聲音。因此,為了使壓電蜂鳴器產(chǎn)生一些噪音,我們必須使壓電晶體振動(dòng),噪聲的音調(diào)和音調(diào)取決于晶體振動(dòng)的速度.因此,可以通過改變電流頻率來控制音調(diào)和音高。

好的,那么我們?nèi)绾螐腁rduino獲得可變頻率呢?這就是音調(diào)()函數(shù)的用武之地。音調(diào)()可以在特定引腳上生成特定頻率。如果需要,也可以提及持續(xù)時(shí)間。音調(diào) () 的語法是

Syntax

tone(pin, frequency) 
tone(pin, frequency, duration)

Parameters

pin: the pin on which to generate the tone
frequency: the frequency of the tone in hertz - unsigned int
duration: the duration of the tone in milliseconds (optional) - unsigned long

引腳的值可以是您的任何數(shù)字引腳。我在這里使用了引腳 8??梢陨傻念l率取決于Arduino板中計(jì)時(shí)器的大小。對(duì)于UNO和大多數(shù)其他常見板,可以產(chǎn)生的最小頻率為31Hz,可以產(chǎn)生的最大頻率為65535Hz。然而,我們?nèi)祟愔荒苈牭?000Hz到5000Hz之間的頻率。

pitches.h 頭文件:

現(xiàn)在,我們知道如何使用arduino tone()函數(shù)產(chǎn)生一些噪音。但是,我們?nèi)绾沃烂總€(gè)頻率將產(chǎn)生什么樣的音調(diào)?

Arduino給了我們一個(gè)音符表,將每個(gè)頻率等同于特定的音符類型。這個(gè)筆記表最初是由Brett Hagman編寫的, tone() 命令是基于他的工作。我們將使用此便箋表來播放我們的主題。如果你是熟悉樂譜的人,你應(yīng)該能夠理解這個(gè)表,對(duì)于像我這樣的其他人來說,這些只是另一個(gè)代碼塊。

#define NOTE_B0  31
#define NOTE_C1  33
#define NOTE_CS1 35
#define NOTE_D1  37
#define NOTE_DS1 39
#define NOTE_E1  41
#define NOTE_F1  44
#define NOTE_FS1 46
#define NOTE_G1  49
#define NOTE_GS1 52
#define NOTE_A1  55
#define NOTE_AS1 58
#define NOTE_B1  62
#define NOTE_C2  65
#define NOTE_CS2 69
#define NOTE_D2  73
#define NOTE_DS2 78
#define NOTE_E2  82
#define NOTE_F2  87
#define NOTE_FS2 93
#define NOTE_G2  98
#define NOTE_GS2 104
#define NOTE_A2  110
#define NOTE_AS2 117
#define NOTE_B2  123
#define NOTE_C3  131
#define NOTE_CS3 139
#define NOTE_D3  147
#define NOTE_DS3 156
#define NOTE_E3  165
#define NOTE_F3  175
#define NOTE_FS3 185
#define NOTE_G3  196
#define NOTE_GS3 208
#define NOTE_A3  220
#define NOTE_AS3 233
#define NOTE_B3  247
#define NOTE_C4  262
#define NOTE_CS4 277
#define NOTE_D4  294
#define NOTE_DS4 311
#define NOTE_E4  330
#define NOTE_F4  349
#define NOTE_FS4 370
#define NOTE_G4  392
#define NOTE_GS4 415
#define NOTE_A4  440
#define NOTE_AS4 466
#define NOTE_B4  494
#define NOTE_C5  523
#define NOTE_CS5 554
#define NOTE_D5  587
#define NOTE_DS5 622
#define NOTE_E5  659
#define NOTE_F5  698
#define NOTE_FS5 740
#define NOTE_G5  784
#define NOTE_GS5 831
#define NOTE_A5  880
#define NOTE_AS5 932
#define NOTE_B5  988
#define NOTE_C6  1047
#define NOTE_CS6 1109
#define NOTE_D6  1175
#define NOTE_DS6 1245
#define NOTE_E6  1319
#define NOTE_F6  1397
#define NOTE_FS6 1480
#define NOTE_G6  1568
#define NOTE_GS6 1661
#define NOTE_A6  1760
#define NOTE_AS6 1865
#define NOTE_B6  1976
#define NOTE_C7  2093
#define NOTE_CS7 2217
#define NOTE_D7  2349
#define NOTE_DS7 2489
#define NOTE_E7  2637
#define NOTE_F7  2794
#define NOTE_FS7 2960
#define NOTE_G7  3136
#define NOTE_GS7 3322
#define NOTE_A7  3520
#define NOTE_AS7 3729
#define NOTE_B7  3951
#define NOTE_C8  4186
#define NOTE_CS8 4435
#define NOTE_D8  4699
#define NOTE_DS8 4978

在Arduino上播放音符:

要使用Arduino演奏像樣的旋律,我們應(yīng)該知道這些旋律的構(gòu)成。播放主題所需的三個(gè)主要因素是

  1. 注釋值
  2. 注釋持續(xù)時(shí)間
  3. 速度

我們有 pitches.h 頭文件來播放任何音符值,現(xiàn)在我們應(yīng)該找出它的具體音符持續(xù)時(shí)間來播放它。節(jié)奏只不過是旋律應(yīng)該演奏多快。一旦你知道音符值和音符持續(xù)時(shí)間,你可以將它們與 tone() 一起使用,比如

tone (pinName, Note Value, Note Duration);

對(duì)于本教程中播放的音調(diào),我在“themes.h”頭文件中為您提供了音符值和音符持續(xù)時(shí)間,您可以使用它們?cè)陧?xiàng)目中播放它們。但是,如果您的礦井中有任何特定的音調(diào),并且想在您的項(xiàng)目中播放它,請(qǐng)繼續(xù)閱讀......否則跳過這個(gè)話題,落到下一個(gè)話題。

要播放任何特定的音調(diào) ,您必須獲取該特定音樂的樂譜,并通過從中讀取音符值和音符持續(xù)時(shí)間將樂譜轉(zhuǎn)換為Arduino草圖。如果你是一個(gè)音樂專業(yè)的學(xué)生,這對(duì)你來說是小菜一碟,否則花一些時(shí)間像我一樣打破你的頭。但是在一天結(jié)束時(shí),當(dāng)您的音調(diào)在壓電蜂鳴器上播放時(shí),您會(huì)發(fā)現(xiàn)您的努力值得.

獲得音符值和音符持續(xù)時(shí)間后,將它們加載到“themes.h”頭文件中的程序中,如下所示

//##############**"HE IS A PIRATE" Theme song of Pirates of caribbean**##############//
int Pirates_note[] = {
NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4,
NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, 
NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4,  
NOTE_A3, NOTE_C4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_E4, NOTE_F4, NOTE_F4, 
NOTE_F4, NOTE_G4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_C4, NOTE_C4, NOTE_D4,
0, NOTE_A3, NOTE_C4, NOTE_B3, NOTE_D4, NOTE_B3, NOTE_E4, NOTE_F4,
NOTE_F4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4,
NOTE_D4, 0, 0, NOTE_A3, NOTE_C4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_F4,
NOTE_G4, NOTE_G4, NOTE_G4, NOTE_A4, NOTE_A4, NOTE_A4, NOTE_A4, NOTE_G4,
NOTE_A4, NOTE_D4, 0, NOTE_D4, NOTE_E3, NOTE_F4, NOTE_F4, NOTE_G4, NOTE_A4, 
NOTE_D4, 0, NOTE_D4, NOTE_F4, NOTE_E4, NOTE_E4, NOTE_F4, NOTE_D4
};
int Pirates_duration[] = {
4,8,4,8,4,8,8,8,8,4,8,4,8,4,8,8,8,8,4,8,4,8,
4,8,8,8,8,4,4,8,8,4,4,8,8,4,4,8,8,
8,4,8,8,8,4,4,8,8,4,4,8,8,4,4,8,4,
4,8,8,8,8,4,4,8,8,4,4,8,8,4,4,8,8,
8,4,8,8,8,4,4,4,8,4,8,8,8,4,4,8,8
};
//###########End of He is a Pirate song#############//

上面的代碼塊顯示了電影《加勒比海盜》中“他是海盜”主題的音符值和音符持續(xù)時(shí)間。您可以像這樣添加主題。

原理圖和硬件:

這個(gè)Arduino音調(diào)發(fā)生器項(xiàng)目的示意圖如下圖所示:

使用 Arduino 音調(diào)功能電路在蜂鳴器上播放旋律

連接非常簡單,我們有一個(gè)壓電揚(yáng)聲器,它通過 8K 電阻連接到引腳 1 和 Arduino 的接地.該 1k 電阻器是一個(gè)限流電阻器,用于將電流保持在安全限值內(nèi)。我們還有四個(gè)開關(guān)來選擇所需的旋律。開關(guān)的一端接地,另一端分別連接到引腳 2、3、4 和 5。開關(guān)將使用該軟件在內(nèi)部啟用上拉電阻。由于電路非常簡單,因此可以使用面包板進(jìn)行連接,如下所示:

使用 Arduino 音調(diào)功能試驗(yàn)板電路播放音調(diào)

Arduino 程序說明:

一旦你理解了這個(gè)概念,Arduino程序就非常簡單了。完整的代碼在本教程結(jié)束時(shí)給出。如果您不熟悉添加頭文件,可以從此處將代碼下載為ZIP文件,然后直接將其上傳到Arduino。

以上兩個(gè)是必須添加的頭文件。 “Pitches.h ”用于將每個(gè)音符等同于特定頻率, “themes.h” 包含所有四個(gè)音調(diào)的音符值和音符持續(xù)時(shí)間。

#include "pitches.h"
#include "themes.h"

創(chuàng)建一個(gè)函數(shù)來在需要時(shí)播放每個(gè)音調(diào)。在這里,當(dāng)函數(shù) Play_Pirates() 被稱為“他是海盜”的音調(diào)將被播放。此功能由在引腳編號(hào) 8 處產(chǎn)生頻率的音調(diào)功能組成。noTone(8) 被調(diào)用以在音樂播放后停止音樂。如果要播放自己的音調(diào),請(qǐng)將Pirates_note和Pirates_duration更改為保存在 “themes.h” 值中的新音符和持續(xù)時(shí)間值

void Play_Pirates()
{
  for (int thisNote = 0; thisNote < (sizeof(Pirates_note)/sizeof(int)); thisNote++) {
    int noteDuration = 1000 / Pirates_duration[thisNote];//convert duration to time delay
    tone(8, Pirates_note[thisNote], noteDuration);
    int pauseBetweenNotes = noteDuration * 1.05; //Here 1.05 is tempo, increase to play it slower
    delay(pauseBetweenNotes);
    noTone(8);
    }
}

引腳 2、3、4 和 5 用于選擇要播放的特定音調(diào)。默認(rèn)情況下,這些引腳使用內(nèi)部上拉電阻保持高電平,方法是使用上述代碼行。按下按鈕時(shí),將其拉到地面。

pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
pinMode(4, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);

下面的代碼塊用于在按下按鈕時(shí)播放歌曲。它讀取每個(gè)按鈕的數(shù)字值,當(dāng)它變低(零)時(shí),它假設(shè)按鈕被按下并通過調(diào)用所需的函數(shù)播放相應(yīng)的音調(diào)。

if (digitalRead(2)==0)
{ Serial.println("Selected -> 'He is a Pirate' ");  Play_Pirates();  }
if (digitalRead(3)==0)
{ Serial.println("Selected -> 'Crazy Frog' ");  Play_CrazyFrog();  }
if (digitalRead(4)==0)
{ Serial.println("Selected -> 'Mario UnderWorld' ");  Play_MarioUW();  }
if (digitalRead(5)==0)
{ Serial.println("Selected -> 'He is a Pirate' ");  Play_Pirates();  }

這個(gè)旋律播放器Arduino電路的工作:

代碼和硬件準(zhǔn)備就緒后,只需將程序刻錄到 Arduino 中,您只需按下按鈕即可播放音調(diào)。如果您有任何問題,請(qǐng)查看串行監(jiān)視器進(jìn)行調(diào)試或使用評(píng)論部分報(bào)告問題,我很樂意為您提供幫助。

在壓電蜂鳴器上使用Arduino音調(diào)功能播放旋律

#include "pitches.h" //add Equivalent frequency for musical note

#include "themes.h" //add Note vale and duration 



void Play_Pirates()

{ 

  for (int thisNote = 0; thisNote < (sizeof(Pirates_note)/sizeof(int)); thisNote++) {


    int noteDuration = 1000 / Pirates_duration[thisNote];//convert duration to time delay

    tone(8, Pirates_note[thisNote], noteDuration);


    int pauseBetweenNotes = noteDuration * 1.05; //Here 1.05 is tempo, increase to play it slower

    delay(pauseBetweenNotes);

    noTone(8); //stop music on pin 8 

    }

}


void Play_CrazyFrog()

{

  for (int thisNote = 0; thisNote < (sizeof(CrazyFrog_note)/sizeof(int)); thisNote++) {


    int noteDuration = 1000 / CrazyFrog_duration[thisNote]; //convert duration to time delay

    tone(8, CrazyFrog_note[thisNote], noteDuration);


    int pauseBetweenNotes = noteDuration * 1.30;//Here 1.30 is tempo, decrease to play it faster

    delay(pauseBetweenNotes);

    noTone(8); //stop music on pin 8 

    }

}


void Play_MarioUW()

{

    for (int thisNote = 0; thisNote < (sizeof(MarioUW_note)/sizeof(int)); thisNote++) {


    int noteDuration = 1000 / MarioUW_duration[thisNote];//convert duration to time delay

    tone(8, MarioUW_note[thisNote], noteDuration);


    int pauseBetweenNotes = noteDuration * 1.80;

    delay(pauseBetweenNotes);

    noTone(8); //stop music on pin 8 

    }

}


void Play_Titanic()

{

    for (int thisNote = 0; thisNote < (sizeof(Titanic_note)/sizeof(int)); thisNote++) {


    int noteDuration = 1000 / Titanic_duration[thisNote];//convert duration to time delay

    tone(8, Titanic_note[thisNote], noteDuration);


    int pauseBetweenNotes = noteDuration * 2.70;

    delay(pauseBetweenNotes);

    noTone(8); //stop music on pin 8 

    }

}


void setup() {

pinMode(2, INPUT_PULLUP); //Button 1 with internal pull up

pinMode(3, INPUT_PULLUP); //Button 2 with internal pull up

pinMode(4, INPUT_PULLUP); //Button 3 with internal pull up

pinMode(5, INPUT_PULLUP); //Button 4 with internal pull up

Serial.begin(9600);

}


void loop() {

    if (digitalRead(2)==0)

      { Serial.println("Selected -> 'He is a Pirate' ");  Play_Pirates();  }

    if (digitalRead(3)==0)

      { Serial.println("Selected -> 'Crazy Frog' ");  Play_CrazyFrog();  }

    if (digitalRead(4)==0)

      { Serial.println("Selected -> 'Mario UnderWorld' ");  Play_MarioUW();  }

    if (digitalRead(5)==0)

      { Serial.println("Selected -> 'Titanic' ");  Play_Titanic();  }

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

    關(guān)注

    29

    文章

    1287

    瀏覽量

    62714
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6457

    瀏覽量

    186501
  • 壓電蜂鳴器
    +關(guān)注

    關(guān)注

    0

    文章

    69

    瀏覽量

    3048
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    arduino學(xué)習(xí)筆記22 - 揚(yáng)聲器實(shí)驗(yàn)

    一個(gè)5K的。注意:因?yàn)?b class='flag-5'>揚(yáng)聲器驅(qū)動(dòng)電壓要求比較小,遠(yuǎn)遠(yuǎn)小于5V,所以需要在揚(yáng)聲器串聯(lián)一個(gè)大于10uf的電解電容,電解電容負(fù)極連接喇叭的正極,電容正極連接另外一端。不接電容長時(shí)間使用,會(huì)燒毀揚(yáng)聲
    發(fā)表于 10-24 10:19

    請(qǐng)教multisim中揚(yáng)聲器要怎么才能發(fā)聲?

    本帖最后由 abeyond 于 2015-7-6 14:23 編輯 大家好,我是剛開始學(xué)習(xí)使用multisim,畫了一個(gè)“雙音調(diào)電子門鈴”的仿真圖,揚(yáng)聲器只有一個(gè)引腳,接上以后始終都沒有反應(yīng),用蜂鳴器可以響,但是卻沒有雙
    發(fā)表于 07-06 14:11

    FPGA擴(kuò)展揚(yáng)聲器問題,求大神賜教+_+??!

    新手初用FPGA,用的開發(fā)板沒有蜂鳴器揚(yáng)聲器;現(xiàn)在已經(jīng)能有音頻脈沖產(chǎn)生,急需外加蜂鳴器或者揚(yáng)聲器等一切能發(fā)出聲音的東東。。。板子上有GPI
    發(fā)表于 01-08 20:43

    請(qǐng)問如何實(shí)現(xiàn)新型壓電陶瓷揚(yáng)聲器的設(shè)計(jì)?

    如何實(shí)現(xiàn)新型壓電陶瓷揚(yáng)聲器的設(shè)計(jì)?壓電陶瓷揚(yáng)聲器的工作原理是什么?動(dòng)圈揚(yáng)聲器的工作原理是什么?采用陶瓷揚(yáng)
    發(fā)表于 04-14 06:43

    什么是壓電MEMS揚(yáng)聲器?壓電MEMS揚(yáng)聲器UT-P 2016的應(yīng)用有哪些?

    什么是壓電MEMS揚(yáng)聲器壓電MEMS揚(yáng)聲器UT-P 2016的指標(biāo)規(guī)格有哪些?壓電MEMS揚(yáng)聲器
    發(fā)表于 06-16 08:50

    制作便攜式揚(yáng)聲器的方法,DIY制作便攜式揚(yáng)聲器的教程

      你們都見過便攜式揚(yáng)聲器現(xiàn)在變得流行,但其中大多數(shù)都非常昂貴,所以我將向您展示如何用最少的零件制作自己的便攜式揚(yáng)聲器。制作和測(cè)試只需要 1小時(shí),并且可以在任何常用的 USB 充電器運(yùn)行。所以
    發(fā)表于 07-31 16:18

    MP4播放器揚(yáng)聲器

    MP4播放器揚(yáng)聲器              揚(yáng)聲器分為內(nèi)
    發(fā)表于 12-21 16:24 ?1191次閱讀

    同軸揚(yáng)聲器,同軸揚(yáng)聲器是什么意思

    同軸揚(yáng)聲器,同軸揚(yáng)聲器是什么意思 什么是“同軸揚(yáng)聲器(同軸音箱)”?與傳統(tǒng)的揚(yáng)聲器有何區(qū)別,什么是“共點(diǎn)同軸揚(yáng)聲器”?
    發(fā)表于 03-31 10:40 ?4928次閱讀

    新型陶瓷壓電揚(yáng)聲器驅(qū)動(dòng)的設(shè)計(jì)

    本文對(duì)比傳統(tǒng)動(dòng)圈型揚(yáng)聲器,分析了新型陶瓷壓電揚(yáng)聲器的特點(diǎn)及對(duì)所需音頻功率放大器的要求,得出使用Boost升壓結(jié)構(gòu),配合D類音頻功率放大器驅(qū)動(dòng)新型陶瓷壓電
    發(fā)表于 12-19 10:17 ?1.7w次閱讀
    新型陶瓷<b class='flag-5'>壓電</b><b class='flag-5'>揚(yáng)聲器</b>驅(qū)動(dòng)的設(shè)計(jì)

    蜂鳴器揚(yáng)聲器的區(qū)別是什么

    蜂鳴器揚(yáng)聲器最大的區(qū)別是喇叭的頻率響應(yīng)要比蜂鳴器好得多,蜂鳴器只在一個(gè)很窄的頻率范圍內(nèi)電聲功率轉(zhuǎn)換比較高。
    發(fā)表于 03-31 09:54 ?2.2w次閱讀

    如何使用arduino壓電蜂鳴器制作簡單的驅(qū)蚊

    在本教程中,我們將學(xué)習(xí)如何使用arduino壓電蜂鳴器制作簡單的驅(qū)蚊。 硬件組件: Arduino UNO1個(gè)
    的頭像 發(fā)表于 12-07 13:52 ?2949次閱讀

    使用揚(yáng)聲器模塊/Arduino UNO板/香蕉來播放音調(diào)

    電子發(fā)燒友網(wǎng)站提供《使用揚(yáng)聲器模塊/Arduino UNO板/香蕉來播放音調(diào).zip》資料免費(fèi)下載
    發(fā)表于 10-19 14:18 ?0次下載
    使用<b class='flag-5'>揚(yáng)聲器</b>模塊/<b class='flag-5'>Arduino</b> UNO板/香蕉來<b class='flag-5'>播放音調(diào)</b>

    如何連接壓電蜂鳴器/揚(yáng)聲器以便在按下按鈕時(shí)播放鈴鐺

    電子發(fā)燒友網(wǎng)站提供《如何連接壓電蜂鳴器/揚(yáng)聲器以便在按下按鈕時(shí)播放鈴鐺.zip》資料免費(fèi)下載
    發(fā)表于 11-01 10:03 ?0次下載
    如何連接<b class='flag-5'>壓電</b><b class='flag-5'>蜂鳴器</b>/<b class='flag-5'>揚(yáng)聲器</b>以便在按下按鈕時(shí)<b class='flag-5'>播放</b>鈴鐺

    使用arduino壓電蜂鳴器制作簡單的驅(qū)蚊

    在本教程中,我們將學(xué)習(xí)如何使用arduino壓電蜂鳴器制作簡單的驅(qū)蚊。硬件組件:Arduino UNO×1個(gè)
    發(fā)表于 01-03 17:46 ?2次下載

    使用Arduino播放不同頻率的音調(diào)

    電子發(fā)燒友網(wǎng)站提供《使用Arduino播放不同頻率的音調(diào).zip》資料免費(fèi)下載
    發(fā)表于 06-27 09:46 ?0次下載
    使用<b class='flag-5'>Arduino</b><b class='flag-5'>播放</b>不同頻率的<b class='flag-5'>音調(diào)</b>