資料介紹
描述
項目介紹:
當人們打開一個盒子時,這個 Arduino 項目“rickrolls”人們。基本上,這涉及對 Rick Astley 的歌曲“Never Gonna Give You Up”進行令人驚訝的壓電演繹,當盒子打開時播放,當盒子關閉時暫停。重新打開盒子時,歌曲會從停止的地方繼續播放。當歌曲正在播放時,LED 會隨著音樂的音符閃爍,串行監視器會根據實際歌曲及時輸出歌詞。可以轉動電位器來調節音樂的音量。還有一個有趣的按鈕,按下時,歌曲會變得更快。可以再按幾次,使速度逐漸加快,直到循環回到原來的速度。
熔化圖:
![final_arduino_project_bb_ZtfDGrKozs.png?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/393832/final_arduino_project_bb_ZtfDGrKozs.png?auto=compress%2Cformat&w=740&h=555&fit=max)
輸入/輸出組件
輸入:
- 電位器——用作調節壓電輸出音量的刻度盤
- 光敏電阻——確定盒子是打開還是關閉(亮或暗)
- 按鈕 - 可以按下以使歌曲逐漸變快
輸出:
- 壓電 - 用于為歌曲創造聲音
- LED——隨著歌曲的音符閃爍
- 串行輸出——打印出歌詞
方法
為了播放音樂,首先必須將歌曲轉錄成可以用代碼解釋的形式。音符是通過聽這首歌并在鋼琴上匹配它們來確定的。節奏是通過計算歌曲并將其拍出一組一致的節拍來確定的。在代碼中,這些音符被存儲在數組中作為它們各自的頻率,即A4=440 Hz。這就是 Piezo 輸出噪音的方式;它以特定頻率產生聲音以產生音調。歌曲所需的所有頻率都在代碼的開頭定義。
對于歌曲的節奏,音符的相對持續時間存儲在數組中,這些持續時間隨后乘以恒定的節拍長度以確定音符的完整持續時間。引入了前一個音符長度的 30% 的間隙,以在音符之間留出空間。整首歌曲分為前奏、第一主歌和副歌,它們被設置為按照以下順序無限播放:副歌、第一主歌、副歌、前奏、前奏、第一主歌等。最后,這些音符和節奏的排列可以逐步迭代,這允許集成視覺輸出,例如燈光和歌詞。為了實際從壓電輸出聲音,使用了音調功能,它使用自己的獨立計時器處理音調持續時間。
在設置過程中會生成一個光閾值,以確定盒子何時打開(明亮)和關閉(黑暗)以播放和暫停歌曲。為了隨時從按鈕獲取輸入,由于狀態變化是瞬時的(與產生連續數字輸入的光敏電阻相反),因此在按鈕引腳上附加了一個中斷以檢測它何時被按下。在設置中初始化的中斷總是在監聽狀態變化;當檢測到指定的更改時,程序會立即切換到使用指定方法處理中斷,然后從中斷處繼續。這是處理輸入的好方法,因為它允許隨時讀取它們,即使另一部分代碼正在執行。中斷只需要小心處理,
未來的修改
- 添加一個伺服器,然后將迷你 Rick Astley 掛在它的手臂上,隨著音樂跳舞。
- 用 RGB LED 替換標準 LED,并在歌曲播放期間循環顯示顏色。
- 添加更多標準 LED 以隨著音樂節拍閃爍。
- 每當 Rick Astley 唱“Never gonna give you up”時,播放 Darude 的“Sandstorm”,然后開始隨機閃爍 LED。
- Arduino坦克開源項目
- Arduino害羞面具開源項目
- SHT85與Arduino開源項目
- Arduino機器人開源項目
- Arduino藍牙安卓開源項目
- Arduino項目LAMPIXEL開源
- Arduino UNO LED項目開源
- 無人機盾牌Arduino開源項目
- Arduino巨型盾牌開源項目
- Arduino Uno Vero盾牌開源項目
- Arduino LED圣誕樹開源項目
- Arduino陀螺游戲輪開源項目
- Arduino Nanuno(通孔版)開源項目 0次下載
- Arduino UNO教育盾開源項目
- 基于Arduino硬件光控燈制作資料 7次下載
- 如何使用搖表測量接地電阻 3445次閱讀
- Arduino模組的KiCad符號與封裝庫介紹 2046次閱讀
- 搖表的工作原理和使用方法 4371次閱讀
- 怎樣使用搖表檢測防雷接地 9299次閱讀
- 接地電阻用搖表怎么測量 1.5w次閱讀
- 搖表的結構原理與使用方法 5618次閱讀
- 全年開源項目的盤點和總結 3363次閱讀
- 51單片機對盒仔機器人的控制設計 1113次閱讀
- 搖表是直流還是交流(搖表的工作原理及使用方法) 12.6w次閱讀
- 搖表怎么測量電機好壞 4.7w次閱讀
- 接地搖表使用方法圖詳解 9.6w次閱讀
- 怎樣使用搖表檢查線路 4.1w次閱讀
- FAST:基于FPGA的SDN交換機開源項目(一) 4718次閱讀
- arduino開發板有什么用 2.1w次閱讀
- 11個機器學習開源項目 2829次閱讀
下載排行
本周
- 1DeepSeek:從入門到精通
- 5.36 MB | 25次下載 | 1 積分
- 2中興通訊的PCB設計規范
- 23.03 MB | 2次下載 | 5 積分
- 3IP6823 支持 qi 認證的無線充電發射控制 SOC
- 1.01 MB | 1次下載 | 免費
- 4IP6824? 全集成QI?無線充電發射控制SOC
- 1.22 MB | 1次下載 | 免費
- 5工程師入門必學的二十個模擬電路
- 0.37 MB | 1次下載 | 1 積分
- 6PESD18VY1BBIF保護二極管規格書
- 4.56MB | 次下載 | 免費
- 774HC4050緩沖器規格書
- 217.58KB | 次下載 | 免費
- 874HC73-Q100雙JK觸發器規格書
- 220.85KB | 次下載 | 免費
本月
- 1A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 2零死角玩轉STM32F103—指南者
- 26.78 MB | 41次下載 | 1 積分
- 3PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 4DeepSeek:從入門到精通
- 5.36 MB | 25次下載 | 1 積分
- 5PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 6GD32F4xx用戶手冊
- 14.49MB | 14次下載 | 免費
- 7dsPIC33EDV64MC205電機控制開發板用戶指南
- 5.78MB | 8次下載 | 免費
- 8STC15系列常用寄存器匯總免費下載
- 1.60 MB | 7次下載 | 5 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935124次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73813次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論