LightSensor1

objectPage http://www.yama-lab.org/fwb4pi/index.php?Servo1 or http://www.yama-lab2.org/dp-1/index.php?Servo1
device yamaRasPiDp9_1 or yamaRasPiDp9_2 start after no write for 10 min.
command: set readInterval=300000
command: set execInterval=0
command: program i2cServo
program: dim thisTable
program: dim thisRowLabel
program: dim thisColumnLabel
program: '
program: ' init i2c
program: ex("pi4j", "i2c use 1")
program: '
program: ' init servo driver, PCA9685... https://www.adafruit.com/products/815
program: ex("pi4j", "i2c write1 0x40,0xfa,0x00")
program: ex("pi4j", "i2c write1 0x40,0xfb,0x00")
program: ex("pi4j", "i2c write1 0x40,0xfc,0x00")
program: ex("pi4j", "i2c write1 0x40,0xfd,0x00")
program: ex("pi4j", "i2c write1 0x40,0x01,0x04") ' set mode-2 out drive
program: ex("pi4j", "i2c write1 0x40,0x00,0x01") ' set mode-1  restart disabled, internal clock, auto-increment disabled, nomal, ALLCALL
program: sms=ex("pi4j", "i2c read1 0x40,0x00") 'read current mode-1
program: sm=s2i(sms)
program: nsm=0x007f & sm 'new mode, wake up
program: delay(50)
program: ex("pi4j", "i2c write1 0x40,0x00,"+nsm)
program: delay(50)
program: '
program: ' init frequency
program: sms=ex("pi4j", "i2c read1 0x40,0x00") 'read current mode-1
program: sm=s2i(sms)
program: nsm=(0x007f & sm)|0x0010 'new mode, sleep
program: delay(50)
program: ex("pi4j", "i2c write1 0x40,0x00,"+nsm) '... sleep, set the sleep mode on, restart disabled     40> 00+ 10+
program: ex("pi4j", "i2c write1 0x40,0xfe,0x65") 'set the pwm frequency prescale register   40> fe+ 70+
program: ex("pi4j", "i2c write1 0x40,0x00,"+sm) 'recover the mode-1 register, .... wake up.  40> 00+ 00+ 
program: smi=sm | 0x0080 ' restart enabled, no auto incremental, nomal, no all call
program: delay(50)
program: ex("pi4j", "i2c write1 0x40,0x00,"+smi) ' set the mode-1 register to incremental mode.   40> 00+ a1+
program: delay(50)
program: '
program: ex("service","clear sendBuffer")
program: for i=1 to 30
program:     sensorPageUrl="http://www.yama-lab.org/fwb4pi/index.php?LightSensor1"
program:     sensorPage=ex("connector", "getpage "+sensorPageUrl)
program:     sensorPageR=getResultPart(sensorPage)
program:     parseCsv(sensorPageR, thisTable, thisRowLabel, thisColumnLabel)
program:     ix=getindex(thisTable, thisRowLabel, thisColumnLabel("device"),"=","light")
program:     rv=thisTable(ix,thisColumnLabel("v"))
program:     ex("service","putSendBuffer device=light, Date="+ex("service","getCurrentDate.")+", rv="+rv)
program:     if rv>10 then 'move ch0 to center 
program:     {
program:       '  ex("pi4j", "i2c write4 0x40,0x06,0x96,0x00")
program:          ex("pi4j", "i2c write1 0x40,0x06,0x00")
program:          ex("pi4j", "i2c write1 0x40,0x07,0x00")
program:          ex("pi4j", "i2c write1 0x40,0x08,0x96")
program:          ex("pi4j", "i2c write1 0x40,0x09,0x00")
program:     }
program:     else
program:     {
program:        ' ex("pi4j", "i2c write4 0x40,0x06,0x258,0x00")
program:          ex("pi4j", "i2c write1 0x40,0x06,0x00")
program:          ex("pi4j", "i2c write1 0x40,0x07,0x00")
program:          ex("pi4j", "i2c write1 0x40,0x08,0x58")
program:          ex("pi4j", "i2c write1 0x40,0x09,0x01")
program:     }
program:     delay(10000)
program: next i
program: ex("pi4j", "i2c close.")
program: ex("service","sendResults."); 
command: end i2cServo
command: run i2cServo
result:
device=light, Date=2016/10/4/ 23:16:20, rv=40
device=light, Date=2016/10/4/ 23:16:31, rv=40
device=light, Date=2016/10/4/ 23:16:43, rv=40
device=light, Date=2016/10/4/ 23:16:54, rv=40
device=light, Date=2016/10/4/ 23:17:5, rv=40
device=light, Date=2016/10/4/ 23:17:16, rv=40
device=light, Date=2016/10/4/ 23:17:28, rv=40
device=light, Date=2016/10/4/ 23:17:39, rv=40
device=light, Date=2016/10/4/ 23:17:50, rv=40
device=light, Date=2016/10/4/ 23:18:1, rv=40
device=light, Date=2016/10/4/ 23:18:13, rv=40
device=light, Date=2016/10/4/ 23:18:24, rv=40
device=light, Date=2016/10/4/ 23:18:35, rv=40
device=light, Date=2016/10/4/ 23:18:46, rv=40
device=light, Date=2016/10/4/ 23:18:58, rv=40
device=light, Date=2016/10/4/ 23:19:9, rv=40
device=light, Date=2016/10/4/ 23:19:20, rv=40
device=light, Date=2016/10/4/ 23:19:31, rv=40
device=light, Date=2016/10/4/ 23:19:42, rv=40
device=light, Date=2016/10/4/ 23:19:54, rv=40
device=light, Date=2016/10/4/ 23:20:5, rv=40
device=light, Date=2016/10/4/ 23:20:16, rv=40
device=light, Date=2016/10/4/ 23:20:27, rv=40
device=light, Date=2016/10/4/ 23:20:38, rv=40
device=light, Date=2016/10/4/ 23:20:49, rv=40
device=light, Date=2016/10/4/ 23:21:1, rv=40
device=light, Date=2016/10/4/ 23:21:12, rv=40
device=light, Date=2016/10/4/ 23:21:23, rv=40
device=light, Date=2016/10/4/ 23:21:34, rv=40
device=light, Date=2016/10/4/ 23:21:45, rv=40
currentDevice="yamaRasPiDp1_1",Date=2016/10/4/ 23:21:55

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS