SakuLuaコマンド一覧 (2013/02/1現在)
SakuLuaの実装コマンドを説明します。
(1)基本コマンド
基本コマンドには下記があります。
基本コマンド PINのモード設定: pinMode
pinMode(pin, mode) pin: ピンの番号 mode: 0: INPUTモード 1: OUTPUTモード 3: OUTPUT_HIGH モード(高駆動出力
基本コマンド デジタルライト: digitalWrite
digitalWrite(pin, value) pin: ピンの番号 mode: 0: LOW 1: HIGH
基本コマンド デジタルリード: digitalRead
digitalRead(pin) pin: ピンの番号 戻り値 0:LOW 1:HIGH
基本コマンド アナログライト: analogWrite
analogWrite(pin, value) pin: ピンの番号 value: 出力PWM比率(0〜255)
基本コマンド アナログリード: analogRead
analogRead(pin) pin: ピンの番号 戻り値 10ビットの値(0〜1023)
基本コマンド アナログDAC出力: analogWriteDAC
analogWriteDAC(pin, value) pin: ピンの番号 value: DAC出力10BIt(0〜4095)
基本コマンド アナログリファレンス: analogReference
analogReference(type) type: 0: DEFAULT 1: INTERNAL 2: EXTERNAL 3: RAW12BIT
基本コマンド アナログPWM周波数設定: analogWriteFrequency
analogWriteDAC(valueHz) valueHz: 設定する周波数(12〜184999Hz)
基本コマンド ピンに入力されるパルスを検出: pulseIn
pulseIn(pin, value[, timeout]) pin: ピンの番号 value: パルスの種類(HIGH(1)またはLOW(0)) timeout: timeout タイムアウトまでの時間(単位・マイクロ秒) デフォルトは1秒 戻り値 パルス時間
基本コマンド 指定時間待ちます: delay
delay( msec ) msec: 時間(msec)
基本コマンド ミリ秒を取得します: millis
millis() 戻り値 起動してからのミリ秒数
(2)システムコマンド
システムコマンドには下記があります。
- sys.setrun( filename )
- sys.ver()
- sys.exit()
システムコマンド Luaファイルを実行します: sys.setrun
sys.setrun( filename ) filename: 実行するLuaファイル名 このコマンドを呼べは直ぐにLuaファイルが実行されるわけではない。 今動いているLuaスクリプトを終了させたときに呼び出される。
システムコマンド バージョンを取得します: sys.ver
sys.ver() 戻り値 SakuLuaのバージョン
システムコマンド 終了します: sys.exit
sys.exit() 現在走っているLuaスクリプトを強制終了させるのですが、 SakuLuaは続けてsys.setrun()で設定されたLuaスクリプトを実行します。 本当に止めたいときは、while(true)do end として無限ループにしてください。
システムコマンド フラッシュメモリに書き込みます: sys.push
sys.push(address, buf, length) address: 書き込み開始アドレス(0x0000〜0x7fff) buf: 書き込むデータ length: 書き込むサイズ 戻り値 1:成功, 0:失敗
システムコマンド フラッシュメモリから読み出します: sys.pop
sys.pop(address, length) address: 読み込みアドレス(0x0000〜0x7fff) length: 読み込みサイズ 戻り値 読み込んだデータ
(3)RTCコマンド
RTCコマンドには下記があります。
- RTC.set(year, mon, day, hour, min, sec)
- RTC.get()
RTCコマンド RTCの時計をセットする: RTC.set
RTC.set(year, mon, day, hour, min, sec) year: 西暦 mon: 月 day: 日 hour: 時 min: 分 sec: 秒
RTCコマンド RTCの時計を取得する: RTC.get
RTC.get() 戻り値 6つ 西暦, 月, 日, 時, 分, 秒 year, mon, day, hour, min, sec = RTC.get() のように受けてください。
(4)I2Cコマンド
I2Cコマンドには下記があります。
I2Cコマンド I2C送信開始準備: Wire.beginT
Wire.beginT(address) address: ターゲットデバイスのアドレス 0〜0x7Fまでの純粋なアドレスを与えること
I2Cコマンド 送信する1byteのセット: Wire.writeB
Wire.writeB(byte) byte: 送信したいデータ 戻り値 成功: 1 失敗: 0
I2Cコマンド 送信するデータのセット: Wire.writeI
Wire.writeI(int) int: 送信したいデータ 戻り値 成功: 送信したバイト数 失敗: 0
I2Cコマンド 送信する文字列のセット: Wire.writeT
Wire.writeT(text) text: 文字列 戻り値 成功: 送信したバイト数 失敗: 0
I2Cコマンド 送信するデータブロックのセット: Wire.writeA
Wire.writeA(array, length) array: データ配列 length: データサイズ 戻り値 成功: 送信したバイト数 失敗: 0
I2Cコマンド I2Cに送信する: Wire.endT
Wire.endT() 戻り値: 0: 成功 1: 送信バッファ溢れ 2: スレーブアドレス送信時にNACKを受信 3: データ送信時にNACKを受信 4: その他のエラー
I2Cコマンド SDA,SCLピンの割り当て任意のピンに変更する: Wire.SdaScl
Wire.SdaScl(sda, scl) sda: データ端子ピン番号 scl: クロック端子ピン番号
I2Cコマンド I2Cマスターとして初期化する: Wire.master
Wire.master()
(5)シリアル通信コマンド
シリアル通信コマンドには下記があります。
- Serial.XBee([baudrate])
- Serial.USB([baudrate])
- Serial.setDef()
- Serial.print([str])
- Serial.println([str])
- Serial.read()
- Serial.write(buf,len)
シリアル通信コマンド USB通信初期化: Serial.USB
Serial.USB([baudrate]) baudrate: ボーレート 省略時は9600bpsです
シリアル通信コマンド 標準出力に対応させます: Serial.setDef
Serial.setDef()
シリアル通信コマンド シリアルに出力します: Serial.print
Serial.print([str]) str: 文字列 省略時は何も出力しません
シリアル通信コマンド シリアルに\r\n付きで出力します: Serial.println
Serial.println([str]) str: 文字列 省略時は何も出力しません
シリアル通信コマンド シリアルから1バイト取得します: Serial.read
Serial.read() 戻り値 0x00〜0xFFの値、データが無いときは-1が返ります
シリアル通信コマンド シリアルにデータを出力します: Serial.write
Serial.write( buf, len ) buf: 出力データ len: 出力データサイズ 戻り値 出力したバイト数
(6)SDメモリカードコマンド
SDメモリカードコマンドには下記があります。同時に開けるファイルは2つです。
- SD.read(number)
- SD.seek(number, byte)
- SD.write(number, buf, len)
- SD.open(number, filename[, mode])
- SD.close(number)
SDメモリカードコマンド openしたファイルから1バイト読み込みます: SD.read
SD.read( number ) number: ファイル番号 0 または 1 戻り値 0x00〜0xFFが返る。ファイルの最後だったら-1が返る。
SDメモリカードコマンド openしたファイルの読み出し位置を移動する: SD.seek
SD.seek( number, byte ) number: ファイル番号 0 または 1 byte: seekするバイト数(-1)でファイルの最後に移動する 戻り値 成功: 1, 失敗: 0
SDメモリカードコマンド openしたファイルバイナリデータを書き込む: SD.write
SD.write( number, buf, len ) number: ファイル番号 0 または 1 buf: 書き込むデータ len: 書き込むデータサイズ 戻り値 実際に書いたバイト数
SDメモリカードコマンド ファイルをオープンします: SD.open
SD.open( number, filename[, mode] ) number: ファイル番号 0 または 1 filename: ファイル名(8.3形式) mode: 0:Read, 1:Append, 2:New Create 戻り値 成功: 番号, 失敗: -1
SDメモリカードコマンド ファイルをクローズします: SD.close
SD.close( number ) number: ファイル番号 0 または 1
(7)液晶表示コマンド
液晶表示コマンドには下記があります。
- Lcd.write(string[,pos])
液晶表示に関しては、ストロベリーリナックス製のI2Cキャラクタ液晶に表示することができるコマンドです。