Groveシリアルカメラのサンプルコードを解説【Grove serial camera sample code commentary】

Groveシリアルカメラのサンプルコードを解説【Grove serial camera sample code commentary】

今回はGroveシリアルカメラのサンプルコードを簡単に解説したいと思います。

以下の記事でGroveシリアルカメラを使ったときにサンプルコードがうまく動作しなかったので中身がどのようになっているかざっくりと調べてみました。

今後Groveシリアルカメラを使う人の役に立てばよいかなと思います。

サンプルコードの概要について

Groveシリアルカメラのサンプルコードでは以下の構成になっています。
①「void loop」で処理が繰り返され、ボタンを押すとキャプチャ取得処理「void Capture」SDカードに保存する処理「void GetData」が順次呼び出される。
②キャプチャ取得処理「void Capture」では、コマンド送信処理「void sendCmd」を呼び出して配列に格納されたコマンドをGroveシリアルカメラへと送信している。
③SDカードに保存する処理「void GetData」では、キャプチャ取得処理からデータを受け取りSDカードに保存している。

以下、処理ごとにコメントを追記しています。

void setupについて

void setupには通信速度などを設定します。

void loopについて

void loopではボタンを押下すると写真撮影が始まるようになっています。まず、「Capture()」でキャプチャ取得処理が呼ばれ、次に「GetData()」で写真がSDカードに保存されます。

void clearRxBufについて

バッファの中身をクリアする処理です。コマンド送信前に呼ばれています。

void sendCmdについて

コマンドの送信処理です。コマンドの中身は呼び出し元で格納されています。コマンドは配列「cmd」に格納されています。

void initializeについて

void initializeでは、初期化処理を行っています。

void preCaptureについて

プレキャプチャを取得しています。

void Captureについて

void Captureでは段階を踏んでカメラにコマンドを送信し、キャプチャを取得しています。void Captureは「void loop」から呼び出されています。

void GetDataについて

SDカードに写真を保存します。SDカードに保存される1枚目のファイル名は「pic00.jpg」となります。2枚目以降からは「pic01.jpg」、「pic02.jpg」というように保存されていきます。SDカードに写真を保存できなかったときはシリアルモニタに「”myFile open fail…”」と表示され、成功した場合はSDカードに写真が保存されます。
なお、void GetDataは「void loop」から呼び出されています。

以上、今回はGroveシリアルカメラのサンプルコードを簡単に解説させていただきました。

1つ星 この記事が役に立ったらいいねをお願いします!
読み込み中...



電子工作カテゴリの最新記事