今日も知らない街を歩く

雑記に近い形でちまちま書いていきます。

初めての「はじめてのIoT」

  会社で、はじめてのIoTの工作をやる人向けのハンズオン講座をやると言う話を聞いたので参加した。Arduinoを用いてモーターを回したり温度センサーからデータを取得する、ということをするらしい。

  仕事でIoTの話が出てくることが増えたこともあり、一度自分で簡単なもので良いから作って理解しようと試みたことは会ったのだけど、ハードウェアの知識が全く無く、配線がさっぱりわからず挫折していたので、講師にわからないことを聞けるという環境はとてもありがたい。

f:id:TownBeginner:20190720191132j:image

  今回利用するIoTキット。中央にArduinoがある他、電池やモーター、温度センサー、そして天敵の配線*1がたくさん。

 

まずはArduinoの開発環境構築。従来はArduino IDEをダウンロードして開発するのだけど、今回はIDEのダウンロードやセットアップに時間がかかってしまうため、「Arduino Create」で開発することに。

create.arduino.cc

 

  Arduino Agent Pluginのダウンロード・インストールこそ必要だけど、それさえ完了させればブラウザでソースコードを書いて実際のArduinoに書き込みできるので、とても便利。Arduino Createにアカウントを作って開発環境をセットアップ。

 

 f:id:TownBeginner:20190720192713p:image

  ハンズオン資料に沿って必死にブレッドボードに線を刺してモータやArduino・電池を繋いでゆく。一通りつなぎプログラムを実行したけど、(予想はしていたけど)動かない。配線間違っているのかなと何度も見直しても、違いがわからない。しかし、プログラムを見ると違和感が。コートをArduinoの7番ピンに刺しているのに、定数が何故か9番を代入している。まさかと思い7番に修正しコンパイルした瞬間、モーターが動いた!モーターに繋いでいた羽が勢いよく指にぶつかっていたかった…。

   ようやく動いてくれて一安心。ここまでくればプログラムをいじって動作の違いを検証できるので、羽を逆回転にしたり、動作と停止の間隔を変えてみたり。

f:id:TownBeginner:20190720192658p:image

  エクストラとして、温度センサーとLEDランプの動作。温度センサー自体は原始的な作りなので内部で計算して割り出していることも有り、取得できる温度データはあくまでおおよその値。それでも、温度センサーに指で触れると2,3度はすぐに上がるので、最初の工作としてはこれで十分。

  上の写真は、温度センサーとLEDランプとモーターを組み合わせ、

「温度が29度以上になったらLEDランプを点灯させ、モーターを回転させる、29度未満はLEDランプを消灯しモーターを止める」

  というシンプルな工作で、ランプを光らせている所。プログラム的には単純だけど、例えば、サーバーが加熱し過ぎないように監視するためのプロトタイプモデルと言えなくもない。「どういう時にどんな動作をさせるか(させないか)」が決めてそれが実現できれば、プロトタイプを作ることはできること理解した。

  余談だけど、これをTwitterに投稿したら爬虫類を飼っている方からすごいというお褒めの言葉を頂いた。確かに熱帯魚など、温度管理をしないといけないペットは少なくない。そもそも、普段燻製をするときも温度管理が面倒くさいなと感じている。温度に関する切り口で考えると、何かを作るヒントがあるかもしれない。

 

本ハンズオンの先生曰く、

「今回の内容はIoTの初歩の初歩」

とのことで、まだまだ先は長いのは間違いない。それでもArduinoに関しては理解が進んだし、大の苦手だったハードウェアについても、ちょっとだけ理解するためのとっかかりができてとても良かった。まだ具体的に何を作りたいかイメージはできていないのだけど、もう少し深掘りして何かと連携させてできたらきっと楽しい。それまでは学習を続けたい。

*1:クリップみたいにつまむやつ、名前が合ったのだけど忘れてしまいググってもわからずじまいです…。