久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5933|回復: 1
打印 上一主題 下一主題
收起左側

Arduino使用pwm控制蜂鳴器的源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:220130 發表于 2018-8-27 23:12 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
arduino使用pwm控制蜂鳴器,分別播放1234567和小星星

Arduino源程序:
  1. int speakerPin = 2;
  2. char notes[] = "cdefgabC ";// 依照簡譜的順序,填入代表的音符,空白代表休止符
  3. unsigned long beats[] = {1,1,1,1,1,1,1,1}; // 決定每個音階的拍子,注意這里用 unsigned long 所以拍子只能是正整數
  4. int length = sizeof(notes); // 利用 sizeof(),算出總共要多少音符
  5. int tempo = 300;// 決定一拍多長,這里一拍 300 ms

  6. void setup() {
  7.   pinMode(speakerPin, OUTPUT);
  8. }

  9. void loop() {
  10.   for (int i = 0; i < length; i++) {      // 利用 for 來播放我們設定的歌曲,一個音一個音播放
  11.                                           // 如果是空白的話,不播放音樂
  12.     if (notes[i] == ' ') {
  13.       delay(beats[i] * tempo); // rest
  14.     } else {
  15.                                            // 呼叫 palyNote() 這個 function,將音符轉換成信號
  16.       playNote(speakerPin,notes[i], beats[i] * tempo);
  17.     }   
  18.     delay(tempo/10); // 每個音符之間的間隔
  19.   }
  20. }

  21. void playNote(int OutputPin, char note, unsigned long duration) {
  22.    // 音符字元與對應的頻率由兩個數組表示
  23.   char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
  24.   int tones[] = { 261, 294, 330, 349, 392, 440, 494, 523 };
  25.   // 播放音符對應的頻率
  26.   for (int i = 0; i < 8; i++) {
  27.     if (names[i] == note) {
  28.       tone(OutputPin,tones[i], duration);
  29.   //下方的 delay() 及 noTone (),測試過後一定要有這兩行,整體的撥放出來的東西才不會亂掉,可能是因為 Arduino 送出tone () 頻率後會馬上接著執行下個指令,不會等聲音播完,導致撥出的聲音混合而亂掉
  30.       delay(duration);
  31.       noTone(OutputPin);
  32.     }
  33.   }
  34. }
復制代碼

所有資料51hei提供下載:
PWM_with_buzzer.rar (3 KB, 下載次數: 19)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:917011 發表于 2021-5-15 11:57 | 只看該作者
所以這是pwm控制的嗎
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天干天天爽 | 免费一级欧美在线观看视频 | 欧美日韩中文字幕 | 久久久久久毛片免费观看 | 免费观看日韩av | 午夜欧美日韩 | 亚洲国产欧美一区二区三区久久 | 国产欧美一区二区三区在线播放 | 成人免费看黄 | 成人午夜免费福利视频 | 欧美精品1区 | 国产精品91视频 | 久久亚洲国产精品日日av夜夜 | 91久久久www播放日本观看 | 五月激情综合 | 精品一区二区三区四区五区 | av香蕉| 欧美在线a | 欧美一区二区三区在线观看 | 国产偷久久一级精品60部 | 久久福利网站 | 国产视频一区二区三区四区五区 | 国产福利资源 | 国产精品成人国产乱一区 | 亚洲一区二区三区在线 | 日本高清视频在线播放 | 国产欧美一区二区三区在线播放 | 欧美精品久久久久久久久老牛影院 | 亚洲成人精品 | 免费视频久久久久 | 国产亚洲黄色片 | 国产成人免费在线 | 日本三级网址 | 欧美高清一级片 | 美女福利视频网站 | 久久在线免费 | 国产乱码久久久久久一区二区 | 成年人黄色小视频 | 中文字幕一区二区三区日韩精品 | 欧美国产视频一区二区 | 最新中文字幕在线 |