Upload
lee-choong-geun
View
541
Download
0
Embed Size (px)
DESCRIPTION
第3回福岡市西区プログラム勉強会で発表した内容の資料
Citation preview
ハードウェアで遊ぼうよ2013 年 5 月 26 日李 充根
みなさん ハードウェアやってますか?
難しそうだけど、最近のハードウェア環境はソフトウェア屋でも簡単に始められる!
ハードウェアだってオームの法則わかっていればなんとかなるよ
ハードウェア ( ボード ) の区分 FPGA( マイコンじゃない )
アルテラ DE-1 ARM コンピュータ
Raspberry Pi 、 Beagle Board ARM ボード
STBee 、 mbed マイコンボード
Arduino
用途とか違いとか それぞれに得手不得手がある FPGA は次元が違う OS を入れて小型 Linux として使うなら
Raspberry Pi 簡単な事を直感的に行うなら Arduino ちょっと高度なことをしたり仕事でプロダク
トに入れたりするのなら ARM マイコン
Arduino って? イタリアで開発されたマイコンボードとその
開発環境 AVR マイコンを用いており、 C 言語風の言語
でプログラムできる アーティストなど非プログラマでも簡単にプ
ログラムできるようになっている
なにがいいの? オープンな環境 ボードと PC さえあれば開発できる 豊富な情報 様々なシールドがあり拡張しやすい
どうやってつかうの? まずはボードを買う
マルツとかカホとか スイッチサイエンスとか
開発 Windows の場合開発環境のインストーラが用
意されている その他も Java ベースのエディタなので導入は
簡単なはず
まずは電子回路の基礎の基礎 オームの法則
V = I * R ( 電圧 = 電流 * 抵抗 )
V
GND
RI
R
V
I
LED 回路記号
LED 点灯回路
LED は電圧は降下するが電流はそのまま通るため、電流を制限させるために抵
抗が必要
トランジスタ 回路記号
用途増幅とかスイッチとか
トランジスタ 使い方色々ある基本ベース・エミッタに電流を流すとコレクタ・エミッタに大電流が流れる
スイッチについて
✕
やっと Arduino プログラム 基本は C 言語とほぼ同じ
初期設定やらループ動作の記述を簡単にできるようになっている ピン設定などは setup 関数 処理に関しては loop 関数
リファレンスについては下記 http://www.musashinodenpa.com/arduino/ref/index.php
L チカプログラム(HW の HelloWorld)#define LEDPIN 0
void setup(){ pinMode(LEDPIN,OUTPUT);
}
void loop(){ digitalWrite(LEDPIN,HIGH); delay(1000); digitalWrite(LEDPIN,LOW); delay(1000);}
実際にはこんな感じ さっきのプログラムはこういうふうになる
main(){ setup();
while(1){ loop(); }}
回路的には 0 番ピンは HIGH になると 5V 、 LOW になる
と 0V が出力される
まぁ、この程度なら抵抗なしでも問題ないかも…
Arduino0
マイコンのデバッグについて ソフトウェア的なデバッグと回路的なデバッ
グ両方が必要 PC アプリのプログラムみたいにインテリ
ジェントなデバッグはできない 結局はアナログなところに行き着く
マイコンのデバッグについて ソフトウェア部分についても出力ピンの値を
テスターで読み取って解析する必要もある 回路部分についてはショートしてないか、接
続がおかしくないか確認する ソフトウェアと違って回路的には合っている
のになぜか正しく出て来なかったり、中途半端な値が出たりする
開発について ソフトウェアと回路両方の設計が必要 リソースは限られている
プログラム領域、ピンの数、動作速度、… 通常の PC プログラムのようなゴリ押しではで
きないこともある やりたいことを考えて、できないのなら別の
手段 ( より高度なマイコン、 PC の演算に頼るなど ) も検討する
あると便利なもの Arduino ブレッドボード テスター 部品セット ( 抵抗・ LED ・トランジスタ )
オシロスコープ ファンクションジェネレータ
ご清聴ありがとうございましたLet’s Try
(mbed楽しいな )