ハードウェアで遊ぼうよ

916 views

Published on

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

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
916
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
4
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

ハードウェアで遊ぼうよ

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

×