見出し画像

レコードプレーヤーの作成:Arduinoのスケッチを載せてみた!

Arduinoを勉強するにあたりネットで調べていると、自分が実現したいと思うスケッチ(プログラム)のサンプルがたくさん出てきて、コピペして使うのは自由という記事がたくさん出てくる。
お陰で、DCモーターをモータードライバーを使って回す方法や、フォトレジスタから取り込んだ回転数を読み取るスケッチなどを参考に自分なりにレコードプレーヤーが動くように作成した。

元々、Arduinoの本体自身もオープンソースハードウェアという概念で、誰でも同じ仕様で類似品の販売ができるらしい。

従って、今の時代はゼロから学校で学ばなくても、C++のサンプルをもとに自分であーでもこーでもやるとそこそこの形になり、思うように動かすことができるようである。都会から離れた遠隔地にいる私にとっては、正にネットの恩恵を受けてありがたい。

そんなわけで、レコードプレーヤーをDCモーターを使って、33.3回転(に近い回転数??)で回すためのスケッチを以下に貼ってみた。

(私の知識が足りず、PNGの画像しか貼ることができず、そのままコピペで使えないようですみません。)

Arduino UNO:フォトレジスタを読んで回転数を割り出すスケッチ(前編)
Arduino UNO:フォトレジスタを読んで回転数を割り出すスケッチ(後編)
Arduino Nano Every:回転数の上げ下げ指示を取得してPWM値を変えDCモーターを制御(前編)
Arduino Nano Every:回転数の上げ下げ指示を取得してPWM値を変えDCモーターを制御(後編)

ArduinoをUNOとNano Everyの2台をDigitalピン(7,8ピン)を使ってパラメータを受け渡して動かしてみた。(シリアル通信がうまくつかえなかったので、、、)

なぜ2台使ったかというと、一台に全部機能を載せると処理に時間がかかり回転ムラが出そうだったから。センサー部分とモーター回転部分を分けたかった。

とりあえず、プログラムとしての論理エラーはないのだけれど、ターンテーブルを人間の耳で聴いて違和感なく33.3回転で回すという事については、まだまだ完全ではない。ネットで調べるとどうやらPID制御という技術の使用も必須のようである。比例、微分、積分の制御だそうだ。文系上がりで、サラリーマン時代、2次関数という言葉など使ったことがなく、真空管アンプに出会ったときも、E=IRさえも全く身についていなかった私が、微分、積分の扉を開けることは無理であると断言しても良い。

それよりも私が目を向けたのは、感覚的にわかりやすいモーターのパワーである。秋葉原で購入した数百円のモーターが非力のようで、針を落として音を出し始めるだけで回転速度が落ちる。この辺を改善したほうが良いように思えてきた。新しく手に入れたNIDEC(日本電産)の数千円するモーターでこの辺が改善できれば、もしかすると聴感的にも満足できるほどの音が出るかもしれない。(出てほしいという願望)

Arduinoのスケッチ(C++)に関して、もっと効率の良い方法などきっとあるのだろう。でも私の頭ではこれが限界のようだ。

というわけで、そろそろマイコンとの格闘を終えて、本題のレコードプレーヤーの作成に着手したいと思うこの頃である。