を使った アナログ・スイッチ回路基板...

16
を使った を使った アナログ・スイッチ回路基板 アナログ・スイッチ回路基板 組み立ての書 組み立ての書 作:じむ feat . Hirameki_Sora|Twitter ■はじめに:「回路を組み立てる」にあたっての注意事項 1. 本回路基板を組み立てるには「電子工作」や「電子回路」、「ソフトウエア」についての一般 的な知識や工作環境などが必要です電子工作にあたっては火傷、切り傷等にもご注意ください。 2. 本回路基板は学習用の基板です。 工業製品への組み込みなど、用途外の使用はご遠慮ください。t また、本回路基板によって生じた損害などについては、一切責任を負いかねます3. 本回路基板の仕様は予告なく変更になる場合があります。ご注意ください。 4. 本書は、内容について絶対の保証をするものではありません5. FlashAir を使った一ファン(個人)の開発した内容です。 そのため、製造元(株)東芝から許可を得たものではありません。 よって同社への問い合わせはご遠慮ください。

Upload: others

Post on 09-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: を使った アナログ・スイッチ回路基板 組み立ての書rdstyle.cocolog-nifty.com/flashair/FlashAirSwitchCircuit... · 2014-10-17 · を使った アナログ・スイッチ回路基板

を使ったを使った

アナログ・スイッチ回路基板アナログ・スイッチ回路基板

組み立ての書組み立ての書

作:じむ

feat . @Hirameki_Sora|Twitter

■はじめに:「回路を組み立てる」にあたっての注意事項

1. 本回路基板を組み立てるには「電子工作」や「電子回路」、「ソフトウエア」についての一般的な知識や工作環境などが必要です。

電子工作にあたっては火傷、切り傷等にもご注意ください。

2. 本回路基板は学習用の基板です。工業製品への組み込みなど、用途外の使用はご遠慮ください。t

また、本回路基板によって生じた損害などについては、一切責任を負いかねます。

3. 本回路基板の仕様は予告なく変更になる場合があります。ご注意ください。

4. 本書は、内容について絶対の保証をするものではありません。

5. FlashAirを使った一ファン(個人)の開発した内容です。そのため、製造元(株)東芝から許可を得たものではありません。

よって同社への問い合わせはご遠慮ください。

Page 2: を使った アナログ・スイッチ回路基板 組み立ての書rdstyle.cocolog-nifty.com/flashair/FlashAirSwitchCircuit... · 2014-10-17 · を使った アナログ・スイッチ回路基板

目次

■はじめに:「回路を組み立てる」にあたっての注意事項.............................................................1■更新履歴.....................................................................................................................................2■回路図.........................................................................................................................................3■構成部品表:(ほとんどの部品は配布しています)....................................................................3■その他の部品..............................................................................................................................3■組み立て順序..............................................................................................................................4■電源投入の前に…......................................................................................................................7■電源投入.....................................................................................................................................7■回路の原理と動作上のお願い...................................................................................................7■動作チェック................................................................................................................................8■動かなかった場合の簡易チェック..............................................................................................9

【応用例】..............................................................................................................................................9【Arduino用 SDカード・シールドするには】......................................................................................10【回路図】............................................................................................................................................11【パーツリスト】.....................................................................................................................................12【動作チェック用の Javascriptサンプル=“List.htm”】......................................................................13【最後に】............................................................................................................................................15

■更新履歴

日時 更新内容

2014/10/12 初版

Page 3: を使った アナログ・スイッチ回路基板 組み立ての書rdstyle.cocolog-nifty.com/flashair/FlashAirSwitchCircuit... · 2014-10-17 · を使った アナログ・スイッチ回路基板

■回路図

→巻末参照

■構成部品表:(ほとんどの部品は配布しています)

→巻末参照

■その他の部品

FlashAir は各自用意してください。GPIO 機能が備わっているClass10(ファームウエア

バージョン 2.00.03以上)のものが必要になります。

IC([U2],[U3],[U4])には、「IC ソケット」(14 ピン x2,20 ピン x1)を付けるとより便利に利

用できます。

失敗したときすぐに外せますし、いらなくなったときには部品が再利用できます。

また、本回路基板を「Arduino 用 SD カード・シールド」として用いたい場合も、IC ソケットで

すと信号線の接続が簡単に行えます。

本回路基板を Arduino 用 SD カード・シールドとしてお使いの場合は、別途 Arduino のた

めのピンが必要になります。(6 ピン x2,8 ピン x1,10 ピン x1)

AC アダプターは 5V1A(センタープラス)のもので動作確認しております。

Page 4: を使った アナログ・スイッチ回路基板 組み立ての書rdstyle.cocolog-nifty.com/flashair/FlashAirSwitchCircuit... · 2014-10-17 · を使った アナログ・スイッチ回路基板

■組み立て順序

1 SD カードスロット…[U1]部品の裏側に 2 つの「位置合わせ用ポッチ」があります。

取り付ける際、出っ張り部分が浮いてしまうのでニッパーやカッターで

削ってください。

2 電源周り

2.1 3 端子レギュレータ…[Q1],[C1],[C2]3 端子レギュレータ([Q1])は、足を曲げて取り付けます。

電解コンデンサー(35V/47μF…[C2])は、背の高いコンデンサーです。([C3]と間違え

ないようにしてください。)

[C1]はどちらでもかまいませんが、[C2]は極

性がありますので、取り付けには注意してくだ

さい。

(足の短いほうがマイナス。)

2.2 電解コンデンサー(16V/100μF)…[C3]背が低いコンデンサーです。([C2]と間違えないようにしてくだ

さい。)

極性がありますので、取り付けには注意してください。

(足が短い方がマイナス。)

Page 5: を使った アナログ・スイッチ回路基板 組み立ての書rdstyle.cocolog-nifty.com/flashair/FlashAirSwitchCircuit... · 2014-10-17 · を使った アナログ・スイッチ回路基板

2.3 LED(青)周り…[D1][R1]LED([D1])は青色ですが、光らないとわからないので見た目透明です。

極性がありますので、取り付けには注意してください。

(足が短いほうがマイナス。)

ニッパーで切るときも、足の長さ

を意識してカットし

てください。

2.4 LED(赤)周り…[D2],[R2]LED([D2])赤です。

極性がありますので、取り付けには注意してください。

([D1]と同様なので、前項の[D1]の写真を参考にしてください)

2.5 DC コネクタ…[CON1]センタープラスになります。

Page 6: を使った アナログ・スイッチ回路基板 組み立ての書rdstyle.cocolog-nifty.com/flashair/FlashAirSwitchCircuit... · 2014-10-17 · を使った アナログ・スイッチ回路基板

3 集合抵抗…[RR1]方向が決まっているので向きを間違えないように付けてください。(写真参照)

4 IC 群…[U2],[U3],[U4](※本回路基板を「SD カード・シールド」で利用する場合は、[U3],[U4]の取り付けは必要

ありません。)

IC の取り付けには向きがあります。基板のシルクと IC の切り欠きの位置を合わせてくだ

さい。

また、後々のことを考えて、できれば ICソケットを取付けることをお勧めします。

5 スイッチコネクタ…[P1](写真参照)

6 Arduiono ピン…[P2],[P3],[P4],[P5]詳細は「Arduino 用 SD カード・シールドするには」を参照してください。

Page 7: を使った アナログ・スイッチ回路基板 組み立ての書rdstyle.cocolog-nifty.com/flashair/FlashAirSwitchCircuit... · 2014-10-17 · を使った アナログ・スイッチ回路基板

■電源投入の前に…

 できたので、すぐに電源を入れたい気持ち、よくわかります。

 が、電源を入れる前に、ぜひしていただきたいのが「電源部のショートチェック」。

 通電時に“ピー♪”と鳴るテスターを用意して、

DC コネクタの VSS,VCC 部分にリード棒をあてて

ショートしていないかを確認してください。

これは大切なことですので、お願いいたします。

■電源投入

 まずは FlashAir を挿さずに、AC アダプター(5V 1A)を

つないで、LEDx2([D1],[D2 ])が点灯するのを確認してく

ださい。

 点灯を確認後電源を落とし、改めて FlashAir を挿して、

電源を入れます。

 しばらくしてスマホ、タブレット、PC等で FlashAir の SSIDが表示されればハードウエアは完成です。

■回路の原理と動作上のお願い

 本回路基板は FlashAir(Class10:ファームウエアバージョン 2.00.03 以上)に搭載されて

いる。「GPIO機能」を使っています。(GPIO 機能の詳細に関しては FlashAir デベロッ

パーズサイトを参照してください。http://flashair-developers.com/ja/)

 提供されいている 5 つのポートを全て出力に設定し、無線で接続された機器(スマホ、タ

ブレット、PC等)から HTTP プロトコルによって、各ポート毎に High/Low を出力しています。

 出力された High/Low 信号は、レベルコンバー

タ(FXMA108)を介してアナログスイッチ回路

(74HC4066)内で信号をショートさせることで、ス

イッチが入る仕組みです。

 よって、スイッチの電気仕様・特性は

74HC4066 のスペックに依存します。

 このスペックを逸脱する信号線の、スイッチ制

御は行わないでください。

Page 8: を使った アナログ・スイッチ回路基板 組み立ての書rdstyle.cocolog-nifty.com/flashair/FlashAirSwitchCircuit... · 2014-10-17 · を使った アナログ・スイッチ回路基板

■動作チェック

1. FlashAir は通常GPIO 機能が働かないようになっています。

FlashAir の隠しフォルダ=“\SD_WLAN”に

CONFIG ファイルがありますので、PC等の

エディターで編集をします。

2. CONFIG ファイルに、以下の一文(半角)を

追加します。

IFMODE=1

保存し、閉じてください。

3. エディタを使って、巻末の Javascript を

“List.htm”という名称で、FlashAir の

SD_WLAN フォルダ内に保存します。

4. PC から編集し終えた FlashAir を取り出して、回路基板に挿して、電源を入れます

ただし、FlashAir のポートがまだ設定していませんので不定の値となっています。

よってスイッチコネクタ([P1])へのスイッチ配線はしないでください。

5. スマホ、タブレット、PC等で FlashAir の SSID,パスワードを入力して、FlashAir との

通信を確立します。

6. スマホ、タブレット、PC等のブラウザを起動して、URL に“http://flashair”と打ち込

み、FlashAir から 1 で作ったデータを受け取ります。

ブラウザ画面には図のような表示がされます。

Page 9: を使った アナログ・スイッチ回路基板 組み立ての書rdstyle.cocolog-nifty.com/flashair/FlashAirSwitchCircuit... · 2014-10-17 · を使った アナログ・スイッチ回路基板

任意のポートのボタンを押すことでスイッチが入るようになります。

◦ ショットスイッチ

上段のスイッチはチョン♪と ON/OFF するスイッチ。

◦ ON/OFF スイッチ

下段のスイッチは ON の状態、OFF の状態を維持するスイッチです。

7. この時点で FlashAir の GPIO 機能が設定されます。

ここで初めて回路基板のスイッチコネクタ([P1])の1~5へ、任意のスイッチ配線を

接続してください。

配線に当たっては、QI コネクタ(※)が便利で

す。

(※:写真内①~⑤のコネクタ)

■動かなかった場合の簡易チェック

「半田付けの抜け」や「イモ半」はありませんか?

LED青・赤は光っていますか?

FlashAirは Class10のモノで、のバージョンは

2.00.03以降ですか?

CONFIGファイルに“IFMODE=1”を記述してます

か?

 

【応用例】

動画

◦ 「DVD ドライブの EJECT」(試作基板での動作)http://youtu.be/PgvQzvUKKhw

◦ 「クレーンゲームのスイッチ制御」(試作基板での動作)http://youtu.be/6vQAW5jOXjU

◦ 「デジカメのスイッチ制御」(本回路基板での動作)http://youtu.be/owWEKEd7HVM

Page 10: を使った アナログ・スイッチ回路基板 組み立ての書rdstyle.cocolog-nifty.com/flashair/FlashAirSwitchCircuit... · 2014-10-17 · を使った アナログ・スイッチ回路基板

【Arduino用 SDカード・シールドするには】

IC の[U3],[U4]は不要なので付けません。

以下の 4 本の信号線を Arduino の各ピン番号へ接続します。

番号 GPIO機能基板部品番号-ピン番号

Arduinoピン

1 [U2]-7 13(CLK)

2 [U3]-5 12(MISO)

3 [U3]-12 10(CS)

4 [U4]-6 11(MOSI)

 Arduino の IDE にあるサンプルスケッチでは、CS が 4番に割り当てられているので、10番に変更してコンパイルします。

 その後書き込んで、実行すると SD カード・シールドとして動作します。

※:[U3],[U4]を IC ソケットにしておく恩恵と

して、ジャンパー線が挿せるので、半田する

手間が省けます。

元のアナログ・スイッチ回路として使用した

ければ、[U3],[U4]を挿せば OK。

Page 11: を使った アナログ・スイッチ回路基板 組み立ての書rdstyle.cocolog-nifty.com/flashair/FlashAirSwitchCircuit... · 2014-10-17 · を使った アナログ・スイッチ回路基板

【回路図】

Page 12: を使った アナログ・スイッチ回路基板 組み立ての書rdstyle.cocolog-nifty.com/flashair/FlashAirSwitchCircuit... · 2014-10-17 · を使った アナログ・スイッチ回路基板

【パーツリスト】

灰色行:配布部品として不同梱

Page 13: を使った アナログ・スイッチ回路基板 組み立ての書rdstyle.cocolog-nifty.com/flashair/FlashAirSwitchCircuit... · 2014-10-17 · を使った アナログ・スイッチ回路基板

【動作チェック用の Javascriptサンプル=“List.htm”】

<html>

<head>

<meta charset="UTF-8">

<title>FlashAir Analog Circuit - ButtonTest(Sample)</title>

<script language="javascript" type="text/javascript">

<!--

//関数:FlashAirに対して HTTP通信 GETをする

function flashair_get( param ){

var request = new XMLHttpRequest();

request.open("GET", param, false);

request.send(null);

//通信結果

document.getElementById('RESULT').value += (request.responseText+"\r\n");

}

//関数:GPIOポートをすべて Low

function gpio_off(){

var url = "http://flashair/command.cgi?op=190&CTRL=0x1f&DATA=0x00";

flashair_get(url);

p = 0x00;

}

//グローバル変数定義

var send_mess = "http://flashair/command.cgi?op=190&CTRL=0x1f&DATA=0x";

var p = 0x00;

//関数:任意のポートを High⇒Lowにする(=ショットスイッチ)

function gpio_shot(port){

switch( port ){

case 1:

gpio_onoff(1); //[ON]

setTimeout("gpio_onoff(-1)",300); //300ms後[OFF]

break;

case 2:

gpio_onoff(2); //[ON]

setTimeout("gpio_onoff(-2)",300); //300ms後[OFF]

break;

case 3:

gpio_onoff(3); //[ON]

setTimeout("gpio_onoff(-3)",300); //300ms後[OFF]

break;

case 4:

gpio_onoff(4); //[ON]

setTimeout("gpio_onoff(-4)",300); //300ms後[OFF]

break;

case 5:

gpio_onoff(5); //[ON]

setTimeout("gpio_onoff(-5)",300); //300ms後[OFF]

break;

}

}

//関数:任意のポートを High/Lowにする

function gpio_onoff(port){

switch( port ){

case 1: //[ON]

p |= 0x10;

url = send_mess + p.toString(16);

flashair_get(url);

break;

case 2: //[ON]

p |= 0x04;

url = send_mess + p.toString(16);

Page 14: を使った アナログ・スイッチ回路基板 組み立ての書rdstyle.cocolog-nifty.com/flashair/FlashAirSwitchCircuit... · 2014-10-17 · を使った アナログ・スイッチ回路基板

flashair_get(url);

break;

case 3: //[ON]

p |= 0x08;

url = send_mess + p.toString(16);

flashair_get(url);

break;

case 4: //[ON]

p |= 0x02;

url = send_mess + p.toString(16);

flashair_get(url);

break;

case 5: //[ON]

p |= 0x01;

url = send_mess + p.toString(16);

flashair_get(url);

break;

case -1: //[OFF]

p &= (~0x10);

url = send_mess + p.toString(16);

flashair_get(url);

break;

case -2: //[OFF]

p &= (~0x04);

url = send_mess + p.toString(16);

flashair_get(url);

break;

case -3: //[OFF]

p &= (~0x08);

url = send_mess + p.toString(16);

flashair_get(url);

break;

case -4: //[OFF]

p &= (~0x02);

url = send_mess + p.toString(16);

flashair_get(url);

break;

case -5: //[OFF]

p &= (~0x01);

url = send_mess + p.toString(16);

flashair_get(url);

break;

}

// document.getElementById('RESULT').value = p.toString(16);

}

// -->

</script>

</head>

<!-- ロードされたとき、ポートを全てOFFする -->

<body onLoad="gpio_off()">

<P>FlashAir GPIO スイッチ(ロードで全ポートクリア)</P>

<form>

<FIELDSET>

<LEGEND>全ポート オフ</LEGEND>

<br>

<input type="button" value="全ポート オフ" onclick="gpio_off()">

<br>

</FIELDSET>

</form>

<form>

<FIELDSET>

Page 15: を使った アナログ・スイッチ回路基板 組み立ての書rdstyle.cocolog-nifty.com/flashair/FlashAirSwitchCircuit... · 2014-10-17 · を使った アナログ・スイッチ回路基板

<LEGEND>ショットスイッチ</LEGEND>

<br>

<input type="button" value="Port 1" onclick="gpio_shot(1)">

<input type="button" value="Port 2" onclick="gpio_shot(2)">

<input type="button" value="Port 3" onclick="gpio_shot(3)">

<input type="button" value="Port 4" onclick="gpio_shot(4)">

<input type="button" value="Port 5" onclick="gpio_shot(5)">

<br>

</FIELDSET>

</form>

<form>

<FIELDSET>

<LEGEND>ON/OFFスイッチ</LEGEND>

<table><tr><td>

<FIELDSET>

<LEGEND>Port1</LEGEND>

<input type="button" value="[ON]" onclick="gpio_onoff(1)" style="WIDTH: 60px"><br><br>

<input type="button" value="[OFF]" onclick="gpio_onoff(-1)" style="WIDTH: 60px">

</FIELDSET>

</td><td>

<FIELDSET>

<LEGEND>Port2</LEGEND>

<input type="button" value="[ON]" onclick="gpio_onoff(2)" style="WIDTH: 60px"><br><br>

<input type="button" value="[OFF]" onclick="gpio_onoff(-2)" style="WIDTH: 60px">

</FIELDSET>

</td><td>

<FIELDSET>

<LEGEND>Port3</LEGEND>

<input type="button" value="[ON]" onclick="gpio_onoff(3)" style="WIDTH: 60px"><br><br>

<input type="button" value="[OFF]" onclick="gpio_onoff(-3)" style="WIDTH: 60px">

</FIELDSET>

</td><td>

<FIELDSET>

<LEGEND>Port4</LEGEND>

<input type="button" value="[ON]" onclick="gpio_onoff(4)" style="WIDTH: 60px"><br><br>

<input type="button" value="[OFF]" onclick="gpio_onoff(-4)" style="WIDTH: 60px">

</FIELDSET>

</td><td>

<FIELDSET>

<LEGEND>Port5</LEGEND>

<input type="button" value="[ON]" onclick="gpio_onoff(5)" style="WIDTH: 60px"><br><br>

<input type="button" value="[OFF]" onclick="gpio_onoff(-5)" style="WIDTH: 60px">

</FIELDSET>

</td></tr></table>

</FIELDSET>

</form>

<input type="text" id="RESULT" value="結果=">

</body>

</html>

【最後に】

 本書を作成するにあたり、アドバイス・添削をしてくださった“余熱さん@れすぽん”さん、

ありがとうございました。

Page 16: を使った アナログ・スイッチ回路基板 組み立ての書rdstyle.cocolog-nifty.com/flashair/FlashAirSwitchCircuit... · 2014-10-17 · を使った アナログ・スイッチ回路基板