查看: 1260|回复: 10

[未解决] "萌新提问"arduino uno无法发送midi信号

[复制链接]
  • TA的每日心情
    开心
    2019-12-2 13:32
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2019-11-30 04:07 | 显示全部楼层 |阅读模式
    大佬们好,急需求助,萌新一枚,苦不堪言。我想用arduino uno板子发送midi信号来制作midi控制器,用的是mac笔记本 参照各种各样的教程接好了midi5针母座,用一下的代码,并且用了hairless-midi转换但是没有效果。

    代码:

    void setup() {
      Serial.begin(9600);
    }

    void loop() {
      for (int note = 0x1E; note < 0x5A; note ++) {
        noteOn(0x90, note, 0x45);
        delay(100);
        noteOn(0x90, note, 0x00);
        delay(100);
      }
    }
    void noteOn(int cmd, int pitch, int velocity) {
      Serial.write(cmd);
      Serial.write(pitch);
      Serial.write(velocity);
    }



    然后在hairless-midi里 波特率调为9600,都设置好里,可以看到midi信息,但是我用garageband或者logic测试了下都没有midi信号进来。

    midi的协议不是波特率为31250吗,hairless-midi里面没有31250的波特率设置,所以我统一设置成了9600,会不会是这个引起的?但是我只用arduino设置波特率31250的话,也是没有midi信号的。

    急需高人一点通。

    1575057824470.jpg
    1575057646514.jpg
  • TA的每日心情
    开心
    2019-12-2 13:32
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2019-11-30 04:09 | 显示全部楼层
    我用的是双头5针midi转usb接入电脑的,midi我插的是out的那一头,hairless-midi设置好后,可以看到uno版上的tx在运行,但是电脑上没信号

    该用户从未签到

    发表于 2019-11-30 16:40 | 显示全部楼层
    推进直接去作者网站询问

    另外,mac 如果支持 usb midi 可以考虑一下直接上 leonardo 模拟Usb midi
  • TA的每日心情
    开心
    2019-12-2 13:32
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2019-11-30 16:52 | 显示全部楼层
    Zoologist 发表于 2019-11-30 16:40
    推进直接去作者网站询问

    另外,mac 如果支持 usb midi 可以考虑一下直接上 leonardo 模拟Usb midi ...

    非常感谢你的回复!
    我觉得我可以用我的PC电脑来进行一下重复的操作试试。
    因为教程里作者也是用的UNO板子实现了,目前想法上的话暂时还是想试试uno板子来承载MIDI信号,实在没办法的话我还是按你说的买个leonardo的板子。

    该用户从未签到

    发表于 2019-11-30 21:12 | 显示全部楼层
    38786562@qq.com 发表于 2019-11-30 16:52
    非常感谢你的回复!
    我觉得我可以用我的PC电脑来进行一下重复的操作试试。
    因为教程里作者也是用的UNO板 ...

    主要是你做的这两个都很偏,
    搞不好国内没有人这样搭配过,所以几乎没有中文资料
  • TA的每日心情
    开心
    2019-12-2 13:32
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2019-12-2 00:56 | 显示全部楼层
    Zoologist 发表于 2019-11-30 21:12
    主要是你做的这两个都很偏,
    搞不好国内没有人这样搭配过,所以几乎没有中文资料 ...

    谢谢你!我觉得我也可以试试用不同的方式来实验同样的结果,萌新没必要折磨自己 哈哈哈
  • TA的每日心情
    开心
    2020-7-5 00:22
  • 签到天数: 1180 天

    [LV.10]以坛为家III

    发表于 2019-12-2 08:45 | 显示全部楼层
    你确定MIDI不用库吗?
    http://projectgus.github.io/hairless-midiserial/#downloads
    https://github.com/FortySevenEff ... /releases/tag/4.3.1

    在文件midi_Settings.h里,有这样的语句:
        static const long BaudRate = 31250;
    所以,应该是:你自己设置9600是没用的。
  • TA的每日心情
    慵懒
    2020-7-3 09:34
  • 签到天数: 736 天

    [LV.9]以坛为家II

    发表于 2019-12-2 10:52 | 显示全部楼层
    我也记得好像是要下载Arduino MIDI的库的,你这样自己直接定义是没用的
  • TA的每日心情
    开心
    2019-12-2 13:32
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2019-12-2 13:12 | 显示全部楼层
    O_oYYQ 发表于 2019-12-2 10:52
    我也记得好像是要下载Arduino MIDI的库的,你这样自己直接定义是没用的

    我有下载MIDI库也引用了,还是没有作用。
  • TA的每日心情
    开心
    2019-12-2 13:32
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2019-12-2 13:18 | 显示全部楼层
    上海老王 发表于 2019-12-2 08:45
    你确定MIDI不用库吗?
    http://projectgus.github.io/hairless-midiserial/#downloads
    https://github.com/F ...

    感谢你给的参考链接,我想我一定是缺了某个环节, 看了很多相关资料,设置9600是为了用在hairless-midi里,自己引用MIDI库设置31250,这些都无法发送出信号,所以一直为此头疼。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    5分钟带你快速了解新一代开发板:M5STACK
    5分钟带你快速了解新一代
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    创客火首发无人机编队套装,开启不一样的人工智能教育
    创客火首发无人机编队套装
    2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
    用 PyQt GUI 界面下的旋钮控制舵机角度
    用 PyQt GUI 界面下的旋钮
    新人报道, 我想用 PyQt 下的 Dial 旋钮模块来控制舵机的角度。如果一切正常,这个 G
    blinker连接树莓派失败
    blinker连接树莓派失败
    错误原因如下图,想问一下大家这个该怎么解决?
    Python3接入Blinker失败
    Python3接入Blinker失败
    运行示例程序,只把auth换成真实的auth,就出现报错。 大佬们看一下这个是啥情况
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表