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の戻り値 |