さあ、ガジェット創りを楽しみましょう
”がじぇっとるねさすプロジェクト”がお送りするKURUMIボード、Webコンパイラを使って、ガジェット(面白い小物)創りを一緒に楽しみましょう。KURUMIボードにはマイコンという小さなコンピュータが乗っています。このマイコンにプログラムを書き込むと色々な光を灯したり、音を出したり、ものを動かしたりできます。
スケッチリファレンス
このスケッチリファレンスは、GR-KURUMI用のプログラムを作成するために必要なライブラリや、Webコンパイラを操作するHTTP APIについて記載しています。 はじめてGR-KURUMIを使用する場合は、以下をご覧ください。
Arduinoライクな”スケッチ”について
KURUMIボードはArduinoと互換性があります。外形やピンの配置はArduino Pro Miniという小さなボードとほとんど一緒です。また、ライブラリの使い方もほとんど一緒です。
Arduinoでは、プログラムのことをスケッチと呼んでいます。ここでもそれに応じてスケッチと呼びます。少しスケッチの仕方について説明します。下のスケッチの例を見てください。これは、KURUMIボードの赤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-KURUMIの場合は必要になります。
Arduinoの最大の魅力はたくさんのライブラリがあることです。このライブラリを使うことで、LEDを光らせるだけでなく、音を鳴らしたり、モーターを回したり、ネットワークにつなげることが簡単にできます。上のメニュー”LIBRARY”から内容を見ることができます。
ピンの配置について
下図はKURUMIボードのピンの配置です。先述のライブラリでは、ピンの番号で指定することが多いです。例えば次の記述
digitalWrite(2, LOW);
これは、2ピンをLOWにすることを意味しています。またA0~A7はアナログ値を読むことができるピンの番号です。例えば次の記述
analogRead(A0);
これはA0ピンの状態を読むことを意味しています。なお、A0~A7はそれぞれ14~21に割り当てられており、A0は14と書いても一緒です。また、22ピンはKURUMIボードの赤LED、23ピンは緑LED、24ピンは青LEDになっています。
更新
March 30, 2018: Serial、Ethernetのページを更新。SoftwareSerialを追加
基本ライブラリ
デジタルIO
アナログIO
拡張IO
時間
数学
三角関数
乱数
ビットバイト操作
割り込み
シリアル通信
標準ライブラリ
サーボモーター
ステッピングモーター
キャラクタ液晶表示
EEPROM
SPI通信
I2C通信(Wire)
メモリカード
メモリカード(File操作)
Ethernet
Ethernetサーバー
Ethernetクライアント
Firmata
周期処理
省電力
時計(RTC)
SoftwareSerial
ユーティリティ
ライブラリ
ライブラリを使用すれば、簡単に創りたいガジェットを作ることができます。LEDを光らせたり、時間を測ったり、EEPROMにデータを保存したり、モーターを回したり、USBやEtherを使用した通信もできます。
※KURUMI用のライブラリは、現状ではSAKURA用と違って最初からプロジェクトテンプレートにすべてのライブラリが入っています。
基本ライブラリ:
デジタル信号の出力や、計算、割り込みなどの基本的な動作を行うためのライブラリです。Arduino Languageと同等でプロジェクト作成後、追加のスケッチが不要で使用できます。例えばシリアル通信の記述
#include <Arduino.h>
void setup()
{
Serial.begin(9600);
Serial.println("Hello");
}
これはシリアル通信を開始して、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
}
これはサーボモータを9ピンに接続して、90度回転させる記述ですが、include文の#include <rxduino.h>、インスタンス生成のServo servo0を記述しています。これらの使い方はそれぞれのライブラリページをご覧ください。
Web Compilerを操作するAPI
このAPIを使用することで、Web Compiler上のプロジェクトをHTTP通信で操作することができます。例えばプログラムを簡単に作れるスマートフォン用アプリケーションを作成することもできます。
APIを使用する流れとしては、Web Compiler上にあるプロジェクトやファイルの情報を取得し、指定したファイルを書き換え、ビルドした結果をダウンロードするというものを想定しています。
このAPIを実行するためには、APIキーが必要になります。
設定ボタンから設定を開くとAPIキーを確認できます。
API実行中に、さらにAPIを実行しようとした場合、エラー(null値)を返します。
サポート
何か困ったときや、トラブルが起きたときはRenesas Engineering Communityに行ってみましょう。きっと優しい人が教えてくれます。