-
Notifications
You must be signed in to change notification settings - Fork 110
Expand file tree
/
Copy pathReference
More file actions
143 lines (88 loc) · 3.41 KB
/
Copy pathReference
File metadata and controls
143 lines (88 loc) · 3.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
//functions//
int cpf.request(String action);
Parameters
Action parameter can be divided in two main parts: Initial pin and command
Arduino Leonardo board:
Initial pin: setup the mode for pin
["resetPin"] //prefix
["setPinMode", "analog", <0~5>, "INPUT"]
["setPinMode", "digital", <0~13>, "OUTPUT"]
["setPinMode", "digital", <0~13>, "INPUT"]
["setPinMode", "digital", <0~13>, "SERVO"]
["setPinMode", "digital", <0~13>, "TONE"]
["grove_newChainableLED", 7, 8, <num of leds>]
Command:
[“digitalWrite”, <0~13>, <0 or 1>]
[“analogWrite”, <0~5>, <0 or 255>]
[“grove_setColorRGB”, <num led to control: from 0>, <R:0~255>, <G:0~255>, <B:0~255>]
For example:
1)var ret = cpf.request ('[\"resetPin\"],[\"setPinMode\", \"analog\", 0, \"INPUT\"],[\"setPinMode\", \"analog\", 1,\"INPUT\"],[\"grove_newChainableLED\", 7, 8, 1]');
2)var ret = cpf.request ('[\"digitalwrite\", 1, \"LOW\"]');
var ret = cpf.request ('[\"digitalwrite\", 1,\"LOW\"],[\"digitalwrite\", 3, \"LOW\"] ');
LED101 board:
Initial pin:
[“resetPin”]
[“setPinMode”, “digital”, <0 or 1>, “OUTPUT”]
Command:
["digitalWrite", <0~3>, <0 or 1>]
For example:
var ret = cpf.request('[\"digitalWrite\", 2, 1]');
Braccio Robotic Arm:
Initial pin:
["resetPin"]
["setPinMode", "digital", 3, "SERVO"]
["setPinMode", "digital", 5, "SERVO"]
["setPinMode", "digital", 6, "SERVO"]
["setPinMode", "digital", 9, "SERVO"]
["setPinMode", "digital", 10, "SERVO"]
["setPinMode", "digital", 11, "SERVO"]
Command:
["braccio_movement", <delay: ms>, <S1: 0~180>, <S2: 0~180>, <S3: 0~180>, <S4: 0~180>, <S5: 0~180>, <S6: 0~180>]
-第一個參數是delay time, 數字越小移動越快, 假設delay time為n, 則6個servo 每n毫秒都會移動1度, 直到你設定的角度
-2~7個參數分別對應6個servo, 由底座開始算第一個, 數值(角度) 0~180
For example:
慢速移動手臂: var ret = cpf.request('[\"braccio_movement\", 20, 180, 0, 180, 180, 180, 67]');
快速移動手臂: var ret = cpf.request('[\"analogWrite\", 3, 180]');
Servo:
Initial pin:
["servo_init", <pin>, <pos>, <minPulse>, <maxPulse>]
Command:
["servo_pos_speed", <pin>, <targetPos>, <delay>] 前進1, 暫停<delay>毫秒, 再次前進1, 直到抵達目標位置
["servo_pos", <pin>, <targetPos>]
For example:
慢速移動Servo: var ret = cpf.request('[\"servo_pos_speed\", 4, 60, 30]');
快速移動Servo: var ret = cpf.request('[\"servo_pos\", 4, 60]');
Return value
LED 101 error
{"errCode":2100, "errMsg": JSON is not valid.}
Arduino error
{"errCode": 2200, "errMsg": JSON is not valid.}
{"errCode": 2201, "errMsg": "Exception('API is not valid',)"}
{"errCode": 2201, "errMsg": "SerialException('Attempting to use a port that is not open',)"}
{"errCode": 2202, "errMsg": Uploading Arduino FW.}
------------------------------------------------------------------------
//Standard lesson APIs
//Set white led on or off
cpf.set("white led", power);
Parameters
power:1 means on
power:0 means off
//Set fan speed
cpf.set("fan", speed);
Parameters
speed: range 0-255
//Set RBG LED
cpf.set("rgb led", r, g, b);
Parameters
r: red color, range 0-255
g: green color, range 0-255
b: blue color, range 0-255
//Set 4 relay shiled
//Get light sensor data
int cpf.get("light sensor");
Return value
the return value is 0-1023
//Get temperature data
int cpf.get("temperature sensor");
Return value
the return value is 0-1023