今回は、Arduinoを使った電子工作の新企画を前編、後編の2回に分けてお届けしていきます。ユニークな電子工作を紹介してくれるのは、物事の関係性をテーマに活動するアーティストである平原真さんです。大阪芸術大学准教授でもある平原さんは、これまでもコンピュータや電子デバイスを使ったメディアアートを多数制作されており、特に近年は木や石など自然の素材を使った立体作品で注目されています。それでは、「Arduinoを使ったソーラーパネルで動くデジタル飼育箱」制作の前編をどうぞお楽しみください。
はじめに
みなさん、こんにちは。平原と申します。夏の日差しから逃れて涼しい部屋で電子工作を楽しんでいる方も多いと思いますが、今回は太陽の力を使った作例をご紹介したいと思います。ソーラーパネルで発電してLEDで表現したデジタルの生き物を観察できるという作品です。まずは、こちらの動画をご覧ください。
コンセプト
みなさんは「テラリウム」というものをご存知でしょうか?あまり聞き慣れない言葉かもしれませんね。テラリウムとは、植物と小動物をガラス容器に入れ、自然の環境に近い形で飼育栽培を楽しむ園芸スタイルのひとつです。もともとは、遠隔地から動植物を生きたまま運ぶために、暮らしていた環境を再現したのが始まりで、のちに観賞用として広まったそうです。
今回ご紹介する電子工作では、「外部からの光エネルギーによって生物が暮らしている」というテラリウムの仕組みをソーラーパネルとLEDマトリクスで再現してみたいと思います。
5 x 5 マスのLEDの空間の中で、少しずつ草が成長します。動物は一番成長した草を目指して移動します。移動すると一定量の体力を消耗し、0になると死亡します。草のあるマスに入ると餌を食べて体力が増え、上限を超えると同じ色の動物が増えます。動物が増え過ぎれば、植物が減って動物を支えられなくなるので、生態系を維持するにはバランスが重要です。
システム構成
まずは全体の機器構成を図に描いて考えましょう。
電源はソーラーパネルを使い、マイコンボードは手軽に使えてコンパクトなArduino Pro Mini 328、表示装置としては配線が楽で表現力があるフルカラーシリアルLEDテープを採用します。また、見ているだけでは物足りないので、水槽を指でつつくような操作をするために、加速度センサも使います。
全体構成をもとに、個々の部品を選定します。それぞれの部品の兼ね合いで調整が必要になるので、選択の余地が少ないところから決めていきます。
LED
砲弾型や表面実装など色々な形状がありますが、配線がしやすく、表現力があり、制御も簡単という理由からフルカラーシリアルLEDテープを使うことにしました。格子状に並べるために、5ずつに切り分け、5本を接続して使います。
Arduino Pro Mini 328
持ち運べる大きさにするため、周辺回路とともにブレッドボードに挿して使えるコンパクトなタイプのArduinoを使います。Arduino Pro Mini 328には、5Vと3.3Vの2つのタイプがありますが、フルカラーシリアルLEDテープの電源電圧が5Vであるため、5Vタイプを使用します。
ソーラーパネル
同じ電圧であれば、面積が広くなるほど電流が多くなります。電子部品店で入手可能なものの中から、5V以上の電圧を供給でき、LEDを光らせることができ、持ち運ぶのにちょうどいい大きさの物を選定しました。
センサ
加速度センサは3.3Vのものが多いのですが、Arduino Pro Mini 328には3.3Vの出力が無いので、5Vで動作するものを探しました。3.3Vのセンサを使う場合は、3端子レギュレータで電圧を下げてください。
部品リスト
品名(購入先URL) | 個数 | 価格 |
Arduino Pro Mini 328 5V 16MHz | 1個 | 1,243円 |
フルカラーシリアルLEDテープ | 1個 | 2,970円 |
FTDI USBシリアル変換アダプタ Rev.2 | 1個 | 1,080円 |
ブレッドボード用DCジャックDIP化キット | 1個 | 100円 |
ブレッドボード EIC-801 | 1個 | 270円 |
DCプラグ 内径2.1mm 外径5.5mm | 1個 | 60円 |
ソーラーパネル OPL55A27101 | 1個 | 1,015円 |
加速度センサ Adafruit LIS3DH | 1個 | $4.95 |
柔らかいジャンパワイヤ | 10本 | 220円 |
硬いジャンパワイヤ | 10本 | 300円 |
なべ小ねじ M2×12mm | 8個 | 129円 |
シナベニヤ 600mm x 300mm 厚さ3mm | 1枚 | |
半透明アクリル板 120mm x 120mm 厚さ1mm | 1枚 |
価格は執筆時点のものです。送料が別途かかります。
回路の組み立て
配線図と回路図
今回制作する作品の配線図と回路図です。Arduino Pro Mini 328と加速度センサ、DCジャックはブレッドボードに載せます。ブレッドボード上の直線のジャンパワイヤは硬いものを使うと綺麗に配線できます。黄色と緑のジャンパワイヤは、Arduino Pro Mini 328のピンヘッダに取り付けるため、オス-メスのタイプを使用します。フルカラーシリアルLEDテープは外装に取り付けるので、長めの柔らかいワイヤで接続します。ソーラーパネルは、外装の蓋の役割も果たすのでリード線にはDCプラグをつけて配線しやすくしています。
回路図は電気的な接続関係を表したもので、配線図は実際のサイズや位置関係などを考慮した図です。慣れないうちは配線図をそっくりそのまま再現するとつくりやすいですが、制作に慣れてきて自分で回路をつくったり他の人の回路を取り入れる時は、回路図で考えるほうが理解しやすくなります。
手順1:ピンヘッダのはんだ付け
Arduino Pro Mini 328などの基板に、それぞれ付属のピンヘッダをはんだ付けします。取付方向を間違わないように注意してください。
※ピンヘッダのはんだ付けを詳しく学びたい方はこちら。
https://deviceplus.jp/hobby/raspberrypi_entry_039/
Arduino Pro Mini 328
基板の長辺にある12本 x 2列のピンは部品実装面でハンダ付けしてください。短辺にある6つのピンと、SDA、SCLはロゴがプリントされている面で半田付けします。
加速度センサ
すべてのピンを部品実装面側でハンダ付けしてください。
DCジャック
ピンヘッダと、DCジャックを基板にハンダ付けします。DCジャックは、やや多めにハンダを盛ってしっかり固定します。
手順2:ソーラーパネルにDCプラグを付ける
ソーラーパネルのリード線の先にDCプラグをハンダ付けします。DCプラグを分解し、プラスチックの筒部分にリード線を通します。リード線の先端の皮膜を取り除き、ハンダを少し染み込ませます。DCプラグの金具にも予めハンダを乗せます。金具の長い方(外周)にマイナス(黒)、短い方(中央)にプラス(赤)のリード線をハンダ付けしてください。
手順3:フルカラーシリアルLEDテープの仮配線
フルカラーシリアルLEDテープにテスト用の仮配線をします。ジャンパワイヤのコネクタを切り取り、被膜を3mmくらい取り除きます。むき出しになった銅線にハンダを少し染み込ませます。フルカラーシリアルLEDテープの末端(やじるしの根元側)にハンダ付けしてください。熱を加えすぎるとテープの基材が変形してしまうので注意しましょう。
手順4:ブレッドボードの組み立て
配線図を参考に、Arduino Pro Mini 328などを配置してください。フルカラーシリアルLEDテープからの配線と、Arduino Pro Mini 328と加速度センサのSDA、SCLをつなぐジャンパワイヤは柔らかいもの、それ以外は硬いものを使うとスッキリまとまります。
動作テスト
回路が組めたので、それぞれの部品が動作するかテストしてみましょう。
Arduino Pro Mini 328の書き込み
今回使うUSBシリアル変換アダプタには、動作電圧を切り替える機能があります。電源電圧5VのArduino Pro Mini 328を使用するので、ジャンパピンを5V側に取り付けてください。
USBシリアル変換アダプタにUSBケーブルを接続し、お使いのPCとArduino Pro Mini 328をつなぎます。接続する方向がどちら向きでも挿さってしまいますが、USBシリアル変換アダプタの部品面が内側を向くようにしてください。
Arduino IDEのメニューから、[ツール] > [ボード]はArduino Pro or Pro Mini、[ツール] > [プロセッサ]はATmega328P(5V, 16MHz)を選択してください。
試しにサンプルを書き込んでみましょう。メニューから[ファイル] > [スケッチ例] > [01.Basic] > [Blink]を開き、書き込んでください。Aruduino Pro Mini 328の小さなLEDが点滅していれば成功です。
LEDのテスト
ライブラリのダウンロード
フルカラーシリアルLEDテープを制御するためにAdafruitが提供するNeoPixelライブラリを利用します。下記からダウンロードして、Arduino IDEのライブラリフォルダに入れてください。
>> https://github.com/adafruit/Adafruit_NeoPixel
サンプルのスケッチ
サンプルのスケッチを書き込んで動作を確認しましょう。メニューから[ファイル] > [スケッチ例] > [Adafruit NeoPixel] > [Simple]を開き、書き込んでください。手前のLEDから一つずつ点灯し16個ついたら消灯します。
加速度センサーのテスト
ライブラリのダウンロード
今回使う加速度センサは、I2CまたはSPI 下記のページから「Adafruit_LIS3DH library」と「Adafruit_Sensor」という2つのライブラリをダウンロードして、Arduino IDEのライブラリフォルダに入れてください。
>> https://learn.adafruit.com/adafruit-lis3dh-triple-axis-accelerometer-breakout/arduino
サンプルのスケッチ
今回は加速度センをタップしたことを検知するために使います。Arduino IDEのメニューから[ファイル] > [スケッチ例] > [Adafruit LIS3DH] > [acceldemo]を開いて、書き込んでください。シリアルモニタを開き、ブレッドボードを指で軽く叩いてみると、それぞれの軸の値が変化するのを確認できます。
みなさん、いかがでしたでしょうか?今回は動作テストまでおこないましたので、後編はハードウェアの制作から進めていきたいと思います。後編もどうそよろしくお願い致します。
今回の連載の流れ
前編:Arduinoを使ったソーラーパネルで動くデジタル飼育箱(今回)
後編:Arduinoを使ったソーラーパネルで動くデジタル飼育箱