「obnizのパーツライブラリを試す」シリーズでは、obnizのJavaScript SDKパーツライブラリに掲載されているパーツを実際に購入して試した結果をレポートします。
栄えある第1回は、JPEGカメラのArduCAMMiniです。
- JPEGカメラArduCAMMiniを試してみた。
- パーツライブラリに掲載されているプログラムと回路で写真の撮影に成功した。
- obnizから電力を供給すると動作が不安定だった。
- 外部から電力を供給すると正常に動作した。
パーツライブラリのページ
ArduCAMMiniは、パーツライブラリの「Camera」に分類されています。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-parts-library-new.png)
パーツライブラリのページはこちらです。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-parts-lib-page-640x360.png)
購入先
パーツライブラリのページには、スイッチサイエンスのArducam Miniモジュール(2メガピクセル)へのリンクが記載されています。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-switchscience-640x360.png)
私はスイッチサイエンスでは購入せず、同等品と思われる製品を秋月電子通商で購入しました。秋月の製品ページはこちらです。こちらの方が200円程安い値付けでした。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-akizuki-640x298.png)
製品構成
製品パッケージは白い箱で、中にArduCAMMini本体と8線のオス・メスジャンパーケーブルが入っていました。また、本体には8ピンのピンヘッダーが半田付けされていました。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-package-253x360.jpeg)
ピン配置
8ピンの内訳は、
- 4本:SPI
- 2本:電源の+とGND
- 2本:I2C
です。
ピンの配置は次のとおりです。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-zoom-236x360.jpeg)
CS | MOSI | MISO | SCK | GND | VCC | SDA | SCL |
SPI | 電源 | I2C |
配線の分析
まずはパーツライブラリのページに記載されている配線を分析してみます。
このページには電源供給方法についての注意書きがあります。
このカメラの電源はobniz以外から供給する方法がおすすめです。
obnizから電源を供給する場合は過電流に気をつける必要があります。
電源は以下のように供給して下さい
- obniz以外の外部電源に接続する
- obnizのJ1ピンに接続する
- vccを2つ以上のobnizのioから供給する
このドキュメントではio11もvcc供給に使用する方法でカメラを動かしています。
注意書きのすぐ下にこのような写真が掲載されています。
![電源配線](https://obniz.io/sdk/parts/ArduCAMMini/wire.jpg)
サンプルプログラムは次のようになってます。obniz.io11.output(true) でio11に5Vを供給しています。obniz.wired( )ではio5に5Vを供給しています。青いジャンパー線はio11とio5を接続しており、5Vの供給をio5とio11で分担させています。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-code-power.png)
obniz.wired( )ではio0〜io7を指定していて、ピンの役割の並び順もArduCAMMiniと一致しているので、io0とArduCAMMiniの左端のピン(CSピン)が合うように配線すれば良いことがわかります。
写真ではobnizがブレッドボードに直挿しされています。obnizもブレッドボードもメス端子なので、両方をつなぐための部品が必要になります。両方の端が長めのピンになっているピンヘッダーを使っているようです。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-pin-header-640x360.jpeg)
実際の配線1: パーツライブラリと同じ配線
パーツライブラリにある写真と同様の配線をブレッドボード上に組んでみました。
まず、ピンヘッダーとジャンパーケーブルを配置します。ジャンパーケーブルはブレッドボード上の番号6、12に配置します。obnizのioピン番号で言うとio5、io11になります。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-wiring1-1-640x393.jpeg)
次にobnizをピンヘッダーに挿します。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-wiring1-2-640x475.jpeg)
最後にArduCAMMiniを挿します。ジャンパーケーブルと干渉しないようにブレッドボードのh列に挿しました。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-wiring1-3-640x474.jpeg)
配線1でプログラムを動かしてみる
パーツライブラリページのwired( )関数の説明部分にあるプログラムを実行してみました。
やや緑がかった写真が撮れました。背景の壁部分はオフホワイトなのですが薄緑色になっています。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-photo1-1-640x346.png)
また、撮影を何回も繰り返していると、画像が途中で切れたり、真っ黒な写真になったりしました。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-photo1-2-640x342.png)
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-photo1-3-640x345.png)
動作が不安定なのは、電力が不足していからかもしれませんし、ArduCAMMiniが壊れているからかもしれません。これだけではどちらか判断がつきません。
実際の配線2:外部電源を使う
obnizからArduCAMMiniに電気を供給する代わりに、外部電源を使ってみることにします。手元にUSBからブレッドボードに電源を供給できる変換ボードがあったのでこれを使います。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-usbpower-267x360.jpeg)
obnizとArduCAMMiniは、io5以外を接続します。変換ボードとArduCAMMINIは+5VとGNDを接続します。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-wiring2-1-640x319.jpeg)
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-wiring2-2-640x446.jpeg)
プログラムに下記の変更を加えます。
- obniz.io11.output(true); を削除
- obniz.wired( )から vcc:5, を削除
削除後のプログラムはこうなります。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-program2-640x591.png)
このプログラムを実行すると、正常な色の写真が撮れました。配線1で撮影に失敗したのは、電力不足が原因だったようです。
![](https://iot-gym.com/wp-content/uploads/arducammini-obniz-photo2-1-640x344.png)
パーツリスト
パーツ名 | 購入先 |
ArduCAMMini | 秋月電子通商 |
ブレッドボードBB-801 | 秋月電子通商 |
両端ロングピンヘッダ 1X40 (40P 6.1) | 秋月電子通商 |
ジャンプワイヤキット | amazon |
ブレッドボード用USB電源ボード SBM-007 | (記憶が曖昧ですが、千石電商の実店舗で購入した気がします) |