先日再開した電子工作。今日はドツボってしまったのですが、何とか抜け出せてラッキーでした。
やった事は、ARDUINO IDEという環境で、とあるボードの周辺機器をI2Cという規格で使うためにライブラリのサンプルコードを動かす事。しかし前提としているIOポート番号が実機と合っていない事が原因の様で動きません。他のライブラリではIOポート番号を初期化時に設定できたのですが、このライブラリでは、ボードの設定からポート番号を持って来る様になっているため、簡単に変える事が出来ませんでした。
そこで、いくつかの対処方法を考えました。
一つは、ライブラリが前提としているIOポート番号を使う様にハード側を合わせてしまう方法です。しかし、今回のケースではライブラリがどのポート番号を使おうとしているのか分からないので使えません。
次に考えられるのが、自動的に設定されている値を上書きしてしまう方法です。当初はこの方向で進めようと頑張ったのですが、色々と調べたものの、そもそも上書きが可能なのか、何という変数を変えればいいのかが分からず断念しました。
最後に試したのが初期設定がどこにあるのかを探して、変更してしまう方法です。
ネットで検索したり、隠しフォルダーを見える様にしてディスクの中を探し回る事およそ6時間。何とか設定個所を見つけ出して、ライブラリーのサンプルコードを動かす事が出来ました。
後から分かった事ですが、2番目のパラメータを置き換える簡単な方法は用意されていた様で、それに気づいていれば相当の時間短縮が出来たのでしょうが、こうやって試行錯誤しながらのやっていく作業というのは楽しくて好きです。
結果にたどり着くまでの効率は、必ずしも良いとは言えませんでしたが、システムの仕組みについて理解を深める事が出来ました。
こういう作業を楽しめるかどうかは、どの様な職業に就くかの適性に関わって来るんだろうなと思っています。
また、困難に直面した際、色々な選択肢を考え出して試していくという考え方はとても有効な考え方です。私は、その様な考え方を自然としてしまうのですが、これが出来る人と出来ない人が世の中にはいる様です。
近頃使われる「タイパ」などという言葉は、この考え方の対極にあります。そんな考え方をする人に、こんな作業を一緒にすると、「時間を無駄に使われた」とか「最初から簡単な方法を教えてくれ」とか言って来そうです。
これとは対照的なのが、AKB48の「365日の紙飛行機」という歌の歌詞。どこに着いたかより、どこをどの様に飛んだかが大事だと歌っています。私の考え方に近いかな。
時間を無駄にしないという考え方は大事ではありますが、そればかりを追い求めて簡単に結果だけを手に入れようとする人って、浮いた時間をクソみたいに浪費しているイメージがあるんですが、どうなんでしょうね。
困難が無く平穏な人生よりも、トラブルに見舞われながらも、自力で問題を解決していく人生の方が、人生の満足度は高いだろうと考えているんですが、家の子供たちはどうなんでしょうね。ふとそんな事を考えてしまいました。