ネットで公開されている PixyPet は,ZumoShield タイプで動くものです. そのままの情報では Zumo32U4 では動きません. 理由は簡単. PixyPet の標準I/F は SPI 通信ですが,Zumo32U4 では SPI の信号部分が他の用途で使用されています. なんとか遮断できればよいのですが,内蔵回路なのでどうしようもありません. あとは発想の転換です.幸いにして PixyPet は他の I/F も使えるようになっているので, I2C を使うとうまく動きました.
I2C で使う SCL と SDA を Zumo32U4の回路図で確認しておきます.SCL は D3:PD0,SDA は D2:PD1 です.
PixyPet 側も同様に確認します.SCL は 5番ピン,SDA は 9番ピンです.
PixyPet の文書へのリンクを貼っておきます(が URLがコロコロ変わる?リンク切れなら検索してください).
試作は,Zumo32U4 の筐体サイズにピッタリな両面基板 TAKACHI TNF53-79 に作ってみました.
信号線は PixyPet の10pinコネクタに SCL/SDA 信号線2本と電源2本を接続するだけです.
スケッチは Pixy.h の派生クラスとして PixyI2C.h が用意されているのでそれに変更します.あと Zumo 関連も Zumo32U4 に変えておきます.
// #include <SPI.h>
// #include <Pixy.h>
#include <PixyI2C.h> // 派生クラスをinclude
...
// Pixy pixy;
PixyI2C pixy; // PixyI2C クラスを使用
このカメラは,本体とセットで演習最終日に学生一人ずつ貸し出すので量産が必要です. 僕が作った試作回路から回路の得意な相方さんに EDA ツール(EAGLE)にて回路を起こしてもらい基板発注しました.接続ケーブルは汎用の10pinケーブルを購入しました.
できあがりがこちら.新型の PixyPet2 に置き換えてもうまく動いています.
旧型 PixyPet の欠点は,USB が mini-B で Zumo32U4 の micro-B とはケーブルを別に用意しなければならないこと. PixyPet2 では micro-B に改善されています. 旧型が故障*1すれば順次置き換えます.
*1 ある日の授業で学生が接続を誤り,カメラICから煙が出ました.よくよく注意喚起せねばww
PixyPet.ino(新旧どちらでも使えます)