M5Stack/M5StickC와 nüno를 사용하여 MIDI keyboard를 만들어 보았습니다.

소개



안녕하세요. 노라 해킹 팀 자키 -라고합니다.
이 기사는 2019년 7월 31일에 개최된 「 e-textile + 비 코딩 IoT 스터디 」에서 LT 등단했을 때 사용한 도전 천 터치 센서 모듈 nüno 을 MIDI keyboard 화한 메모입니다.

※ LT 등단자료는 여기

개념



nüno를 사용하여 MIDI 키보드를 만들려는 배경 (= 개념)을 메모에 남겨 둡니다.

핸즈온에 참가



위의 공부회에서 LT 등단하기 전에 2019년 4월 26일에 「MIDI와 MQTT를 사용하여 원격 연주하는 메커니즘을 만들어 봅시다.」과 2019년 6월 20일에 「MIDI와 MQTT를 사용하여 원격 연주하는 메커니즘을 만들어 보자. 했던 것이 큽니다.
링크처에 핸즈온 자료가 공개되어 있으므로, 구조에 대한 자세한 내용을 확인할 수 있습니다.

nüno의 사양을 조사했다


  • 커패시턴스 터치 센서 모듈(mtch6102) 사용
    →사용한 적 없어-.
  • 커넥터 GROVE 커넥터(I2C) 포함
    →오! 어떻게 든 그렇게!
  • 터치 채널 수 8 (mtch6102의 사양은 최대 채널 수 15)
    →키보드로 할 수 있는 것은?



  • 커패시턴스 터치 센서 모듈(mtch6102)의 특성



    M5Stack을 사용하여 샘플 코드을 이동하면 디스플레이에 숫자와 선 그래프가 표시됩니다. (업데이트 간격: 100msec)
    아무것도 하지 않는 상태에서는 수치는 거의 0(제로)입니다만, 도전포에 손을 닿으면 꽤 노이즈가 많아 폭이 큰 것을 알 수 있습니다.
    센서치를 그대로 MIDI 벨로시티치로서 사용하면 소리가 파도치는 것처럼 들려 버리기 때문에, 역치를 이용해 온·오프 하는 사양으로 했습니다.
    또한 임계값이 1개이면 임계값 부근에서 온/오프를 반복해 버려 소리가 연타해 들려 버리기 때문에, 임계치를 2개(상한 임계치, 하한 임계치)로 했습니다.



    소재


  • 전도성 천 터치 센서 모듈 nüno (정전 용량 터치 센서 모듈 mtch6102)
  • M5Stack 또는 M5StickC
  • Grove 케이블
  • MQTT 브로커 (Mosquitto, Shiftr.io 등)
  • PC(Mac 또는 Windows)
  • MIDI 음원 (포켓·미크 등. 없어도 소프트웨어 MIDI 음원 ( 106.js 등)로 대용 가능.)

  • 구성



    송신측은 M5Stack 과 도전 천 터치 센서 모듈 nüno 를 Grove 케이블로 I2C 접속해, 정전 용량 터치 센서 모듈로부터 취득한 데이터 (채널 번호와 수치)에 따라 MIDI 신호 (음계와 음량 (프로그램에서는 MIDI 채널은 고정))을 MQTT 브로커로 보냅니다.
    수신 측은 PC 에 MIDI 음원을 접속 (MIDI 음원이 없는 경우는 소프트웨어 MIDI 음원을 사용) 해, midi2mqtt 프로그램을 사용해 MQTT 브로커로부터 수신한 MIDI 신호를 MIDI 음원에 입력하고 있습니다.


    프로그램



    M5Stack 샘플 코드에 Wi-Fi 연결 기능과 MQTT 브로커 간의 연결 기능 (Publish/Subscribe)을 추가했습니다. 또한 MIDI 벨로 시티 값을 조정하는 기능을 포함합니다.
  • M5Stack 버전
    htps : // 기주 b. 코 m/키타자키/누노_케 y보아 rd

  • M5StickC와 obniz에도 포팅했습니다.
  • M5StickC 버전
    htps : // 기주 b. 코 m/키타자키/누노_케 y보아 rd2

  • obniz 판
    htps : // 기주 b. 코 m / 키타 자키 / 누노 _ 오 b에 z



  • 데모 동영상



    데모에서는 단음만이지만, 복수 동시 발음에도 대응하고 있습니다.


    요약



    평소와 다른 도전 천으로 만든 키보드로 음악을 연주해 보지 않겠습니까? !
    좋은 M5Stack & nüno 라이프를!

    좋은 웹페이지 즐겨찾기