メインコンテンツに移動

GR-CITRUS 特設:クラス、メソッド早見表

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