21
ハハハハハハハ ハハハハ 2013 ハ 5 ハ 26 ハ ハハ

ハードウェアで遊ぼうよ

Embed Size (px)

DESCRIPTION

第3回福岡市西区プログラム勉強会で発表した内容の資料

Citation preview

Page 1: ハードウェアで遊ぼうよ

ハードウェアで遊ぼうよ2013 年 5 月 26 日李 充根

Page 2: ハードウェアで遊ぼうよ

みなさん ハードウェアやってますか?

難しそうだけど、最近のハードウェア環境はソフトウェア屋でも簡単に始められる!

ハードウェアだってオームの法則わかっていればなんとかなるよ

Page 3: ハードウェアで遊ぼうよ

ハードウェア ( ボード ) の区分 FPGA( マイコンじゃない )

アルテラ DE-1 ARM コンピュータ

Raspberry Pi 、 Beagle Board ARM ボード

STBee 、 mbed マイコンボード

Arduino

Page 4: ハードウェアで遊ぼうよ

用途とか違いとか それぞれに得手不得手がある FPGA は次元が違う OS を入れて小型 Linux として使うなら

Raspberry Pi 簡単な事を直感的に行うなら Arduino ちょっと高度なことをしたり仕事でプロダク

トに入れたりするのなら ARM マイコン

Page 5: ハードウェアで遊ぼうよ

Arduino って? イタリアで開発されたマイコンボードとその

開発環境 AVR マイコンを用いており、 C 言語風の言語

でプログラムできる アーティストなど非プログラマでも簡単にプ

ログラムできるようになっている

Page 6: ハードウェアで遊ぼうよ

なにがいいの? オープンな環境 ボードと PC さえあれば開発できる 豊富な情報 様々なシールドがあり拡張しやすい

Page 7: ハードウェアで遊ぼうよ

どうやってつかうの? まずはボードを買う

マルツとかカホとか スイッチサイエンスとか

開発 Windows の場合開発環境のインストーラが用

意されている その他も Java ベースのエディタなので導入は

簡単なはず

Page 8: ハードウェアで遊ぼうよ

まずは電子回路の基礎の基礎 オームの法則

V = I * R ( 電圧 = 電流 * 抵抗 )

V

GND

RI

R

V

I

Page 9: ハードウェアで遊ぼうよ

LED 回路記号

LED 点灯回路

LED は電圧は降下するが電流はそのまま通るため、電流を制限させるために抵

抗が必要

Page 10: ハードウェアで遊ぼうよ

トランジスタ 回路記号

用途増幅とかスイッチとか

Page 11: ハードウェアで遊ぼうよ

トランジスタ 使い方色々ある基本ベース・エミッタに電流を流すとコレクタ・エミッタに大電流が流れる

Page 12: ハードウェアで遊ぼうよ

スイッチについて

Page 13: ハードウェアで遊ぼうよ

やっと Arduino プログラム 基本は C 言語とほぼ同じ

初期設定やらループ動作の記述を簡単にできるようになっている ピン設定などは setup 関数 処理に関しては loop 関数

リファレンスについては下記 http://www.musashinodenpa.com/arduino/ref/index.php

Page 14: ハードウェアで遊ぼうよ

L チカプログラム(HW の HelloWorld)#define LEDPIN 0

void setup(){ pinMode(LEDPIN,OUTPUT);

}

void loop(){ digitalWrite(LEDPIN,HIGH); delay(1000); digitalWrite(LEDPIN,LOW); delay(1000);}

Page 15: ハードウェアで遊ぼうよ

実際にはこんな感じ さっきのプログラムはこういうふうになる

main(){ setup();

while(1){ loop(); }}

Page 16: ハードウェアで遊ぼうよ

回路的には 0 番ピンは HIGH になると 5V 、 LOW になる

と 0V が出力される

まぁ、この程度なら抵抗なしでも問題ないかも…

Arduino0

Page 17: ハードウェアで遊ぼうよ

マイコンのデバッグについて ソフトウェア的なデバッグと回路的なデバッ

グ両方が必要 PC アプリのプログラムみたいにインテリ

ジェントなデバッグはできない 結局はアナログなところに行き着く

Page 18: ハードウェアで遊ぼうよ

マイコンのデバッグについて ソフトウェア部分についても出力ピンの値を

テスターで読み取って解析する必要もある 回路部分についてはショートしてないか、接

続がおかしくないか確認する ソフトウェアと違って回路的には合っている

のになぜか正しく出て来なかったり、中途半端な値が出たりする

Page 19: ハードウェアで遊ぼうよ

開発について ソフトウェアと回路両方の設計が必要 リソースは限られている

プログラム領域、ピンの数、動作速度、… 通常の PC プログラムのようなゴリ押しではで

きないこともある やりたいことを考えて、できないのなら別の

手段 ( より高度なマイコン、 PC の演算に頼るなど ) も検討する

Page 20: ハードウェアで遊ぼうよ

あると便利なもの Arduino ブレッドボード テスター 部品セット ( 抵抗・ LED ・トランジスタ )

オシロスコープ ファンクションジェネレータ

Page 21: ハードウェアで遊ぼうよ

ご清聴ありがとうございましたLet’s Try

(mbed楽しいな )