-
Notifications
You must be signed in to change notification settings - Fork 0
/
PIN_OUT.txt
238 lines (200 loc) · 17.8 KB
/
PIN_OUT.txt
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
IchigoJamのピン配列表
■ IchigoJam ピン配列(基本) IchigoJam R 除く
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
下表に基本的なピン配列表を示します。
表の右列は表示環境によってずれてしまいます。気になる場合は等幅フォントに切り換えてご覧ください。
----------------------------+--------------------------
CN4(左側) |CN3(右側)
ピン name 役割 |ピン name 役割
----------------------------+--------------------------
1 VIDEO1 ビデオ同期信号出力 |28 KBD1 キーボードCLK
2 VIDEO2 ビデオ映像信号出力 |27 SCL I2C_SCL用
3 IN1 デジタル入力(IN1)内部プルアップ|26 KBD2 キーボードDATA
4 IN2 アナログ入力(IN2・ANA2) |25 SNOUD サウンド出力用
5 IN3 I2C_SDA用 |24 ISP ファームウェア書込み用
6 IN4 デジタル入力(IN4)内部プルアップ|23 RESET リセット入力
7 VCC アナログ電源入力 3.3V |22 GND メインGND入力
8 GND アナログGND入力 |21 VCC メイン電源入力
9 OUT1 デジタル出力(OUT1) |20 XTAL1 水晶振動子クロック入力
10 OUT2 デジタル出力(OUT2・PWM2) |19 XTAL2 水晶振動子バッファ出力
11 OUT3 デジタル出力(OUT3・PWM3) |18 OUT5 デジタル出力(OUT5・PWM5)
12 OUT4 デジタル出力(OUT4・PWM4) |17 OUT6 デジタル出力(OUT6)
13 BTN ボタン用・スリープ解除割込 |16 TXD UART送信・出力
14 LED LED用 |15 RXD UART受信・入力
----------------------------+--------------------------
※SCLはピン名が変更になりました。役割は同じです。(旧EX1端子・IchigoJam T~)
CN5(USBコネクタ近く・IchigoJam T,S)
----------------------------
ピン name 役割
----------------------------
1 5V USB電源用
2 SDA I2C_SDA用(IchigoJam Tから対応)
3 SCL I2C_SCL用(IchigoJam Tから対応)
4 3.3V マイコンVCC(IchigoJam Tから対応)
5 GND マイコンGND
----------------------------
※Iピン2~4はIchigoJam T から対応。I2C接続センサなどを接続するためのIoT向け端子です。
※ピン番号は基板の上側を1番ピンとしています。
■ IchigoJam Rβ ピン配列表
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
----------------------------+--------------------------
CN4(左側) |CN3(右側)
ピン name 役割 |ピン name 役割
----------------------------+--------------------------
1 VIDEO1 ビデオ同期信号出力 |28 KBD1 キーボードCLK
2 VIDEO2 ビデオ映像信号出力 |27 (NS)
3 IN1 デジタル入力(IN1)内部プルアップ|26 KBD2 キーボードDATA
4 IN2 アナログ入力(IN2・ANA2) |25 SNOUD サウンド出力用
5 IN3 I2C_SDA用 |24 ISP ファームウェア書込み用
6 IN4 デジタル入力(IN4)内部プルアップ|23 RESET リセット入力
7 VCC 電源入力 3.3V |22 GND GND入力
8 GND GND入力 |21 VCC 電源入力
9 OUT1 デジタル出力(OUT1) |20 SCL I2Cクロック
10 OUT2 デジタル出力(OUT2・PWM2) |19 SDA I2Cデータ
11 OUT3 デジタル出力(OUT3・PWM3) |18 OUT5 デジタル出力(OUT5・PWM5)
12 OUT4 デジタル出力(OUT4・PWM4) |17 OUT6 デジタル出力(OUT6)
13 BTN ボタン用・スリープ解除割込 |16 TXD UART送信・出力
14 LED LED用 |15 RXD UART受信・入力
----------------------------+--------------------------
https://github.com/IchigoJam/doc/blob/master/IchigoJam-R_pins.csv
https://github.com/IchigoJam/doc/blob/master/IchigoJam-R-pins.pdf
■ IchigoJam ピン配列(詳細版)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
IchigoJamの限られたピン数を有効に活用するために入力ピン/出力ピンを変更することも可能です。
例えば出力ピン数が足りない時に入力ピンを出力として使用することが出来ます。あるいは、拡張IO端子に
直接部品を取り付ける場合に部品に合わせて入出力を入れ替えたり、消費電流の少ない部品であれば、電源
やGNDを供給することも出来ます。
1~14番ピンは昇順で書かれていますが、15~28番ピンは降順です。(工作時に見やすいようにしました。)
------------------------------------------------------------------------------------------------
pin name 役割
------------------------------------------------------------------------------------------------
1 VIDEO1 ビデオ同期信号出力
2 VIDEO2 ビデオ映像信号出力
3 IN1 デジタル入力(IN1)・デジタル出力(OUT8) :入力時は内部プルアップ
4 IN2 デジタル入力(IN2)・デジタル出力(OUT9)・アナログ入力(ANA2) :入力時は内部オープン
5 IN3 デジタル入力(IN3)・デジタル出力(OUT10)・I2C_SDA用 :入力・H出力時オープン
6 IN4 デジタル入力(IN4)・デジタル出力(OUT11) :入力時は内部プルアップ
7 VCC アナログ電源入力 3.3V
8 GND アナログGND入力
9 OUT1 デジタル出力(OUT1)・デジタル入力(IN5)・アナログ入力(ANA5)
10 OUT2 デジタル出力(OUT2)・デジタル入力(IN6)・アナログ入力(ANA6)・アナログ32B1出力(PWM2)
11 OUT3 デジタル出力(OUT3)・デジタル入力(IN7)・アナログ入力(ANA7)・アナログ32B1出力(PWM3)
12 OUT4 デジタル出力(OUT4)・デジタル入力(IN8)・アナログ入力(ANA8)・アナログ32B1出力(PWM4)
13 BTN ボタン用デジタル入力(IN9)・アナログ入力(ANA0)、外部1MΩプルアップ、スリープ解除割込
14 LED LED用デジタル出力(OUT7)
------------------------------------------------------------------------------------------------
28 KBD1 キーボードCLK
27 SCL I2C_SCL用(旧EX1)
26 KBD2 キーボードDATA
25 SOUND サウンド出力用・プルダウンで自動起動(Ver 1.2の一部)
24 ISP ファームウェア書込み用、内部プルアップ
23 RESET リセット入力、内部プルアップ
22 GND メインGND入力
21 VCC メイン電源入力 3.3V 約17mA(VIDEO1時) 約13mA(VIDEO0時) ピン7の電流を含む
20 XTAL1 水晶振動子クロック入力
19 XTAL2 水晶振動子バッファ出力
18 OUT5 デジタル出力(OUT5)・デジタル入力(IN10)・アナログ16B1出力(PWM5)
17 OUT6 デジタル出力(OUT6)・デジタル入力(IN11)
16 TXD UART送信・出力
15 RXD UART受信・入力
------------------------------------------------------------------------------------------------
・下記はIchigoJam BASIC Version 1.1以降で対応されています。(Version 1.0では対応されていません。)
・デジタル入力IN5~IN8、IN10~IN11
・デジタル出力OUT7、OUT8~11
・アナログ出力PWM2~5
・アナログ入力ANA6~8
・BTNはIN9、ANA9でも動作します。
・IN3端子については、入力時だけでなく、OUT10の出力時(OUT 10,1)もオープンです。
■ OUT(デジタル出力)命令
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
OUT <PORT>,<0/1> PORTにポート番号、0でLレベル(約0V)、1でHレベル(約3.3V)を出力します。
OUT <PORT>,<-1> 指定した出力ポートをデジタル(一部アナログも対応)入力ポートにします。
OUTポートとINポートのポート番号が異なるので注意が必要です。
トリステート出力(L/H/Open)にしたい場合にも有効です。
OUT <数字> OUTポートを7つ同時に制御できます。2進数で最下位ビットがOUTポート1です。
(ポート毎に対して「<数字>=Σ <論理>×2^(<ポート番号>-1)」で算出)
OUT8~11を出力に設定後は設定したOUTポートも同時に制御することが出来ます。
OUTポート番号に対するピン番号(※最下位ビットが左)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ポート番号:OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8 OUT9 OUT10 OUT11
ビット桁 : b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10
ピン番号 : 9 10 11 12 18 17 14 3 4 5 6
ピン名 :OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 LED IN1 IN2 IN3* IN4
* IN3はオープンコレクタ出力につきHレベル出力(OUT 10,1)のときはオープンになります。
■ IN(デジタル入力)関数
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
IN(<PORT>) 指定したポート番号のデジタル値を応答します。A=IN(1)のように使います。
IN() INポート1~11の全データが入力されます。最下位ビットがINポート1です、
■ ANA(アナログ入力)関数
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ANA(<PORT>) アナログ入力値0~1023を応答します。
■ PWM(アナログ出力)関数
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
PWM <PORT>,<W>,<T> 指定したポート番号PORTに対して式「<W>/<T>」に応じた電圧を出力します。
PWMは約3.3Vと約0Vの出力を高速に切り換え、3.3V時の時間幅を調整して平均の
電圧を変化させるパルス幅変調というアナログ出力方式です。
高速切替の周期を<T>、変化するパルス幅を<W>で指定します。単位は[ms]です。
■ スリープとスリープ解除
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
SLEEP命令を使うとIchigoJamのシステムを低消費電力で停止することが出来ます。
タクトスイッチ(SW2)を押下するとスリープをすると、解除すことが出来ます。
BTN端子はプルアップされている必要があります(純正品は1MΩでプルアップされてる)。
■ プログラムの自動起動
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
BTN端子をGNDに接続しておくことで、電源を入れたときにプログラムを自動的に起動することが出来
ます。しかし、この方法だとタクトスイッチ(SW2)が使用できなくなります。
タクトスイッチも併用したい場合は、コンデンサ0.1μF(Z級品)をBTN端子とGND端子との間に接続し
ます。電源投入前~起動時にかけて0Vの電位を維持することができるので、プログラムの自動起動が
働き、起動後、充電されてタクトスイッチの使用ができるようになります。
ただし、電源を切ってからの時間が短いと、コンデンサに充電された電荷によって自動起動が妨げら
れる場合があります。
------------------------------------------------------------------------------------------------
■ 注意点
 ̄ ̄ ̄ ̄
・同じピンのOUTポートとINポートの番号が異なるので注意が必要です。
・IN()関数で取得した場合、BTN端子の「H」がIN9に表示されます。
OUT5や6をINにすると最大11ビットの出力が得られます。
これまでビットシフトなどで4ビット以上が来ないことを前提にしていた場合は「&#F」演算による
マスクが必要です。
・OUT命令の範囲はOUT #00~#7Fです。OUT8以降は、OUT <PORT>,<0/1>で出力します。
OUT8~11を出力に設定すると、OUT<数字>での制御を受け付けるようになります。
■ 補足:OUT8~11やIN5~11の切換え動作(参考情報)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
以下はややこしい話なので興味のある方だけお読みください。
OUT8~11については、例えばOUT 8,0とするとIN1端子がL出力に変わり、OUT 8,-1で入力に戻ります。この
OUTポートに関して気になったのは、OUT 0やOUT 128を実行した時にIN1入力端子が出力に変わらないかどう
かです。この影響を受けるとOUT 0命令などでIN1入力に不具合をきたすからです。
確認したところOUT<数字>の指定は#7Fでマスクされているような「適切な動き」をしていました。次に、
OUT 8,1でH出力を行います。22kΩだったVCC~IN1端子間の抵抗値が100Ω以下に変化しHレベルを出力して
いることが確認できました。さらに、 OUT 0を実行してみると、今度はちゃんとLレベルに変わります。つ
まり、一度、OUTに設定したあとはOUT 0やOUT 128を受け付けるようになります。
以上のとおり仕様として適切に出来ていることが分かりました。
次にIN端子です。IN5~11についてはIN()関数で最大11ビットまでのデジタル入力を受け付けていることが
分かりました。注意が必要なのは従来のプログラムで上位ビットをマスクせずに使用している場合、プロ
グラムの修正が必要になります。とくに通常時にHレベルのBTN信号がIN9に入力される点に配慮が必要です。
------------------------------------------------------------------------------------------------
----------------------------------------------------------------
■ ライセンス・著作権表示
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
本資料を複製・改変・再配布する場合は著作権表示が必要です。
CC BY (C) 2015-2016 国野亘 (Wataru KUNINO)
https://bokunimo.net/ichigojam/
----------------------------------------------------------------
----------------------------------------------------------------
■ 参考文献
 ̄ ̄ ̄ ̄ ̄
作成にあたり以下の情報を参照しました。
- http://ichigojam.net/IchigoJam.html
CC BY http://ichigojam.net/
- Facebook IchigoJam-FANグループ
https://www.facebook.com/groups/ichigojam/
- ichigojam-1.1b6.zipの新バージョン(アップロード)
https://www.facebook.com/groups/ichigojam/634011960071894/
- IchigoJam BASIC コマンド一覧 GitHub:fu-sen/IchigoJam-BASIC
https://github.com/fu-sen/IchigoJam-BASIC
- IchigoJam T
http://fukuno.jig.jp/1445
- IchigoJam Rβ
https://fukuno.jig.jp/3103
https://www.facebook.com/groups/ichigojam/permalink/2019215444884865/
----------------------------------------------------------------