Yosukeのアイコン画像
Yosuke 2022年09月22日作成 (2022年10月14日更新)
製作品 製作品 閲覧数 1039
Yosuke 2022年09月22日作成 (2022年10月14日更新) 製作品 製作品 閲覧数 1039

Spresenseと身近なもので作る誰でも弾けるピアノ🎹

Spresenseと身近なもので作る誰でも弾けるピアノ🎹

【2022年 SPRESENSE 活用コンテスト】< エンタメ部門 >にエントリーするための作品として
誰でも弾けて、誰でも作れて、誰でもデコれるピアノ🎹を作ってみました。

以下、作品のコンセンプトと部品表、作成方法、回路図、ソースコードです。

コンセプト

弾き語りをされたことがあるでしょうか。
楽器を弾きながら歌うわけですが、
楽器の演奏と歌唱というマルチタスクを
同じ力配分でこなすのは、初心者には結構難しい😖です。

弾き語りを始めようとするときには、ピアノでもギターでも、
まずはコード(和音)の押さえ方の覚え
コードの移行がスムーズにできるように繰り返し練習する必要があります。
私も最初は頑張って練習していたのですが、
次第に面倒なことはすっ飛ばして、一足飛びに気持ちよく歌えるようになりたいと思うようになりました。
そこで、作ったのが初心者が適当に弾いても良い感じの伴奏になる楽器です。

コード進行をSpresenseのメモリに保存する方法

まずは、弾きたい楽曲のコード進行を自分で覚えなくて良いように、
計算機(今回はSpresense)に記憶してもらいます。
例えば、ある楽曲のコード進行が
【F#m→AonE→D→Bm→DonE→E7→A→AonG#→F#m7→AonE→D→...】
と続く場合、これを計算機に取り込みたいわけですが、
このままでは計算機が認識しにくいので、
計算機が扱いやすいデータに変換(エンコード)してあげる必要があります。
そこでコード進行を0,1などの数字で表せるように工夫します。
【10/14 中略】

音階の割り当て方

次に、コード(和音)の押さえ方を覚える手間を省けるよう、
計算機に自動で音階を鍵盤に割り当ててもらいます。
【10/14 中略】

コード進行の進ませ方

あとは、コード進行を歌に合わせて進ませるだけです。
【10/14 中略】

説明と実演の動画

この辺りの説明を動画でまとめてみました。是非ご覧ください。

ここに動画が表示されます

コントロールボタン

コントロール用のボタンとして8個ボタンを用意しています。便利な機能盛りだくさん。
【10/14 中略】

作り方

コード(和音)の勉強も練習もしたくない。
そういう面倒なことは全部計算機(今回はSpresense)に任せたいという方は、
是非以下の手順を参考に作ってみてください。

使用したもの

できるだけ誰でも作成が可能なように100円均一で売られている素材、工具を中心に制作いたしました。

素材名・部品名 個数
カラーボード10mm厚(ダイソー) 数枚
カラーボード5mm厚(ダイソー) 数枚
はさみ 1挺
カッター 1本
銅線0.28mm(ダイソー) 数個
銅線0.55mm(ダイソー) 1個
精密作業用はんだ(ダイソー) 数本
はんだごて 1本
木工用ボンド(ダイソー) 1本
2リングファイルフォルダー(ダイソー) 1冊
銅箔テープ幅38mm長さ5m(Nitto) 2個
薄い紙製両面テープ(ダイソー) 1個
厚い両面テープ(ダイソー) 1個
方眼のついた工作用紙5枚入り(ダイソー) 1つ
のり 任意
プリンター 任意
SPRESENSE 本体 1つ
SPRESENSE 拡張基盤 1つ
長めのブレッドボード 2つ
短いブレッドボード 1つ
ジャンパワイヤ 任意
小信号用ダイオード 1N4148 128本
74HC138(ロジックIC) 1個
タクトスイッチ 8個

筐体のつくり方

筐体は、手に入れやすく加工のしやすさからダイソーのカラーボードを使用することにしました。
キャプションを入力できます
上のカラーボードを横に二枚並べて、土台となる横52.6cm、縦17cmに切り取ります。

以下の2枚のPDFをダウンロードして、プリントアウトします。
[自作ピアノ【据え置き】54鍵(2.2cm×10cm)  0.2cm間隔 底面 pt.1.pdf](http://keiopress.coolblog.jp/自作ピアノ【据え置き】54鍵(2.2cm×10cm)  0.2cm間隔 底面 pt.1.pdf)
[自作ピアノ【据え置き】54鍵(2.2cm×10cm)  0.2cm間隔 底面 pt.2.pdf](http://keiopress.coolblog.jp/自作ピアノ【据え置き】54鍵(2.2cm×10cm)  0.2cm間隔 底面 pt.2.pdf)

先ほど切り出したカラーボードに、のりなどの接着剤を使い貼り付けます。
キャプションを入力できます

鍵盤と鍵盤の間の横2mm縦10cmの部分を全てカッターで切り落とします。
横10cm縦2cmをカラーボードから切り出し、写真のように土台の両サイドに接着します。

今度は5mm厚の薄いカラーボードから、中面となる横54.6cm、縦10cmを切り取ります。

以下の3枚のPDFをダウンロードして、プリントアウトします。
[自作ピアノ【据え置き】54鍵(2.2cm×10cm)0.2cm間隔 中面 pt.1.pdf](http://keiopress.coolblog.jp/自作ピアノ【据え置き】54鍵(2.2cm×10cm)  0.2cm間隔 中面 pt.1.pdf)
[自作ピアノ【据え置き】54鍵(2.2cm×10cm)  0.2cm間隔 中面 pt.2.pdf](http://keiopress.coolblog.jp/自作ピアノ【据え置き】54鍵(2.2cm×10cm)  0.2cm間隔 中面 pt.2.pdf)
[自作ピアノ【据え置き】54鍵(2.2cm×10cm)  0.2cm間隔 中面 pt.3.pdf](http://keiopress.coolblog.jp/自作ピアノ【据え置き】54鍵(2.2cm×10cm)  0.2cm間隔 中面 pt.3.pdf)

そして先ほどの中面に貼り付けます。
鍵盤と鍵盤の間の横2mm縦3cmの部分を全て切り落とします。
両端に横3cm縦1cmのカラーボードを接着します。
すると下のような写真になります。
キャプションを入力できます

中面の裏に固めのものを貼っておくと良いかもしれません。
キャプションを入力できます

鍵盤と鍵盤の間の2種類の間仕切りを作っていきます。
1つ目は、横2cm縦2cmの工作用紙を数枚重ねてセロテープで固定したもの(26個)。
キャプションを入力できます
2つ目は、横3cm縦3.7cmの工作用紙を数枚重ねてセロテープで固定したもの(26個)。
キャプションを入力できます

この間仕切りを土台に差していきます。小さい間仕切りは手前に。
キャプションを入力できます
大きい間仕切りは奥に。
キャプションを入力できます

最後にカラーボードから、上面となる横54.6cm縦3cmを切り取ります。
キャプションを入力できます

これで筐体は完成です。

鍵盤のつくり方

鍵盤も、手に入れやすく加工のしやすさからダイソーの2リングフォルダーファイルを使わせていただきました。
まずは、以下のリンクからダウンロードしたPDFをプリントアウトして、
2リングフォルダーファイルに貼ります。
自作ピアノ【据え置き】54鍵(2.0cm×10cm)  0.2cm間隔.pdf
キャプションを入力できます
キャプションを入力できます
そして、PDFの概形に沿って、4種類の鍵盤を切り出します。
キャプションを入力できます

スイッチの作り方

次に鍵盤の下に設置するスイッチを自作していきます。
市販のキーボードは2つのスイッチを各鍵盤に設置して、どのくらいの強さで鍵盤が押されたかをセンシングしています。
そのため、自作キーボードもそれに倣って、タクトスイッチのような押しボタンスイッチを使いたいところなのですが、キーボードを試作したところ、鍵盤を押すたびにカチッカチッと音がして演奏の邪魔になるほか、薄くもできないということが分かったので、スイッチも自作することにしました。

スイッチまで自作する猛者は自分だけだろうと自負しております😅(笑)

さて、出来るだけ身近にあるもので目的に合うスイッチを作ろうと、
実験を重ねた結果、ダイソーの工作用紙と銅線、それと銅箔テープの組み合わせが最適解だろうという結論に至りました。
ポイントは2つのスイッチを垂直に重ねた構造にすることで、鍵盤を押した時に、
それぞれのスイッチがONになり、その時間の差分をとって、どれだけ強く押されたかをセンシングすることです。
時間が短ければ強く押されているので、その時間に応じて大きな音量(ベロシティ)で音を出し、時間が長ければ弱く押されているので、その時間に応じて小さな音量で音を出す仕組みです。
以下、大きなスイッチと小さなスイッチの作り方です。どちらのスイッチも寸法が違うだけで基本的な作り方は一緒です。

小さなスイッチを例に説明します。
まず工作用紙から横1cm縦4cmを2つ切り出します。
一方は上用で、もう一方は下用となります。
キャプションを入力できます

それぞれ真ん中で折り曲げます。
キャプションを入力できます

上用から作っていきます。
銅箔テープから長さ3.5cm幅1mmを8本切り出します。
キャプションを入力できます

これを上用の工作用紙に写真のように貼っていきます。
キャプションを入力できます

これを全部で4本貼っていき、写真のように2本を短くします。
キャプションを入力できます

裏返します。
キャプションを入力できます

短いテープを折り曲げます。
キャプションを入力できます

折り曲げた先を銅線でつなぎます。はんだごての使い方に注意をしてください。
キャプションを入力できます

つないだはんだに更に20cmの銅線を写真のようにつなぎます。
キャプションを入力できます

キャプションを入力できます

20cmの銅線の根元に短いセロテープを貼り、半分に折り返して銅線を密封します。
キャプションを入力できます

短いセロテープに接続する形でセロテープを貼り、全線を保護します。
キャプションを入力できます

銅線の先端は6~7mm出しておきます。
キャプションを入力できます

余分なセロテープをカットして、細くしておきます。
キャプションを入力できます

先ほどハンダ付けした箇所にセロテープを貼って保護しておきます。
キャプションを入力できます

今度は長い方の銅箔テープを折り曲げます。
キャプションを入力できます

折り曲げた先に銅線をはんだでつなげます。
キャプションを入力できます

つなげたっ銅箔テープのどちらかに写真のようにハンダ付けして2cmほどの銅線をつなぎます。
キャプションを入力できます

そこにセロテープを貼り、面を保護します。
キャプションを入力できます

裏返します。
キャプションを入力できます

銅箔テープから1cm×1.9cmのテープを切り出します。
キャプションを入力できます

これを写真のようにスイッチに貼ります。
キャプションを入力できます

端から銅箔テープがはみ出ていたら綺麗にカットしておきます。
キャプションを入力できます

これで上用のスイッチは完成です。あとで、下用のスイッチと合体させるので、保管しておきます。

下用のスイッチを作っていきます。
こちらも上用のスイッチと同様に、銅箔テープを貼っていきます。
キャプションを入力できます

写真のように2本は短くします。
キャプションを入力できます

裏返して、短い銅箔テープを折り曲げます。
キャプションを入力できます

銅線でつなぎます。
キャプションを入力できます

銅箔テープの片方に20cmの銅線をつなぎます。
キャプションを入力できます

銅線の根元に短いセロテープを貼ります。
キャプションを入力できます

セロテープを継ぎ足す形で、前線をセロテープで密封します。先端は少し残しておきます。
キャプションを入力できます

余ったセロテープはカットして、細くしておきます。
キャプションを入力できます

上にセロテープを貼って、保護します。
キャプションを入力できます

長い方の銅箔テープを折り曲げます。
キャプションを入力できます

先端を銅線でつなぎます。
キャプションを入力できます

裏返します。
キャプションを入力できます

横1cm縦1.9cmの銅箔テープを貼ります。
キャプションを入力できます

裏から見ると銅箔テープがはみ出ているのが分かりますね。
キャプションを入力できます

綺麗にカットします。
キャプションを入力できます

この面に両面テープを貼ります。
キャプションを入力できます

上用のスイッチと合体させます。
キャプションを入力できます

上用のスイッチから飛び出した銅線を下用のスイッチのはんだにつなげます。
キャプションを入力できます

はみ出た銅線をカットしておきます。
キャプションを入力できます

今つないだ銅箔テープに更に20cmの銅線をつなぎます。
キャプションを入力できます

銅線をセロテープで保護します。
キャプションを入力できます

先端を少し残しておきます。
キャプションを入力できます

余ったセロテープをカットして、下用のスイッチにセロテープを貼って保護します。
キャプションを入力できます

ようやく完成!!
横から見た写真
キャプションを入力できます

斜め上から見た写真
キャプションを入力できます

正直このスイッチに一番頭を使いましたし、一番時間がかかりました。最初に色々なスイッチを自作して実験して、何十個とうまくいかないスイッチを作り、ようやくこの形でいけそうとなってから、54個のスイッチを1個1時間かかって作りました。しかし、時間と労力をかけただけあって、ただ単にノートオン、ノートオフをするだけのスイッチではなく、どのくらいの強さで押されたかをセンシングできる納得いくスイッチに仕上がりました。

電子回路について

回路の方は、SPRESENSEを中心に、ICは74HC138のみを使い128個のスイッチをキーマトリクス回路で実装いたしました。
スイッチ1個につきダイオードを1本ずつ付けて、スイッチの同時押しを可能にしています。入力の方も74HC165などでエンコードして、ピンを節約しようかと思ったのですが、SPRESENSEは使えるI/Oピンが沢山あったため、結果的に74HC138のみとなり、つくりやすく出来たかと思います。ただ、今回、回路図のSW_0-1~SW_0-9とSW_0-64、SW_0-65は使っていませんのでご注意ください。

回路図

キャプションを入力できます

キャプションを入力できます

キャプションを入力できます

筐体、スイッチ、電子回路の組み上げ

ピアノを仕上げていきます。
土台の上に両面テープを貼り、スイッチを設置していきます。
キャプションを入力できます

スイッチの上に両面テープを貼った鍵盤を乗せて、固定します。
キャプションを入力できます

キャプションを入力できます

スイッチと鍵盤を設置したら、スイッチの銅線2本を74HC138に接続します。
キャプションを入力できます

銅箔テープから適当な大きさのテープを7枚切り取って、それぞれに5点仮ハンダをしておきます。
キャプションを入力できます

右から4つずつスイッチの銅線を写真のように接続して、SPRESENSEに接続します。
キャプションを入力できます

キャプションを入力できます

全部終えると写真のようになります。
キャプションを入力できます

土台の上に、中面を乗せます。
キャプションを入力できます

同様にスイッチと鍵盤を乗せ、各スイッチの2本の銅線を74HC138に接続します。
キャプションを入力できます

適当な大きさの銅箔テープを7枚切り取り、仮ハンダをしておきます。
キャプションを入力できます

キャプションを入力できます

右からスイッチを4つずつ接続して、SPRESENSEにつなげます。
キャプションを入力できます

全て繋げたら、写真のようになります。
キャプションを入力できます

上面を乗せます。
キャプションを入力できます

コントロールスイッチを作ります。
8個タクトスイッチが乗せられる大きさの基盤を用意します。
今回は白い紙を貼っておきます(任意)。

キャプションを入力できます

キャプションを入力できます

裏面にハンダ付けします。
キャプションを入力できます

銅線を接続します。
キャプションを入力できます

コントロールスイッチの上から出てる8本の線を74HC138に接続し、
左から出てる線をSPRESENSEにつなぎます。
キャプションを入力できます

完成!!!

デコ例

あとは、お好きなようにデコレーションして、愛着の深まるようなオリジナルなピアノに仕上げましょう。

今回は、ダイソーさんの千代紙を鍵盤部に貼って仕上げます。
【10/14 中略】

キャプションを入力できます

以下にソースコード(C++)を掲載致します。
著作権への配慮のため、タイトル、歌手名、念のためコード進行などは省いております。
【10/14 中略】

1
ログインしてコメントを投稿する