12.06.16 日本橋勉強会資料 公開用

38
日本橋女子はんだ付け勉強会 OSS コンソーシアム 組込み部会女子部 いわつきみわ

Upload: miwa-iwatsuki

Post on 28-May-2015

1.409 views

Category:

Documents


7 download

DESCRIPTION

日本橋女子ハンダ付け会で使用した資料です。 2012.06.19 初版公開 2012.06.22 改訂第2版

TRANSCRIPT

Page 1: 12.06.16 日本橋勉強会資料 公開用

日本橋女子はんだ付け勉強会

OSS コンソーシアム 組込み部会女子部● いわつきみわ

Page 2: 12.06.16 日本橋勉強会資料 公開用

本日のアジェンダ

● ご挨拶 (5min)● 今日の勉強会の概要の説明 (10min)● はんだ付け実習 (60min)● おやつタイム (30min)● はんだ付け実習&動作確認 (30min)● スケッチなどの説明 (45min)

Page 3: 12.06.16 日本橋勉強会資料 公開用

諸注意

● 技術補助スタッフが2名につき1名つきます● 実習中、お手洗いは自由に行って大丈夫です● 難しいと感じたり、よくわからないと思った

らその場でスタッフか私に聞いてみてください

● はんだごては 400 度くらいになりますので

扱いには充分に注意してください

Page 4: 12.06.16 日本橋勉強会資料 公開用

OSS コンソーシアムとは

● オープンソースを活用したビジネスを活性化させる事を目的に、 Linux コンソーシアムを前身として2009年に発足

● 組込み部会  facebook ページ

http://www.facebook.com/ossc.emb

● 日本橋女子ハンダ付け会のきっかけ

http://www.slideshare.net/takeoka1/kof-oss

Page 5: 12.06.16 日本橋勉強会資料 公開用

OSSC 組込み部会女子部半田ごて勉強会 2010/冬

第1回 オルゴールを作る

 2011/08/07

第2回 秋月電子のATmega168/328

マイコンボードキット

(http://akizukidenshi.com/catalog/g/gK-04590/)

 2011/09/10

第3回 ラブテスターを作る

 2011/11/28

第4回 アーデュイーノ互換マイコン・ボードを作る

(CQ出版 小坂貴美男 著)

Page 6: 12.06.16 日本橋勉強会資料 公開用

自己紹介

・所属  OSS コンソーシアム組込み部会

・ twitter   @miw0129

・職業 会社員のようなもの

  web 系のアプリケーション開発と

 その周辺の事をやっています。

・今は Android と Arduino に興味があります。

Page 7: 12.06.16 日本橋勉強会資料 公開用

本日のテーマ

ADK+Android で Arduino を操作する!

Page 8: 12.06.16 日本橋勉強会資料 公開用

本日の資料

① 吉田さんのはんだ付けの資料 https://docs.google.com/open?id=0B3x_amEfMljRTnp3U0h1R1NLd3M②使用したソースコードhttps://github.com/miw0129/joshi_handa_20120616③たけおかさんの Arduino の資料http://www.osscons.jp/modules/attachfile/index.php?mode=download&attach_id=106

Page 9: 12.06.16 日本橋勉強会資料 公開用

何が出来るの?

● Android端末に接続していないとき

①CdSセルの値によって LED の明るさが変化する

● Android端末に接続しているとき

起動するアプリによって2つの挙動

②AdkDaio(Android アプリケーション )

 画面から LED の操作と CdSセルの値を確認

③勉強会用バルス (Android アプリケーション )

● 「バルス!」と呟いて LED を操作

Page 10: 12.06.16 日本橋勉強会資料 公開用

使用する Android アプリケーションその1

※今回の勉強会の為に、元々公開されていたソースコードに変更を加え、GooglePlayに公開しています。 ( 著作者の許可を取ってあります )

● AdkDaio

https://play.google.com/store/apps/details?id=jp.co.socym.dorobook.AdkDaioProj&feature=search_result#?t=W251bGwsMSwyLDEsImpwLmNvLnNvY3ltLmRvcm9ib29rLkFka0RhaW9Qcm9qIl0

● 参考元になった記事

OSPN Press「「オープンソース」を使ってみよう ( 第 18回 ADK編 ) 日本 Android の会神戸支部」

http://www.ospn.jp/press/20120404no22-2-useit-oss.html

Page 11: 12.06.16 日本橋勉強会資料 公開用

使用する Android アプリケーションその2

● 勉強会用バルス

https://play.google.com/store/apps/details?id=jp.miw_tan.balus_for_study&feature=search_result#?t=W251bGwsMSwxLDEsImpwLm1pd190YW4uYmFsdXNfZm9yX3N0dWR5Il0

● 参考元になった記事

YAM の雑記帳「Android   ADK を使ってバルスって言ったら青色 LED が光るようにしてみた。」

http://y-anz-m.blogspot.jp/2011/12/androidadkled.html

Page 12: 12.06.16 日本橋勉強会資料 公開用

ADK とは?

● Android Open Accessory Development Kit の略で、 2011 年5月のGoogle I/O で発表された Android のハードウェア拡張仕様

● 詳しくは吉田さんのスライドをみてね。

http://www.slideshare.net/ssuser3261c5/adk

Page 13: 12.06.16 日本橋勉強会資料 公開用

工作に使うパーツの準備● ミント缶で Maker気分

https://docs.google.com/open?id=0B3x_amEfMljRTnp3U0h1R1NLd3M

● リード線を用意しよう 

https://docs.google.com/presentation/d/1p8Z3qNr47vZOGnNsVX57J1DxInnYkJbrfBJEak658dA/edit

● 部品チェック&ハンダ付け手順 (カラー版ネット閲覧用 ).pdf

https://docs.google.com/open?id=0B3x_amEfMljRTnp3U0h1R1NLd3M

Page 14: 12.06.16 日本橋勉強会資料 公開用

工作に使うパーツの説明

● LED– 赤 x 1個

– 青 x 1個

● 抵抗– 1kΩ x 2個

– 10kΩ x 2個

● タクトスイッチ x 1個● CdSセル 1個

Page 15: 12.06.16 日本橋勉強会資料 公開用

LED( 発光ダイオード ) とは

● ダイオード : 電流を一定方向にしか流さない

● 足が長いほうが陽極 ( アノード ) 、短いほうが陰極(カソード )

● 足を切っても見分けは… !● 今回の工作でも部品を挿

す向きに要注意● よーく見たらわかるかも

Page 16: 12.06.16 日本橋勉強会資料 公開用

抵抗カラーコード表

0 0 1

1 1 10 ±1

2 2 10^2 ±2

3 3 10^3

4 4 10^4

5 5 10^5

6 6 10^6

7 7 10^7

8 8 10^8

白 9 9 10^9

金 0.1 ±5

銀 0.01 ±10

無色 ±20

1 0 10^2 ±5→(10 * 100)Ω ±5→1kΩ ( 許容誤差 ±5%)

Page 17: 12.06.16 日本橋勉強会資料 公開用

CdSセルとは

● CdS(硫化カドミウム ) を用いたフォトレジスタ

● フォトレジスタ : 光が当たると電気抵抗が小さくなる部品(光が強いほど小さくなる )

● 極性 ( 部品を挿す向きの指定 )はありません

● 硫化カドミウムは毒性があるため電子機器の特定有害物質の規制対象になっている

Page 18: 12.06.16 日本橋勉強会資料 公開用

タクトスイッチとは

● 押すとカチカチなるスイッチ● 押している間電気が流れます● 極性はありませんが、スイッ

チが押されたときに足の間隔が短いもの同士が通電するので、縦横の向きには注意が必要

● 結構いろんな色があってかわいいです。大量に買ってもそんなに使い道ないよ、といわれたりします w

Page 19: 12.06.16 日本橋勉強会資料 公開用

Arduino とはAVRマイコン、入出力ポート、開発言語、統合開発環境などが揃ったハードウェア開発環境

ハードウェア仕様が公開されているので市販の部品を買ってきてマイコンボードを自作する事も出来ます。

最新の基本構成ArduinoはUno。他にもminiやMEGA、服飾に使えるLilyPad等があります。

統合開発環境でC言語ライクなプログラミング言語を用いた開発を行います。

「シールド」と呼ばれる拡張ボードを挿すことで機能を追加することが出来ます。

Page 20: 12.06.16 日本橋勉強会資料 公開用

Arduino のピンとポート

6 本のアナログ INピン

(A0 〜 A5)

14 本のデジタル IOピン(pin0 〜 pin13)

うち、 - のついている(pin 3, 5, 6, 9, 10, 11)はアナログOUT にも利用可能

→pinMode()関数で設定

Page 21: 12.06.16 日本橋勉強会資料 公開用

Arduino でのプログラム実行フロー

loop 関数

setup 関数

ボードへ電源投入・ setup()Arduino ボードの電源を入れたときやリセットしたときに、一度だけ実行される。変数やピンモードの初期化、ライブラリの準備などに使用。省略不可。

・ loop()Arduino に給電されている限り何度でも呼び出される。外部センサー値の読み取りやピン出力制御などに使用。省略不可。

その他の自動処理

Page 22: 12.06.16 日本橋勉強会資料 公開用

Arduino IDE

● 統合開発環境

● スケッチの検証や実機転送、シリアルモニタ出力などの開発に必要な機能が一通り揃えられたオープンソースソフトウェア

Page 23: 12.06.16 日本橋勉強会資料 公開用

USBホストシールド

● ADK の仕組みを使ってAndroid との通信を行うために必要 (Arduino だけを使ってハードを作る際には必要ありません )

● Arduino Uno とあまり変わらないぐらいの値段します(;;)

Page 24: 12.06.16 日本橋勉強会資料 公開用

ソースコード解説

Page 25: 12.06.16 日本橋勉強会資料 公開用

ADK設定

● この設定で、 Android側で対応するアプリを指定します

● 同じアクセサリに対応する複数のアプリが Android にインストールされている場合は、どのアプリで開くか選択画面が表示されます

● “ジャンプ先 URL”には、 Android側アプリケーションの入手先 URL(Google Playの URL等 ) を記載することが出来ます

Page 26: 12.06.16 日本橋勉強会資料 公開用

setup関数の内容

Page 27: 12.06.16 日本橋勉強会資料 公開用

loop関数の処理 (ADK非接続時 )

Page 28: 12.06.16 日本橋勉強会資料 公開用

Android からのコマンド処理 (loop)

● 処理できるコマンドは 3種類

● 0x0: 赤 LED点灯 /消灯

● 0x1: 青 LED PWM制御

● 0xff: バルス !

Page 29: 12.06.16 日本橋勉強会資料 公開用

(参考 ) コマンド送信する Android側ソース

Page 30: 12.06.16 日本橋勉強会資料 公開用

Androidへのスイッチ /センサー情報送信 (loop)

● ボタン状態を変数で管理して変化があれば送信

● CdSセルの値を定期的に送信

Page 31: 12.06.16 日本橋勉強会資料 公開用

スケッチに使われている主要な関数

・ pinMode(pin, mode)ピンの動作を入力か出力に設定します。・ digitalRead(pin)デジタル入力。指定したピンの値を読み取ります。その結果はHIGHまたは LOWとなります。・ analogRead(pin)アナログ入力。指定したアナログピンから値を読み取ります。・ digitalWrite(pin, value)デジタル出力。 pin にHIGH(0) か LOW(1) を設定する。・ analogWrite(pin, value)アナログ出力。 pin に 1~255 までの数字を設定する。

Page 32: 12.06.16 日本橋勉強会資料 公開用

困ったら Serial.println()

● プログラムがうまく動かない時の問題を切り分けるのに、 LED を点灯させるなどの確認方法しか無いのでは不便

● PC との USB接続経由で文字列を PC に送るのが Serial.println()

● 使う前に Serial.begin()

例 :

void setup() { Serial.begin(115200);}

void loop() { ... If (error) { Serial.println("debug output”); }}

=>PC 側では Arduino IDE の  “ Serial Monitor” を使います

Page 33: 12.06.16 日本橋勉強会資料 公開用

おまけ ~音声認識の仕組み ~アプリ

balus_modActivity.java

Googleサービス

Android側ライブラリ

Googleサーバ

startActivityForResult()

onActivityResult()

音声送信

音声録音

結果データ

Intent に入っているデータからgetStringArrayListExtra() で、音声認識の結果 ( コレクション )を取得。※今回のバルスアプリ

では「バルス」の音声認識の結果、カタカナの " バルス "が先頭に入ってくるので配列の 0番目が" バルス "であった時にバルス成功

とする if文が入っています。

結果データには候補が単数ないし複数返ってきます。日本語の場合、漢字の結果が返ってくることも。例 )「にっぽんばし」と呟く。→「日本橋」「にっぽんばし」「ニッ  ポンバシ」などが返ってくる。

Page 34: 12.06.16 日本橋勉強会資料 公開用

おまけ ~困ったときは ~

当日、動作確認中にアプリがうまく動作しなかった事があったと思いますが、そういう時は・・

● リセットボタン+Android端末抜き差しをすると、確実にアプリが起動します。 リセットボタンの場所はボードによって多少の違いがありますが大体同じような場所についています。 側面についているものやタクトスイッチになっているものも・・

Page 35: 12.06.16 日本橋勉強会資料 公開用

おまけ ~ADK対応端末の調べ方~● Androidバージョン 2.3.4 でも ADK がつかえない端末が

ある?

$adb shell pm list features

adb shell を使用して features を確認、

android.hardware.usb.accessoryがあると ADK に対応しているようです。

● feature って何?

AndroidManifest の <uses-feature>に UsbAccessoryを指定することによって対応デバイスをフィルタリングすることができると書いてあるので、メーカー側でサポート機能を明示するようなものだと思うのですが…

● 参考 URL: http://act-yoshiken.blogspot.jp/2012/01/adb-shellandroidadk.html

http://y-anz-m.blogspot.jp/2011_05_01_archive.html

Page 36: 12.06.16 日本橋勉強会資料 公開用

おまけ ~ADK対応端末の調べ方~

● 実際にコマンドを打ってみるとこんな画面になります。確認端末:Xperia ray

Page 37: 12.06.16 日本橋勉強会資料 公開用

参考文献● Y.A.M の雑記帳

http://y-anz-m.blogspot.jp/2011/12/androidadkled.html

● OSPN Presshttp://www.ospn.jp/press/20120404no22-2-useit-oss.html

● Arduino 日本語リファレンスhttp://www.musashinodenpa.com/arduino/ref/

● 「Arduino を始めよう」Massimo Banzi 著 /船田巧 訳

● 「AndroidADK プログラミング&電子工作バイブル」岩田直樹 /杉浦登 /高木基成 /原田明憲 / 吉田研一 共著

Page 38: 12.06.16 日本橋勉強会資料 公開用

SpecialThanks

 -主催&会場提供-

日本橋でんでんタウン電子工作教室 さま

-協力-

 日本Androidの会神戸支部 および、吉田研一さま

 京都GTUG および、藏野文子さま

 Galileo7 東昌宏さま

 世話人 兼高理恵さま

 OSSコンソーシアム 竹岡尚三さま

 -企画&技術協力-

 Android女子部 あんざいゆきさま

@muo_jpさま