GR-LYCHEE 使ってみよう!(GR Webコンパイラ編、Lチカ、カメラ、SD/USBとか)

がじぇるね岡宮です。

本記事はGR-LYCHEEのプロデューサーミーティング用として初めて使うときの手順を示してます。プログラム環境としてはがじぇるねのWebコンパイラを使用してます。

※GR-LYCHEE用にはmbed OS 5.4をベースとしたプラットフォームとして、先々はmbed オンラインコンパイラ対応を行いますが、製品版相当のボードをUKに送る必要があり、まだβ版の段階ということで、ブラッシュアップ内容が固まり次第、その対応を開始いたします。mbed コンパイラに慣れ親しんでいる方には申し訳ありませんが、ご理解をお願いします。

 

準備

GR-LYCHEE、USBケーブル(マイクロBタイプ)の2つを準備します。Lチカとカメラ動作を確認できます。なお、カメラ動作確認にはDisplay Appという独自アプリを使いますが、Mac版がありません。・・・どなたかVisual Studioで作られたものをMacにしていただけると大変助かります。_(_ _)_

上記以外にSDカードかUSBメモリがあるとカメラで写真を撮って保存できます。

    

 

初めてのLチカまでの手順

1.プログラム作りの開始

 がじぇっとるねさすサイトより、Webコンパイラにログイン、またはゲストログインしてください。

 

 

2.新規プロジェクトの作成

 以下のボタンから新規プロジェクトを作成します。初めての方、またはゲストログインの場合はスキップしてください。

 

 以下の画面で「GR-LYCHEE_mbed_style_xxx.zip」(xxは任意のバージョン)を選択し、適当にプロジェクト名を付けてプロジェクト作成ボタンを押します。

 プロジェクト名には日本語は使用できませんので、注意してください。

 

 

3.スケッチの表示

 プログラムの作成画面に切り替わります。左ナビのエクスプローラーにある「main.cpp」をダブルクリックするとプログラムが表示されます。

 

 

4.ビルド

 この画面でプログラムを書いていくことになりますが、GR-LYCHEEのLEDを光らせるサンプルプログラムが完成しています。

 右ナビの「ビルド実行」というボタンを押してください。

 

 

 以下の通り、ビルドの結果が表示されます。ビルドが成功して末尾にMake process completedと表示されると思います。

 閉じるボタンを押して、画面を閉じてください。

   

 

5.binファイルのダウンロード

 ビルドに成功すると「lychee_sketch.bin」というファイルが作成されます。

 このファイル名の上でコンテキストメニューを開き、「ダウンロード」を選択するとファイルがパソコン上にダウンロードされます。

 

 

 

6.つなげる

 GR-LYCHEEをUSBケーブルでパソコンにつなげます。GR-LYCHEEがUSBメモリとして認識されますので、そのフォルダーに5でダウンロードしたbinファイルをコピーします。

  

  

 

7.リセットしてプログラムを実行する

 GR-LYCHEEのリセットボタンを押してください。

 

 正常にプログラムが動作するとLEDが光り始めます。

 

 

カメラを動かしてみる

カメラを動かすサンプルです。以下のbinはサンプルをビルドしたものです。動作確認の際はDisplay Appをご使用ください。(Windowsのみです)

動作確認するときはプログラムを書き込むためのUSBと逆側のUSBコネクタに接続してください。

※プログラムはWebコンパイラのテンプレートV0.06でコンパイルしたものです。

 

4572.lychee_camera_display.bin

 

#include "mbed.h"
#include "camera_if.h"
#include "DisplayApp.h"

static DisplayApp display_app;
int main(){
camera_start();
while(1){
size_t size = create_jpeg();
display_app.SendJpeg(get_jpeg_adr(), (int)size);
}
}

カメラ写真をSD、USBに保存する

カメラの画像をSD、USBに保存するサンプルです。接続されたストレージに応じて保存されます。以下のbinはサンプルをビルドしたものです。動作確認の際はSD、USBのどちらかをLYCHEEに接続してください。

※プログラムはWebコンパイラのテンプレートV0.06でコンパイルしたものです。

 

3187.lychee_sketch_camera_storage.bin

 

#include "mbed.h"
#include "camera_if.h"
#include "SdUsbConnect.h"

DigitalIn button0(USER_BUTTON0);
DigitalIn button1(USER_BUTTON1);
DigitalOut led1(LED1);
static int file_name_index = 0;
int main() {
camera_start();
// SD & USB
SdUsbConnect storage("storage");
while (1) {
size_t size = create_jpeg();
storage.wait_connect();
if ((button0 == 0) || (button1 == 0)) {
led1 = 1;
//save jpeg image
char file_name[32];
size_t jpeg_size = create_jpeg();
sprintf(file_name, "/storage/image_%d.jpg", file_name_index++);
FILE *fp = fopen(file_name, "w");
fwrite(get_jpeg_adr(), jpeg_size, 1, fp);
fclose(fp);
led1 = 0;
}
}
}