Arduino しようぜ!(冒険の旅に出かけよう!)

最初、表題は「電子工作 しようぜ!」にしようと思ったのですが、範囲が広すぎるのでArduinoの話題にします。
ちなみに、皆さんお気付きのとおり、「Arduino しようぜ!」は大谷選手の「野球しようぜ!」へのオマージュです。(残念ながら、私はArduinoを全国に配ることは出来ません。)

私の思う技術レベル

賛否両論あると思いますが、私が思う(電子工作的な)技術レベルはこんな感じです。
Sランクは、Arduinoに搭載されているようなMCUを作る側
(さらに上に勇者(ハードウエア・エンジニア)や賢者(ソフトウエア・エンジニア)がいますね。)
Aランクは、企業で製品を企画して形にする側
Bランクは、企業の製造部門
Cランクは、アマチュアで新しいものを発想して、設計し完成させられる人
Dランクは、他人が作ったものを模倣して楽しむ側
Eランクは、なにかやりたいけれど手を出していない、又は途中であきらめた人

私は、まだDランクですね。(始まりの村で、薬草を取る程度のレベルです。)
「こんなものが出来たらいいなぁ。」とは思いますが、一から作る能力がないので、本やネットの情報を探して、それをネタに日曜電子工作を楽しんでいます。

もちろん、自分で人間としてのランクが「Dランク」だと言っているわけではありません。
これを読んでいる方も、料理の腕はAランクとか、足の速さはBランクという方がいるかも知れませんが、あくまで電子工作的な話です。
そんな中で、少し前の私のようにArduinoについてEランクの方に、電子工作の楽しさを知ってもらいたいと書いてみます。
Arduino しようぜ!

出来そうな目標の設定

何かを始めるには、すぐに出来る簡単な目標と、長期的な目標を立てると先に進みやすいです。
生まれてすぐに大きな目標を立てて、「Arduino王にオレはなる!」と宣言しても、装備もない状態で「最初の村」を出るのは難しいです。

例えば、「自分の名前を表示する。」という目標を立てます。

目標を実現するには

Arduino(他のMCUでも構いません。)で「自分の名前を表示する。」には、どうすれば良いでしょうか?
色々な方法がありますね。

例えば、メカが好きな方はモータとギアを組み合わせて、ホワイトボードにボードマーカで文字を書かせる事も出来ます。

LEDをたくさん買ってきて、名前の形に配置して、点灯・点滅させることも出来ますね。

可能かどうかわかりませんが、水槽の底に弁を配置して、エアを入り切りすることで、泡の間欠で文字が書けるかもしれません。(インクを少しずつ出しても良いかも。)

電気的に角度の変わるシャッターで太陽光を遮断して、ある時間になると名前が影の形で表示される。なんてことも可能かもしれません。

でも、Arduinoを使って一番簡単に出来る方法は、数種類になると思います。
その中で、ディスプレイに表示する方法をやってみましょう。

部品の選択

Arduinodeで簡単に使えるディスプレイには、何種類かあります。

LEDマトリックス
LED(Light-Emitting Diode:発光ダイオード)を複数個まとめて基板上に配置したものです。
下図の商品は、SWITCH SCIENCEさんで扱っている「16×32 RGB LED マトリックスパネル」ですが、高価(五千円以上)な上に1枚では名前を全て表示するのは難しそうです。

OLEDディスプレイ
OLED(Organic Light Emitting Diode:有機LED)ディスプレイは、安価で使える文字の表示できるディスプレイです。
LEDマトリックスを細かくしてたくさん並べた感じでしょうか。
(配線がかぶっていますが、細かな文字がたくさん並んでいます。)
このディスプレイで名前を表示してみましょう。

液晶ディスプレイ
LCD(Liquid Crystal Display)とも呼ばれます。
低電圧で低消費電力で良いのですが、自ら発光しないのでバックライトが必要です。(バックライト付きの商品もあります。)
色々な事情で、OLEDディスプレイの後に、LCDを紹介します。

部品の入手

それでは、実施にArduinoであなたの名前を表示してみましょう。
それを実現するには、何が必要でしょうか?

Arduino本体は必ず必要として、液晶ディスプレイ、聞き慣れないOLEDディスプレイ?それ以外には?
「Arduino入門セット」も販売されていますが、少々高価です。(2万円程度)
次で、とりあえず必要なものを紹介しますが、電子工作が趣味な方なら、手持ちのもので十分です。

Arduino

Arduinoには、色々な種類がありますが、実験するにはUNOがおすすめです。
Arduino UNO R3
(購入するにはR3が良いでしょう。R4は最新型なので、まだ情報が少ないです。)
スイッチサイエンスで、4500円程度
秋月電子で、3600円程度(販売コード : 107385)
aitendoの互換機なら、1500円程度(Amazonも同程度の価格)

小型化するには、Nanoがおすすめです。
Arduino Nano
スイッチサイエンスで、4500円程度
互換機ならAmazonで3個で、3000円程度

ブレッドボードとケーブル

簡単に配線するには、ブレッドボードがあると便利です。いや、電子工作をするなら必須ですね。
ブレッドボードとは、ICなどのピン幅と同じ「2.54 mm」間隔で穴が空いています。
その穴は、内部で黄色の線のようにつながっています。(実際には黄色い線はありません。)
真ん中にICを置けば、上下に4本の線を出すことが出来ます。

上下の青と赤の線が引かれた区切られた部分は、通常電源をつなぎます。
赤側にプラス、青側にGNDをつなぎ、電源が必要な部品に供給します。

ブレッドボードには、電源モジュール付きも売っていますが、Arduinoから電源が取れるので、なくてもOKです。

配線用のジャンパ線は、硬い線もありますが、柔らかいもののほうが配線が楽です。

aitendoのHP(★プラグ〜プラグ★ジャンパワイヤ(65本入) [JWIRE-65P])

ブレッドボード単体は秋月電子で、1000円程度
配線とセットでAmazonで、1500円程度

ブレッドボードの細かな構造は、サンハヤトの「「 ブレッドボード」ってどう使うの?」が分かりやすいです。

OLEDディスプレイ

OLEDディスプレイには、0.96インチ 128×64ドットのものを使います。
インターフェースがI2Cの物を選びます。
I2Cのディスプレイは、写真のように端子が4つです。

秋月電子で、600円程度(販売コード : 112031)

液晶ディスプレイ

OLEDディスプレイだけでも、名前の表示は出来ます。
購入するなら、「OLEDディスプレイ」だけでもOKですが、送料もかかるので、ついでに購入しても良いでしょう。

電池で動かすなど低消費電力を狙うなら、液晶ディスプレイが最適です。
液晶ディスプレイには色々な種類がありますが、今回使うのは「インターフェースがI2C」で「16文字 ✕ 2行」のものです。

秋月電子で、800円程度(販売コード : 112619)
(I2CインターフェースのLCDは、色々なサイズ、形があります。お好きなものを)

費用の合計

全てを購入しても、Arduinoの互換品なら5000円程度、純正品でも1万円以下で購入できるでしょう。

パソコン上でシミュレート

購入した商品が届くまで、暇ですね。
でも、パソコンでシミュレートすることが出来ます。

Arduinoで作る回路を簡単にパソコン上で再現できて、無料で利用できるソフトは、確認できたもので2種類ありました。
オンラインで使えるAUTODESK社の「Tinkercad」(旧 123d circuits)と、ダウンロードして使う「UnoArduSim」です。
どちらのソフトも、パソコン上で配線をして実際に作ってプログラムを動かして結果を見ることが出来ます。
(動いたプログラムは、実機に持ってきて動かすことが出来ます。)

Tinkercad

Tinkercad」は、以前は「123d circuits」と呼ばれていたものです。
CADで有名な「AUTODESK社」のソフトです。
ブラウザでオンラインで動くので、ネット環境が必須です。

UnoArduSim

UnoArduSim」は、カナダのオンタリオ州にある、クイーンズ大学工学科のシモンズ教授によって開発されました。教授は、学生がハードウェアを購入しなくて済むように、このソフトを開発したそうです。(優しい!)
Arduino Uno と Mega をサポートしますが、一部の命令は動きません。

ここまで書いておいて、ごめんなさい。
あまりに内容が長くなりすぎたので、分割することにしました。
「シミュレータ編」と「実機編」に分けてお送りします。
「シミュレータ編」は、以下をクリック。

実機で名前の表示

Arduino他の部品が届いたら、実機でプログラムを作って名前を表示します。
細かなやり方は、長くなりすぎたので、ハードウエア編とソフトウエア編に分けて追加しました。

Arduino しようぜ!ハードウエア編は、以下をクリック!

Arduino しようぜ!ソフトウエア編は、以下をクリック!

次の(大きな)目標

1 シミュレータでArduinoの動作を覚えた。(レベル・アップ!)
2 必要な部品を自分で選んで購入した。(レベル・アップ!)
3 実機をパソコンにつないで、基板上のLEDを点滅できた。(レベル・アップ!)
4 実際にArduino 、ブレッドボード、ディスプレイをつなぐことが出来た。(レベル・アップ!)
5 プログラムを入力して、好きな文字をディスプレイに表示できた。(レベル・アップ!)

これで、5つレベルが上がりました。
やっと、始めての村から出て冒険が出来ます。
剣術(ハードウエア)を磨くのも良し、魔法(ソフトウエア)の奥義を極めるのも良いでしょう。
でも、最終目標に向かうには、まだまだ力が足りません。少しずつレベルアップを目指しましょう!

私は、すでに次の目標を決めています。
様々な作品を製作されている「ラジオペンチ」さんの「OLEDオシロスコープ」です。
Arduino UNO(に使われているMCU)とOLEDディスプレイに簡単な部品を加えるだけで、本格的なオシロスコープが出来上がります。
他にもネット上でArduinoを使った波形表示機はありますが、ここまで本格的な物は(私は)見たことがありません。
(その性能と再現性の為に、国外のHPでは製作(盗作)例が多数あります。)
(以下の写真は「ラジオペンチ」さんのHPより引用)

(2024年3月 追記)
Arduinoの使い方が少しは理解できたので、Arduinoで作る「ラジオペンチ」さんの「OLEDオシロスコープ」を組み立てました。(「siliconvalley4066」さんの改造も取り入れました。)
(この1号機には大きな欠陥がありますが、その製作記と詳細は以下をクリック!)

コメント