コンピュータを楽しもう!!

今、自分が面白くていろいろやってみたことを書き綴りたいと思います。連絡先はtarosa.yでgmail.comです。

SakuLuaコマンド一覧 (2013/02/1現在)

SakuLuaの実装コマンドを説明します。

(1)基本コマンド

基本コマンドには下記があります。

  • pinMode(pin, mode)
  • digitalWrite(pin, value)
  • digitalRead(pin)
  • analogWrite(pin, value)
  • analogRead(pin)
  • analogWriteDAC(pin, value)
  • analogReference(type)
  • analogWriteDAC(valueHz)
  • pulseIn(pin, value[, timeout])
  • delay(msec)
  • millis()

基本コマンド 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)

シリアル通信コマンド XBee通信初期化: Serial.XBee

Serial.XBee([baudrate])
  baudrate: ボーレート
  stdin: 標準
   省略時は9600bpsです

シリアル通信コマンド 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キャラクタ液晶に表示することができるコマンドです。

液晶表示コマンド 液晶表示: Lcd.write

Lcd.write(string[,pos])
  string: 文字
  pos: 0:上段, 1:下段

以上です。