さあ、ガジェット創りを楽しみましょう

”がじぇっとるねさすプロジェクト”がお送りするSAKURAボード、Webコンパイラを使って、ガジェット(面白い小物)創りを一緒に楽しみましょう。SAKURAボードにはマイコンという小さなコンピュータが乗っています。真ん中にある黒くて平たいものです。このマイコンにプログラムを書き込むと色々な光を灯したり、音を出したり、ものを動かしたりできます。

スケッチリファレンス

このスケッチリファレンスは、GR-SAKURA用のプログラムを作成するために必要なライブラリや、Webコンパイラを操作するHTTP APIについて記載しています。 はじめてGR-SAKURAを使用する場合は、以下をご覧ください。

注意: 本スケッチリファレンスはライブラリ・バージョンがV2.00以上を対象としています。

Arduinoライクな”スケッチ”について

SAKURAボードはArduinoと互換性があります。ピンの配置や、ライブラリの使い方などほとんど同じです。Arduinoでは、プログラムのことをスケッチと呼んでいます。ここでもそれに応じてスケッチと呼びます。

少しスケッチの仕方について説明します。下のスケッチの例を見てください。これは、SAKURAボードの1つのLEDを点滅させる単純なスケッチです。


#include <Arduino.h>
void setup(){
    pinMode(PIN_LED0, OUTPUT);
}
 
void loop(){
    digitalWrite(PIN_LED0, HIGH);
    delay(200);
    digitalWrite(PIN_LED0, LOW);
    delay(200);
}

Arduinoの特徴的な記述としてsetup()loop()は必ず書かないといけません。

setup()は、起動後に1度だけ呼ばれます。このスケッチでは、pinMode()というライブラリを使用してLEDを点灯するための準備をしています。

loop()は繰り返し実行されます。このスケッチでは、digitalWrite()やdelay()というライブラリを使用してLEDを点滅させています。

1行目の#include <Arduino.h>はArduinoでは不要な記述ですがGR-SAKURAの場合は必要になります。

Arduinoの最大の魅力はたくさんのライブラリがあることです。このライブラリを使うことで、LEDを光らせるだけでなく、音を鳴らしたり、モーターを回したり、ネットワークにつなげることが簡単にできます。上のメニュー”LIBRARY”から内容を見ることができます。

ピンの配置について

下図はGR-SAKURAのピンの配置です。ライブラリでは、ピンの番号で指定することが多くあります。

gr-sakura-pin-map

ピン番号の指定の例として、以下は2ピンをLOWにすることを意味しています。


digitalWrite(2, LOW);
    

以下は、A0ピンの状態を読むことを意味しています。


analogRead(A0);
    

ライブラリ

ライブラリを使用すれば、簡単に創りたいガジェットを作ることができます。LEDを光らせたり、時間を測ったり、EEPROMにデータを保存したり、モーターを回したり、USBやEtherを使用した通信もできます。

基本ライブラリ:

デジタル信号の出力や、計算、割り込みなどの基本的な動作を行うためのライブラリです。Arduino Languageと同等でプロジェクト作成後、追加のスケッチが不要で使用できます。例えばシリアル通信の記述


#include <Arduino.h>
void setup() 
{
    Serial.begin(9600);
    Serial.println("Hello");
}
void loop(){
}

これはシリアル通信を開始して、Helloの文字を出力するための記述ですが、setup、loop関数内にそのまま記述できます。

標準ライブラリ:

モータ制御や、ネットワーク通信、メモリ操作など応用的な動作を行うためのライブラリです。プロジェクト作成後、ライブラリを使うために、include文や、インスタンス生成が必要です。例えばサーボモータの記述


#include <Arduino.h>
#include <servo.h> 
  
Servo servo0;
void setup() 
{ 
  servo0.attach(9);
  servo0.write(90);  // set servo to mid-point
}
void loop(){
}

これはサーボモータを9ピンに接続して、90度回転させる記述ですが、include文の#include <servo.h>、インスタンス生成のServo servo0を記述しています。これらの使い方はそれぞれのライブラリページをご覧ください。

Web Compilerを操作するAPI

このAPIを使用することで、Web Compiler上のプロジェクトをHTTP通信で操作することができます。例えばプログラムを簡単に作れるスマートフォン用アプリケーションを作成することもできます。

APIを使用する流れとしては、Web Compiler上にあるプロジェクトやファイルの情報を取得し、指定したファイルを書き換え、ビルドした結果をダウンロードするというものを想定しています。

このAPIを実行するためには、APIキーが必要になります。

設定ボタンから設定を開くとAPIキーを確認できます。

API実行中に、さらにAPIを実行しようとした場合、エラー(null値)を返します。

サポート

何か困ったときや、トラブルが起きたときはRenesas Engineering Communityに行ってみましょう。きっと優しい人が教えてくれます。