Kernelクラス

文法 概要 引数 返値
pinMode(pin, mode) ピンモードの設定 pin: ピン番号
mode: 以下の値を設定
0 (INPUT)
1 (OUTPUT)
2 (INPUT_PULLUP)
3 (OUTPUT_OPENDRAIN)
バージョン
digitalWrite(pin, value) ピンの出力を0か1に設定 pin: ピン番号
value: 0 or 1
なし
digitalRead(pin) ピンの入力が0か1かチェック pin: ピン番号 0 or 1
analogRead(pin) ピンのアナログ値をチェック pin: ピン番号(14, 15, 16, 17) 0~675(3.3V)
後述のanalogReferenceで入力モード指定可能
analogReference(mode) analogReadの入力モードを指定 mode: 以下から選択
0: 5.0V基準
1: 1.1V基準(内蔵電圧)
2: 3.3V基準
3: 3.3V基準, 12ビット分解能(0~4096)
なし
pwm(pin, value) ピンからPWM出力(490Hz) pin: ピン番号
value: PWMの比率 0~255
なし
initDac() DAコンバータの初期化 なし なし
analogDac(value) DACピンからアナログ値を出力 0 ~ 4096(3.3V) なし
led(value) LEDの出力を設定 value: 0(OFF) or 1(ON) なし
delay(value) 指定時間待機 value: 時間((ms)) なし
millis() システム起動からのミリ秒時間を取得。50日程度でオーバーフローして0に戻ります。 なし ミリ秒
micros() システム起動からのマイクロ秒時間を取得。1週間程度でオーバーフローして0に戻ります。 なし マイクロ秒
tone(pin, frequency[, duration) 圧電サウンダなどに使えるトーン信号を出力 pin: ピン番号、frequency: 周波数、duration: 出力時間(オプション) なし
noTone(pin) トーン信号出力を停止 pin: ピン番号 なし
randomSeed(value) 乱数用の種を設定 value: 種となる値 なし
random([min,] max) 乱数を取得 min: 最小値(オプション)、
max: 最大値
乱数

Systemクラス

文法 概要 引数 返値
System.version([R]) システムバージョンの取得 任意の値 バージョン
System.exit() プログラムを終了。System.setrunによりプログラムがセットされていれば、そのプログラムが実行される。 なし なし
System.setrun(file) 次に実行するプログラムを設定 mrbファイル名 なし
System.push(address, buf, length) フラッシュメモリに値を格納。電源を切っても消えない。 address: 開始アドレス(0~255)
buf: 書き込みデータ
length:データ長(最大32バイト)
0: 失敗、1:成功
System.pop(address, length) フラッシュメモリから値を取得。 address: 開始アドレス(0~255)
length:データ長(最大32バイト)
取得したデータ分
System.useSD() SDカードを使用できるように設定 なし 0:使用不可、1:使用可能
System.useWiFi() WA-MIKAN(ESP8266ボード)を使用できるように設定 なし 0:使用不可、1:使用可能
System.getMrbPath() 実行しているmrbファイルパスを取得 なし ファイルパス(ファイル名)

Serialクラス

このクラスは通信ポートごとにインスタンスを生成して使用します。

文法 概要 引数 返値
serial.new(num,bps) シリアル通信初期化 num:初期化する通信ポート(TX/RX)
0:USB、1: 0/1、2: 5/6、3: 7/8、4: 12/11
bps:ボーレート
シリアルのインスタンス
serial.print([str]) シリアルポートへ出力 str: 出力文字列 なし
serial.println([str]) シリアルポートへ改行付きで出力
改行は\r\n
str: 出力文字列。省略時は改行のみ。 なし
serial.write(buf, len) データの出力 buf: 出力データ配列、len:データ数 出力データ数
serial.flush() 送信完了まで待機 なし なし
serial.available() 受信データがあるかチェック なし データのバイト数。0の場合はデータなし。
serial.read() データの取得 なし 受信データ配列

I2Cクラス

このクラスは通信ポートごとにインスタンスを生成して使用します。

文法 概要 引数 返値
i2c.new(num) I2C通信初期化 num:初期化する通信ポート(SDA/SCL)
0: 18/19, 1: 0/1, 2: 5/6, 3: 7/8, 4:12/11
I2Cのインスタンス
i2c.begin(address) I2Cのライト準備開始 address: デバイスの7bitアドレス なし
i2c.lwrite(data) I2Cのライトバッファへ書き込み data: データ なし
i2c.end() 準備したI2Cライト通信を実行する なし なし
i2c.request(address, count) デバイスにリード要求を実行する address: 7bitアドレス、
count: データ数
受信データ数
i2c.available() 受信データがあるかチェック なし 受信データ数。ない場合は0。
i2c.lread() 受信データを取得 なし 受信データ
i2c.write(address, reg, data) デバイス指定アドレスに1バイトをライト(begin, lwrite, endを実行する) address: 7bitアドレス、
reg: デバイス内の書き込みアドレス、
data: データ
常に0
i2c.read(address, regL[, regH]) デバイス指定アドレスからデータをリード(write, request, readを実行する) address: 7bitアドレス、
regL: リード下位アドレス、
regH: 上位アドレス(オプション)
リードデータ

Servoクラス

文法 概要 引数 返値
Servo.attach(ch, pin [, min, max] ) サーボモーターへの出力ピンを指定チャネルに割り当て ch: 任意のチャネル(0~9)
pin: 任意のピン
min: 0度のときのパルス幅(デフォルト544us)(オプション)
max: 180度のときのパルス幅(デフォルト2400us)(オプション)
I2Cのインスタンス
Servo.write(ch, angle) 角度を設定 ch: チャネル(0~9)
angle: 0~180
なし
Servo.read(ch) 現在の角度を取得 ch: チャネル(0~9) 角度
Servo.us(ch, us) 角度をパルス幅で設定 ch: チャネル(0~9)
us: 0~19999
なし
Servo.attached(ch) チャネルにサーボが割り当てられているかチェック ch: チャネル(0~9) 0: 割り当てなし、1: 割り当てあり
Servo.detach(ch) サーボの割り当てを解除する ch: チャネル(0~9) なし

Rtcクラス

文法 概要 引数 返値
Rtc.init() リアルタイムクロックを起動 なし 0: 失敗、1: 成功
Rtc.deinit() リアルタイムクロックを停止 なし 0: 失敗、1: 成功
Rtc.setTime(array) 時刻を設定 array: 年(0000-9999),月(1-12),日(1-31),時(0-23),分(0-59),秒(0-59)の配列 0: 失敗、1: 成功
Rtc.getTime() 時刻を取得 なし 以下の配列
year: 年(2000-2099)
month: 月(1-12)
day: 日(1-31)
hour: 時(0-23)
minute: 分(0-59)
second: 秒(0-59)
weekday: 曜日(0-6)0:日,1:月,2:火,3:水,4:木,5:金,6:土

SDクラス

このクラスを使用する前にSystem.useSD()を呼んでおく必要があります。

文法 概要 引数 返値
SD.open(number, filename[, mode]) ファイルをオープン number: 任意のファイル番号(0か1)
filename: ファイル名(8.3形式)
mode: 0:Read, 1:Append, 2:New Create
ファイル番号。-1の場合は失敗
SD.close(number) ファイルをクローズ number: ファイル番号 なし
SD.seek(number, byte) ファイルの読み出し位置に移動 number: ファイル番号
byte: seekするバイト数(-1)でファイルの最後に移動する
0: 失敗、1: 成功
SD.read(number) ファイルからの読み込み number: ファイル番号 データ(バイト)。ファイルの最後の場合-1が返る。
SD.write(number,buf,len ) ファイルへの書き込み number: ファイル番号
buf: データバッファ
len: データ数
書いたデータ数
SD.flush(number) 書き込み終了まで待機 number: ファイル番号 なし
SD.size(number) ファイルサイズの取得 number: ファイル番号 サイズ
SD.position(number) 読み書き位置を取得 number: ファイル番号 位置
SD.mkdir(dirname) ディレクトリを作成 dirname: 作成するディレクトリ名 0: 失敗、1: 成功
SD.rmdir(dirname) ディレクトリを削除 dirname: 削除するディレクトリ名 0: 失敗、1: 成功
SD.remove(filename) ファイルを削除 filename: 削除するファイル名 0: 失敗、1: 成功
SD.copy(srcfilename, distfilename) ファイルをコピー srcfilename: コピー元ファイル名、
distfilename: コピー先ファイル名
0: 失敗、1: 成功
SD.exists(filename) ファイルが存在するかチェック filename: チェックするファイル名 0: ない、1: あり

WiFiクラス

このクラスを使用する前にSystem.useWiFi()を呼んでおく必要があります。

このクラスはWiFiモジュールのESP8266を使用するためのクラスです。

文法 概要 引数 返値
WiFi.setMode(mode) ステーションモードを設定 mode:
1: Station
2: SoftAP
3: Station + SoftAP1
ESP8266の戻り値
WiFi.ipconfig() IPアドレスとMACアドレスを表示 なし ESP8266の戻り値
WiFi.connect(SSID, Passwd) WiFiアクセスポイントに接続 SSID: WiFiのSSID
Passwd: パスワード
ESP8266の戻り値
WiFi.multiConnect(mode) 複数接続可能モードの設定 mode:
0:1接続のみ
1:4接続まで可能
ESP8266の戻り値
WiFi.disconnect() WiFiを切断 なし ESP8266の戻り値
WiFi.httpGetSD(Filename, URL[, Headers]) http GET結果をSDカードに保存 Filename: 保存するファイル名
URL: URL
Headers: ヘッダに追記する文字列の配列
0: 失敗
1: 成功
2: SDカードが使えない
3: 送信データファイルをオープンできなかった
4: 送信データサイズを読み込めなかった
5: 送信データファイルを読み込めなかった
6: 受信用ファイルをオープンできなかった
7: 受信したファイルの生成に失敗した
WiFi.httpGet(URL[, Headers]) http GETプロトコルを送信。送信のみで、結果の受信しない。 URL: URL
Headers: ヘッダに追記する文字列の配列
0: 失敗、1: 成功
WiFi.httpPost(URL, Header, Body) http POSTプロトコルを送信。 URL: URL
Header: ヘッダに追記する文字列の配列
Body: ボディに追記する文字列の配列
0: 失敗、1: 成功
WiFi.httpServer([port]) httpサーバーを開始。SDカードが必須です。 port: 待ちうけポート番号, -1指定時はサーバー停止 アクセスの有無により以下の値が返されます。
0: アクセスなし
1: アクセスあり
2: SDカードが使えない
3: SDカードのファイルアクセスに失敗

クライアントからアクセスがある場合
GET: パス
GET以外、ヘッダの1行目
WiFi.udpOpen(number, IPAddress, SendPort, ReceivePort) UDP接続を開始 number: 接続番号(1~4)
IPAddress: 通信相手アドレス
SendPort: 送信ポート番号
ReceivePort: 受信ポート番号
ESP8266の戻り値
WiFi.send(number, Data[, length]) 指定接続番号にデータを送信 number: 接続番号(1~4)
Data: 送信するデータ
length: 送信データサイズ
送信データサイズ
WiFi.recv(number) 指定接続番号からデータを受信 number: 接続番号(1~4) 受信したデータの配列。ただし、256以下
WiFi.cClose(number) TCP/UDPの接続を閉じる。 number: 接続番号(1~4) ESP8266の戻り値
WiFi.bypass() USBポートとESP8266をシリアルで直結。リセットするまで処理は戻りません。 なし なし
WiFi.serialOut(mode[, serialNumber]) ESP8266へシリアル出力するときのシリアル番号を設定します。 mode: 0:出力しない, 1:出力する
serialNumber: 出力先のシリアル番号
なし
WiFi.at(command[, mode]) ESP8266にATコマンドを送信 command: ATコマンド文字列
mode: 0:'AT+'を自動追加する、1:'AT+'を自動追加しない。
ESP8266の戻り値