电子发烧友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使用单片机实现七人表决器的程序和仿真资料免费下载
  2. 2.96 MB   |  44次下载  |  免费
  3. 2Keysight B1500A 半导体器件分析仪用户手册、说明书 (中文)
  4. 19.00 MB  |  4次下载  |  免费
  5. 3BT134双向可控硅手册
  6. 1.74 MB   |  2次下载  |  1 积分
  7. 4一种新型高效率的服务器电源系统
  8. 0.85 MB   |  1次下载  |  1 积分
  9. 5台达VFD-M系列变频器驱动板原厂原理图
  10. 0.17 MB   |  1次下载  |  免费
  11. 6WTS-100(1.1) UWB 信标定位系统 彩页
  12. 540.48 KB  |  1次下载  |  免费
  13. 7双向DC-DC转换器用户指南
  14. 2.98MB   |  1次下载  |  免费
  15. 8联想E46L DAOLL6笔记本电脑图纸
  16. 1.10 MB   |  1次下载  |  5 积分

本月

  1. 1使用单片机实现七人表决器的程序和仿真资料免费下载
  2. 2.96 MB   |  44次下载  |  免费
  3. 2UC3842/3/4/5电源管理芯片中文手册
  4. 1.75 MB   |  15次下载  |  免费
  5. 3DMT0660数字万用表产品说明书
  6. 0.70 MB   |  13次下载  |  免费
  7. 4ST7789V2单芯片控制器/驱动器英文手册
  8. 3.07 MB   |  11次下载  |  1 积分
  9. 5TPS54202H降压转换器评估模块用户指南
  10. 1.02MB   |  8次下载  |  免费
  11. 6STM32F101x8/STM32F101xB手册
  12. 1.69 MB   |  8次下载  |  1 积分
  13. 7TPS92682-Q1帧定义和示例
  14. 891.71KB   |  6次下载  |  免费
  15. 8HY12P65/HY12P66数字万用表芯片规格书
  16. 0.69 MB   |  6次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935119次下载  |  10 积分
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420061次下载  |  10 积分
  5. 3Altium DXP2002下载入口
  6. 未知  |  233084次下载  |  10 积分
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191367次下载  |  10 积分
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183335次下载  |  10 积分
  11. 6labview8.5下载
  12. 未知  |  81581次下载  |  10 积分
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73807次下载  |  10 积分
  15. 8LabVIEW 8.6下载
  16. 未知  |  65987次下载  |  10 积分