後藤を持ちながら

後藤を持ちながら

吹奏楽から仮面ライダーまで

昨日、職場がファミマになった

こんにちは、トサカです。

現在はプログラマの卵として、日々精進しています。

そんな中、arduinoという基盤が面白かったので、今日はそれについて話したいと思います。

 

arduinoとは?

 

まず、arduinoについて説明しましょう。

端的に言えば「簡単に回路を作れる基盤」と説明できます。

 

f:id:avoirGoTo:20180531204542j:image

 

これがそのarduinoです。

この写真の上下にある黒い穴にケーブルの一端を差し込み、別のボード上で出来上がっている回路にそのワイヤーをつなげてプログラムの指示どおりに動かします。

「基盤」と聞くと、はんだごてを使っていろんなもの(抵抗器やLEDなど)をくっつけて初めて使えるというイメージが強いのですが、これを使えばそんな手間は必要なくなります。

 

f:id:avoirGoTo:20180531211110j:image

 

これがarduinoを使った回路装置のイラストです。(こう見ると本当に配線のセンスないっすね…)

この白い板(ブレッドボード)の黒いブツブツに、抵抗器の足やらarduinoから引っ張ってきたケーブルの先端やらをぶっさせば、容易に回路が完成します。

 

arduinoの左上にある銀色の四角形がUSBメモリ差し込み口です。

ここからUSBを差し込み、パソコンで書いたプログラムをこのarduinoに送ることができるのです。

これによって回路上にあるさまざまなオブジェクトが、コードで書かれた命令通りに動きます。

 

職場に鳴り響く入店音

 

自分たち新入社員はこの機器で研修を行っていました。

課題内容は「ボタンを押してLEDを光らせ、スピーカーから音を鳴らす」というものでした。

書くべきプログラムはこれまでの課題で取り組んできたものよりは容易なものでしたが、回路の組み立てという一手間があったためそこに時間を取られました。

 

自分は、上司の方から様々なサポート、アドバイスを受けながらなんとか完成させることができました。しかし、次の課題に手をつけるにはいささか時間がない。

そこで私はこのスピーカーをちょっといじってみようという考えに至りました。

 

プログラムを書く人は、スピーカーに対して「周波数と音価」の二つを指示することができます。

簡単に言えば「どんな高さの音を、どれくらい長く出すか」を自在に操ることができます。

電子音でよく聞くメロディといえば、もうあれしか思いつかないですよね。

 

f:id:avoirGoTo:20180531212055j:image

 

というわけでファミマの入店音を演奏するようプログラムを書き、実際に職場で鳴らしてみました。

黙々と課題に取り組んでいた同期が一斉に自分の方を振り向きました。当たり前か。

真面目そうな上司の方を含めみんな笑ってくれたので、内心ホッとしました。怒られなくてよかった。

 

すこしだけ、ファミマ入店音のプログラムの説明をします。上の写真がそのプログラムです。

toneというところの一番右端に書かれてある数字が音の周波数(ヘルツ)を、delayの右に書かれた数字が音の長さ(ミリ秒)を示しています。

 

数字同士の関連性が非常に綺麗であり、見ていて楽しいです。

 

例えば、3番目の音が低い「ラ=440Hz」で、6番目の音が高い「ラ=880Hz」です。

また、八分音符の音を出す長さを二倍にすると、四分音符になります。

これらの数字は、理屈ではわかっているけれども音楽を演奏する上ではあまり認識できない数字だと思います。

 

この数字たちを見て、そして実際にプログラムを動かしてみると、音楽がいかに整理された数学的な理論のもとで成り立っているかがよくわかります。

周波数をちょうど二倍にして書くと一オクターブ上がるという当たり前の事実でも、こうして数値で表現してみるとその美しさに魅了されます。

もし、周波数を可視化できる機械が過去に存在していたら、楽譜のフォーマットはもっと変化していたのだろうか…なんて考えながらこのコードを書いていました。

 

今回は時間がなく、ファミマの入店音だけで終わってしまったのですが、もしまたこれを自由に触れる機会があれば、今度はもっと凝った曲を演奏させてみたいです。楽しかった〜。

 

ではでは

 

51:53