电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>节拍器开源构建

节拍器开源构建

2023-07-10 | zip | 0.23 MB | 次下载 | 免费

资料介绍

描述

介绍

该项目将创建一个节拍器,它可以随着来自 Alexa 设备的亚马逊音乐节拍移动。添加图片,它就变成了……METRO-GNOME!

它是 LEGO MINDSTORMS 语音挑战任务的简单扩展。在你开始这个项目之前,你需要完成设置,至少完成任务 1 和 2。这将涵盖基础知识,所以我不会在这里重复这些说明。

Alexa 界面目前只提供音乐节奏,但希望将来能扩展到提供有关正在播放的曲目的更多信息我真的希望我的项目对流派甚至特定歌曲有不同的反应,但目前还没有这些信息。

注意:我认为这仅适用于现阶段的亚马逊音乐,因此如果您使用其他音乐服务,则不会提供速度数据。

通过与她一起完成示例任务,我帮助我女儿开始了她的项目。任务 2 让我很烦,因为动作似乎与节拍不合拍。我想我会创建一个简单的项目来改进这种能力,这就是结果。

这与任务 2 有何不同?

如果您查看任务 2 中的 _dance_loop 代码,它会计算 milli_per_beat,然后乘以 0.65(!)。我猜这个调整是为了让每个电机每拍运行 150 毫秒。结果是一个近似值,但有误差。如果您仔细观察整个曲目中的动作是否保持节拍,则此错误很明显。

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)

对于我的,我创建了一个采用不同方法的 _beat_loop。我在没有调整的情况下计算每个循环的秒数,并使用计时器来确保每个电机运动都与节拍同步。为了允许更快地移动更高节奏的曲目,电机速度也根据每分钟的节拍进行缩放。这可确保电机在进行下一次运动之前到达终点。

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)

为什么是侏儒?

简单的。我是一个爸爸,所以坏双关语很好!此外,侏儒很酷,它使创作看起来更有趣。

搭建乐高

乐高积木搭建很简单,但我在Bricklink Studio 2.0文件中包含了搭建说明。您需要的文件位于“原理图”部分下。

要连接小矮人,您需要发挥内在的工艺技能。对于我的,我只是用一些开口销连接了一些硬纸板,然后将侏儒图片粘贴到硬纸板上。

 
 
 
pYYBAGOStxyAMCitAAsnDuMlAMg820.jpg
 
1 / 2
 

EV3 代码

该项目不需要任何 Alexa Skill 代码,因为它依赖于每当播放歌曲时通过标准接口提供给 EV3 的信息。享受!

 

下一步去哪里?

Alexa MusicData界面只是一个测试版,只包括节奏。我希望它包含更多关于未来正在播放的曲目的数据,这样你就可以做其他事情,例如圣诞机器人在播放圣诞类型音乐时开始跳舞。在那之前,你可以看到你能用节奏做什么。

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  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次下载  |  免费