精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>Sparkfun壓電蜂鳴器光子屏蔽原型

Sparkfun壓電蜂鳴器光子屏蔽原型

2023-01-05 | zip | 0.01 MB | 次下載 | 免費

資料介紹

描述

所以我在 Sparkfun 網站上閱讀了關于在他們的網站上生產和銷售你的小工具和小工具的能力。我真的很喜歡 Particle Photon,喜歡像 Sparkfun 這樣的網站,因為它們鼓勵創造力。?

輸入利用 Particle 固件中的 tone() 功能的想法。一旦我看到它,我就知道我需要提高我在 EagleCad 中的技能,并學習一兩件關于設計我的第一個 PCB 的事情。

盡管 Sparkfun 可能實際上不接受這篇文章作為提交,但我想與社區分享我的項目。

步驟 1. 設計 PCB

我使用 EagleCad 設計我的電路和 PCB。這個概念是,拿到這個防護罩的人可以輕松地將它與從 Sparkfun 購買的現有光子防護罩一起使用。

因此,如果您有一個電池保護罩,也許還有一個原型板,現在您想要輕松地將音樂融入您的項目中,您可以做到。

?
?
poYBAGO0F5uAInVNAAEHm7z5V4c040.png
?
1 / 2 ?壓電式蜂鳴器防護罩
?

因此,我進行了大量研究和修補,或多或少地復制了 Sparkfun 銷售的現有防護罩的規格。當我在做的時候,我盡可能地遵循了他們的提交指南。任何購買過 Sparkfun 的 Photons shield 的人都知道 D0 和 D1 是為 I2C 保留的。所以我放置了一些焊接跳線,讓用戶可以選擇將蜂鳴器分配給哪個引腳。

在這一點上,我發現了一個名為 OSHPark 的服務。他們是最酷的 PCB 服務。在 EagleCad 中完成 PCB 設計后,我將 brd 文件上傳到 OSHPark,然后等了不到三周就拿到了實際的 PCB。不到 11.00 美元就不錯了!

我從他們那里訂購了一些 12 針母頭和一些 12 毫米壓電蜂鳴器并將其焊接起來。

Step 2. 音樂時間

因此,起初我復制并粘貼了有關使用 tone() 的文檔中的示例代碼。果然一打開就發出了很酷很短的小曲子!

// EXAMPLE USAGE
// Plays a melody - Connect small speaker to analog pin A0
 
int speakerPin = A0;
 
// notes in the melody:
int melody[] = {
1908, 2551, 2551, 2273,
2551, 0, 2024, 1908
};  //C4,G3,G3,A3,G3,0,B3,C4
 
// note durations: 4 = quarter note, 8 = eighth note, etc.
int noteDurations[] = {
4, 8, 8, 4,
4, 4, 4, 4
};
 
void setup(){
 
// iterate over the notes of the melody:
for(int thisNote = 0; thisNote < 8; thisNote++){
 
 // to calculate the note duration, take one second
 // divided by the note type.
 //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
 int noteDuration = 1000/noteDurations[thisNote];
 tone(speakerPin, melody[thisNote], noteDuration);
 
 // to distinguish the notes, set a minimum time between them.
 // the note's duration + 30% seems to work well:
 int pauseBetweenNotes = noteDuration * 1.30;
 delay(pauseBetweenNotes);
 // stop the tone playing:
 noTone(speakerPin);
}
}

然后我想進一步發揮這個小項目的能力。所以我用谷歌搜索了 MarioBros 的音符,結果發現有人已經將它編碼為可以在 Teensy 和 Arduino 上使用!所以我借用了代碼并修改了它在 Photon 上的工作。?

抱歉,我找不到用于借用代碼的站點...

這是改編:

#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
 
int melodyPin = D2;
 
int marioMelody[] = {
 2637, 2637, 0, 2637,
 0, 2097, 2637, 0,
 NOTE_G7, 0, 0,  0,
 NOTE_G6, 0, 0, 0,
 NOTE_C7, 0, 0, NOTE_G6,
 0, 0, NOTE_E6, 0,
 0, NOTE_A6, 0, NOTE_B6,
 0, NOTE_AS6, NOTE_A6, 0,
 NOTE_G6, NOTE_E7, NOTE_G7,
 NOTE_A7, 0, NOTE_F7, NOTE_G7,
 0, NOTE_E7, 0, NOTE_C7,
 NOTE_D7, NOTE_B6, 0, 0,
 NOTE_C7, 0, 0, NOTE_G6,
 0, 0, NOTE_E6, 0,
 0, NOTE_A6, 0, NOTE_B6,
 0, NOTE_AS6, NOTE_A6, 0,
 NOTE_G6, NOTE_E7, NOTE_G7,
 NOTE_A7, 0, NOTE_F7, NOTE_G7,
 0, NOTE_E7, 0, NOTE_C7,
 NOTE_D7, NOTE_B6, 0, 0
};
 
int tempo[] = {
 12, 12, 12, 12,
 12, 12, 12, 12,
 12, 12, 12, 12,
 12, 12, 12, 12,
 12, 12, 12, 12,
 12, 12, 12, 12,
 12, 12, 12, 12,
 12, 12, 12, 12,
 9, 9, 9,
 12, 12, 12, 12,
 12, 12, 12, 12,
 12, 12, 12, 12,
 12, 12, 12, 12,
 12, 12, 12, 12,
 12, 12, 12, 12,
 12, 12, 12, 12,
 9, 9, 9,
 12, 12, 12, 12,
 12, 12, 12, 12,
 12, 12, 12, 12
};
 
int underworldmelody[] = {
 NOTE_C4, NOTE_C5, NOTE_A3, NOTE_A4,
 NOTE_AS3, NOTE_AS4, 0,
 0,
 NOTE_C4, NOTE_C5, NOTE_A3, NOTE_A4,
 NOTE_AS3, NOTE_AS4, 0,
 0,
 NOTE_F3, NOTE_F4, NOTE_D3, NOTE_D4,
 NOTE_DS3, NOTE_DS4, 0,
 0,
 NOTE_F3, NOTE_F4, NOTE_D3, NOTE_D4,
 NOTE_DS3, NOTE_DS4, 0,
 0, NOTE_DS4, NOTE_CS4, NOTE_D4,
 NOTE_CS4, NOTE_DS4,
 NOTE_DS4, NOTE_GS3,
 NOTE_G3, NOTE_CS4,
 NOTE_C4, NOTE_FS4, NOTE_F4, NOTE_E3, NOTE_AS4, NOTE_A4,
 NOTE_GS4, NOTE_DS4, NOTE_B3,
 NOTE_AS3, NOTE_A3, NOTE_GS3,
 0, 0, 0
};
//Underwolrd tempo
int underworldtempo[] = {
 12, 12, 12, 12,
 12, 12, 6,
 3,
 12, 12, 12, 12,
 12, 12, 6,
 3,
 12, 12, 12, 12,
 12, 12, 6,
 3,
 12, 12, 12, 12,
 12, 12, 6,
 6, 18, 18, 18,
 6, 6,
 6, 6,
 6, 6,
 18, 18, 18, 18, 18, 18,
 10, 10, 10,
 10, 10, 10,
 3, 3, 3
};
 
void setup(){
   delay(1000);
}
 
void loop(){
   for(int thisNote = 0; thisNote < 78; thisNote++){
       int noteDuration = 1500/tempo[thisNote];
       tone(melodyPin, marioMelody[thisNote], noteDuration);
 
       int pause = noteDuration * 1.33;
       delay(pause);
 
       noTone(melodyPin);
   }
 
   delay(2000);
   for(int thisNote = 0; thisNote < 56; thisNote++){
       int noteDuration = 1300/underworldtempo[thisNote];
       tone(melodyPin, underworldmelody[thisNote], noteDuration);
 
       int pause = noteDuration * 1.33;
       delay(pause);
 
       noTone(melodyPin);
   }
 
}
 

?可以肯定的是,它會同時播放這兩種曲調,而且聆聽它們真的很有趣。從這里開始,我計劃讓它變得更加智能例如,假設您想要觸發聲音,因為房子對面的另一個 Photon 發布了一個事件。

?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費