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

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

スケッチリファレンス

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

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

COTTONボードはArduino と互換性があります。外形やピンの配置は違いますが、プログラムの文法や動かし方がほとんど一緒です。

Arduinoでは、プログラムのことをスケッチと呼んでいます。ここでもそれに応じてスケッチと呼びます。少しスケッチの仕方について説明します。下のスケッチの例を見てください。これは、COTTONボードの赤LEDを点滅させる単純なスケッチです。


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

Arduinoの特徴的な記述としてsetup()loop()は必ず書かないといけません。setup()は、起動後に1度だけ呼ばれます。このスケッチでは、pinMode()というライブラリを使用してLEDを点灯するための準備をしています。loop()は繰り返し実行されます。このスケッチでは、digitalWrite()やdelay()というライブラリを使用してLEDを点滅させています。 1行目の#include <Arduino.h>はArduinoでは不要な記述ですがGR-COTTONの場合は必要になります。

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

ピンの配置について

下図はCOTTONボードのピンの配置です。先述のライブラリでは、ピンの番号で指定することが多いです。例えば次の記述


digitalWrite(2, LOW);

これは、2ピンをLOWにすることを意味しています。またA0~A7はアナログ値を読むことができるピンの番号です。例えば次の記述


analogRead(A0);

これはA0ピンの状態を読むことを意味しています。なお、A0~A7はそれぞれ14~21に割り当てられており、A0は14と書いても一緒です。また、22ピンはCOTTONボードの赤LED、23ピンは緑LED、24ピンは青LEDになっています。

gr-cotton-pin-map

更新

March 30, 2018: Serial、Ethernetのページを更新。SoftwareSerialを追加

ライブラリ

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

※COTTON用のライブラリは、現状では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度回転させる記述です。

Web Compilerを操作するAPI

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

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

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

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

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

サポート

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