資料介紹
描述
介紹
該項(xiàng)目將創(chuàng)建一個(gè)節(jié)拍器,它可以隨著來自 Alexa 設(shè)備的亞馬遜音樂節(jié)拍移動(dòng)。添加圖片,它就變成了……METRO-GNOME!
它是 LEGO MINDSTORMS 語音挑戰(zhàn)任務(wù)的簡單擴(kuò)展。在你開始這個(gè)項(xiàng)目之前,你需要完成設(shè)置,至少完成任務(wù) 1 和 2。這將涵蓋基礎(chǔ)知識,所以我不會在這里重復(fù)這些說明。
Alexa 界面目前只提供音樂節(jié)奏,但希望將來能擴(kuò)展到提供有關(guān)正在播放的曲目的更多信息。我真的希望我的項(xiàng)目對流派甚至特定歌曲有不同的反應(yīng),但目前還沒有這些信息。
注意:我認(rèn)為這僅適用于現(xiàn)階段的亞馬遜音樂,因此如果您使用其他音樂服務(wù),則不會提供速度數(shù)據(jù)。
通過與她一起完成示例任務(wù),我?guī)椭遗畠洪_始了她的項(xiàng)目。任務(wù) 2 讓我很煩,因?yàn)閯?dòng)作似乎與節(jié)拍不合拍。我想我會創(chuàng)建一個(gè)簡單的項(xiàng)目來改進(jìn)這種能力,這就是結(jié)果。
這與任務(wù) 2 有何不同?
如果您查看任務(wù) 2 中的 _dance_loop 代碼,它會計(jì)算 milli_per_beat,然后乘以 0.65(?。?。我猜這個(gè)調(diào)整是為了讓每個(gè)電機(jī)每拍運(yùn)行 150 毫秒。結(jié)果是一個(gè)近似值,但有誤差。如果您仔細(xì)觀察整個(gè)曲目中的動(dòng)作是否保持節(jié)拍,則此錯(cuò)誤很明顯。
def _dance_loop(self, bpm):
"""
Perform motor movement in sync with the beat per minute value from tempo data.
:param bpm: beat per minute from AGT
"""
color_list = ["GREEN", "RED", "AMBER", "YELLOW"]
led_color = random.choice(color_list)
motor_speed = 400
milli_per_beat = min(1000, (round(60000 / bpm)) * 0.65)
print("Adjusted milli_per_beat: {}".format(milli_per_beat), file=sys.stderr)
while self.trigger_bpm == "on":
# Alternate led color and motor direction
led_color = "BLACK" if led_color != "BLACK" else random.choice(color_list)
motor_speed = -motor_speed
self.leds.set_color("LEFT", led_color)
self.leds.set_color("RIGHT", led_color)
self.right_motor.run_timed(speed_sp=motor_speed, time_sp=150)
self.left_motor.run_timed(speed_sp=-motor_speed, time_sp=150)
time.sleep(milli_per_beat / 1000)
對于我的,我創(chuàng)建了一個(gè)采用不同方法的 _beat_loop。我在沒有調(diào)整的情況下計(jì)算每個(gè)循環(huán)的秒數(shù),并使用計(jì)時(shí)器來確保每個(gè)電機(jī)運(yùn)動(dòng)都與節(jié)拍同步。為了允許更快地移動(dòng)更高節(jié)奏的曲目,電機(jī)速度也根據(jù)每分鐘的節(jié)拍進(jìn)行縮放。這可確保電機(jī)在進(jìn)行下一次運(yùn)動(dòng)之前到達(dá)終點(diǎn)。
def _beat_loop(self, bpm):
"""
Perform motor movement in sync with the beat per minute value from tempo data.
:param bpm: beat per minute from AGT
"""
self.motor.position = 0
pos = 40
speed = min(1000,bpm*2)
seconds_per_beat = 60/bpm
next_time = time() + seconds_per_beat
print("Adjusted seconds per beat: {}".format(seconds_per_beat), file=sys.stderr)
while self.trigger_bpm == "on":
# wait until next movement time
while time() < next_time:
pass
# move motor to next position
self.motor.run_to_abs_pos(position_sp=pos, speed_sp=speed, stop_action="hold")
# change so next position is on opposite side
pos = -pos
# set time for next movement
next_time = next_time + seconds_per_beat
# move to straight position when tempo has stopped
self.motor.run_to_abs_pos(position_sp=0, speed_sp=speed, stop_action="hold")
print("Exiting BPM process.", file=sys.stderr)
為什么是侏儒?
簡單的。我是一個(gè)爸爸,所以壞雙關(guān)語很好!此外,侏儒很酷,它使創(chuàng)作看起來更有趣。
搭建樂高
樂高積木搭建很簡單,但我在Bricklink Studio 2.0文件中包含了搭建說明。您需要的文件位于“原理圖”部分下。
要連接小矮人,您需要發(fā)揮內(nèi)在的工藝技能。對于我的,我只是用一些開口銷連接了一些硬紙板,然后將侏儒圖片粘貼到硬紙板上。
EV3 代碼
該項(xiàng)目不需要任何 Alexa Skill 代碼,因?yàn)樗蕾囉诿慨?dāng)播放歌曲時(shí)通過標(biāo)準(zhǔn)接口提供給 EV3 的信息。享受!
下一步去哪里?
Alexa MusicData界面只是一個(gè)測試版,只包括節(jié)奏。我希望它包含更多關(guān)于未來正在播放的曲目的數(shù)據(jù),這樣你就可以做其他事情,例如圣誕機(jī)器人在播放圣誕類型音樂時(shí)開始跳舞。在那之前,你可以看到你能用節(jié)奏做什么。
?
- 光子日歷通知器開源構(gòu)建
- 聲控皂液器開源構(gòu)建
- 可穿戴節(jié)拍器開源分享
- Arduino節(jié)拍探測器
- 國際Begleitautomat(節(jié)拍音序器)開源
- 使用555定時(shí)器的簡單節(jié)拍器
- 開源網(wǎng)絡(luò)協(xié)議分析器WireShark軟件下載 15次下載
- 使用PIC單片機(jī)驅(qū)動(dòng)節(jié)拍器 4次下載
- 如何使用AT89C51單片機(jī)實(shí)現(xiàn)節(jié)拍器的設(shè)計(jì)與制作 20次下載
- 節(jié)拍器設(shè)計(jì)與制作 26次下載
- 電子節(jié)拍器 9次下載
- 聲光電子節(jié)拍器原理圖 24次下載
- 由CPLD控制實(shí)現(xiàn)的音樂節(jié)拍器
- 關(guān)于音樂電子節(jié)拍器設(shè)計(jì)功能的思考
- 多功能節(jié)拍機(jī)電路及制作
- PyTorch神經(jīng)網(wǎng)絡(luò)模型構(gòu)建過程 276次閱讀
- 清華等開源「工具學(xué)習(xí)基準(zhǔn)」ToolBench,微調(diào)模型ToolLLaMA性能超越ChatGPT 481次閱讀
- 節(jié)拍頻率指示器電路分享 744次閱讀
- 前沿開源技術(shù)領(lǐng)域的開源大數(shù)據(jù)一一解讀 1006次閱讀
- 尋找開源硬件成功的觸發(fā)器 636次閱讀
- 節(jié)拍器聲音發(fā)生器的電子電路圖 2248次閱讀
- 基于LEON開源微處理器IP軟核實(shí)現(xiàn)SoC系統(tǒng)基本平臺的構(gòu)建 2624次閱讀
- 鴻蒙內(nèi)核源碼分析之時(shí)鐘節(jié)拍的實(shí)現(xiàn)方式 1996次閱讀
- 構(gòu)建開源芯片生態(tài)需要什么要的 4327次閱讀
- 手把手教你如何構(gòu)建一個(gè)能夠識別歌曲類型的神經(jīng)網(wǎng)絡(luò) 4807次閱讀
- NASA的開源軟件是什么?NASA的開源軟件的詳細(xì)分析 7188次閱讀
- μC/OS—II中的時(shí)鐘節(jié)拍管理機(jī)制技術(shù)分析 1345次閱讀
- 用CD4017組裝的電子節(jié)拍器 5764次閱讀
- 多功能呼救器電路原理圖 2988次閱讀
- 聲光節(jié)拍器電路圖 3707次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多