• 検索結果がありません。

を使った アナログ スイッチ回路基板 組み立ての書 作 : じむ Twitter はじめに : 回路を組み立てる にあたっての注意事項 1. 本回路基板を組み立てるには 電子工作 や 電子回路 ソフトウエア についての一般的な知識や工作環境などが必要です 電

N/A
N/A
Protected

Academic year: 2021

シェア "を使った アナログ スイッチ回路基板 組み立ての書 作 : じむ Twitter はじめに : 回路を組み立てる にあたっての注意事項 1. 本回路基板を組み立てるには 電子工作 や 電子回路 ソフトウエア についての一般的な知識や工作環境などが必要です 電"

Copied!
16
0
0

読み込み中.... (全文を見る)

全文

(1)

を使った

を使った

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

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

組み立ての書

組み立ての書

作:じむ

feat . @

Hirameki_Sora|Twitter

■はじめに:

「回路を組み立てる」にあたっての注意事項

1. 本回路基板を組み立てるには「電子工作」や「電子回路」、「ソフトウエア」についての一般

的な知識や工作環境などが必要です。

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

2. 本回路基板は学習用の基板です。

工業製品への組み込みなど、用途外の使用はご遠慮ください。t

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

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

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

5. FlashAir を使った一ファン(個人)の開発した内容です。

そのため、製造元(株)東芝から許可を得たものではありません。

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

(2)

目次

■はじめに:「回路を組み立てる」にあたっての注意事項...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

初版

(3)

■回路図

→巻末参照

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

→巻末参照

■その他の部品

 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(センタープラス)のもので動作確認しております。

(4)

■組み立て順序

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]と間違えないようにしてくだ

さい。)

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

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

(5)

2.3

LED(青)周り…[D1][R1]

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

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

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

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

を意識してカットし

てください。

2.4

LED(赤)周り…[D2],[R2]

LED([D2])赤です。

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

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

2.5

DC コネクタ…[CON1]

センタープラスになります。

(6)

3 集合抵抗…[RR1]

方向が決まっているので向きを間違えないように付けてください。(写真参照)

4 IC 群…[U2],[U3],[U4]

(※本回路基板を「

SD カード・シールド」で利用する場合は、[U3],[U4]の取り付けは必要

ありません。)

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

さい。

また、後々のことを考えて、できれば

IC

ソケットを取付けることをお勧めします。

5 スイッチコネクタ…[P1]

(写真参照)

6 Arduiono ピン…[P2],[P3],[P4],[P5]

詳細は「Arduino 用 SD カード・シールドするには」を参照してください。

(7)

■電源投入の前に…

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

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

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

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 のスペックに依存します。

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

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

(8)

■動作チェック

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 で作ったデータを受け取ります。

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

(9)

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

◦ ショットスイッチ

上段のスイッチはチョン♪と

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

(10)

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

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

以下の

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

番号

GPIO 機能基板

部品番号-ピン番号

Arduino ピン

[U2]-7

13(CLK)

[U3]-5

12(MISO)

[U3]-12

10(CS)

[U4]-6

11(MOSI)

 

Arduino の IDE にあるサンプルスケッチでは、CS が 4 番に割り当てられているので、10

番に変更してコンパイルします。

 その後書き込んで、実行すると

SD カード・シールドとして動作します。

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

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

手間が省けます。

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

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

(11)
(12)

【パーツリスト】

(13)

【動作チェック用の

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;

(14)

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>

(15)

<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>

【最後に】

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

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

(16)

参照

関連したドキュメント

実際, クラス C の多様体については, ここでは 詳細には述べないが, 代数 reduction をはじめ類似のいくつかの方法を 組み合わせてその構造を組織的に研究することができる

漏洩電流とB種接地 1)漏洩電流とはなにか

ウェブサイトは、常に新しくて魅力的な情報を発信する必要があります。今回制作した「maru 

を行っている市民の割合は全体の 11.9%と低いものの、 「以前やっていた(9.5%) 」 「機会があれば

このアプリケーションノートは、降圧スイッチングレギュレータ IC 回路に必要なインダクタの選択と値の計算について説明し

№3 の 3 か所において、№3 において現況において環境基準を上回っている場所でございま した。ですので、№3 においては騒音レベルの増加が、昼間で

・毎回、色々なことを考えて改善していくこめっこスタッフのみなさん本当にありがとうございます。続けていくことに意味

LUNA 上に図、表、数式などを含んだ問題と回答を LUNA の画面上に同一で表示する機能の必要性 などについての意見があった。そのため、 LUNA