さあ、ガジェット創りを楽しみましょう
”がじぇっとるねさすプロジェクト”がお送りする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のピンの配置です。ライブラリでは、ピンの番号で指定することが多くあります。
ピン番号の指定の例として、以下は2ピンをLOWにすることを意味しています。
digitalWrite(2, LOW);
以下は、A0ピンの状態を読むことを意味しています。
analogRead(A0);
基本ライブラリ
デジタルIO
アナログIO
拡張IO
時間
数学
三角関数
乱数
ビットバイト操作
割り込み
シリアル通信
標準ライブラリ
Ethernet
Ethernetサーバー
Ethernetクライアント
サーボモーター
ステッピングモーター
キャラクタ液晶表示
EEPROM
SPI通信
I2C通信(Wire)
メモリカード
メモリカード(File操作)
周期処理(MsTimer2)
時計(RTC)
ユーティリティ
ライブラリ
ライブラリを使用すれば、簡単に創りたいガジェットを作ることができます。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を記述しています。これらの使い方はそれぞれのライブラリページをご覧ください。
HTTP API
Web Compilerを操作するAPI
このAPIを使用することで、Web Compiler上のプロジェクトをHTTP通信で操作することができます。例えばプログラムを簡単に作れるスマートフォン用アプリケーションを作成することもできます。
APIを使用する流れとしては、Web Compiler上にあるプロジェクトやファイルの情報を取得し、指定したファイルを書き換え、ビルドした結果をダウンロードするというものを想定しています。
このAPIを実行するためには、APIキーが必要になります。
設定ボタンから設定を開くとAPIキーを確認できます。
API実行中に、さらにAPIを実行しようとした場合、エラー(null値)を返します。
サポート
何か困ったときや、トラブルが起きたときはRenesas Engineering Communityに行ってみましょう。きっと優しい人が教えてくれます。