37
マイコンで遊んでみた NPLab - Creators’ Night #3 2012/2/24 杉本知洋 1

20120222_マイコンで遊んでみた

Embed Size (px)

DESCRIPTION

NPLab 杉本知洋のLT資料

Citation preview

Page 1: 20120222_マイコンで遊んでみた

マイコンで遊んでみたNPLab - Creators’ Night #32012/2/24杉本知洋

1

Page 2: 20120222_マイコンで遊んでみた

マイクロコントローラー

集積回路にコンピューターを組み込んだ物

CPU

メモリ

クロック

I/O

2

Page 3: 20120222_マイコンで遊んでみた

小さな頑張り屋

3

Page 4: 20120222_マイコンで遊んでみた

最近話題のArduino系のマイコンにチャレンジ

4

Page 5: 20120222_マイコンで遊んでみた

手堅くこれで

5

Page 6: 20120222_マイコンで遊んでみた

6

Page 7: 20120222_マイコンで遊んでみた

これがマイコン

7

Page 8: 20120222_マイコンで遊んでみた

今回は課題3点ポートの入出力

分岐点あり

ユーザーによる編集可能

8

Page 9: 20120222_マイコンで遊んでみた

今回は課題3点ポートの入出力

分岐点あり

ユーザーによる編集可能

9

Page 10: 20120222_マイコンで遊んでみた

今回は課題3点ボタンとLED

分岐点あり

ユーザーによる編集可能

10

Page 11: 20120222_マイコンで遊んでみた

今回は課題3点ボタンとLED

OKかNGを判定する

ユーザーによる編集可能

11

Page 12: 20120222_マイコンで遊んでみた

今回は課題3点ボタンとLED

OKかNGを判定する

OKかNGの判定基準を変えられる

12

Page 13: 20120222_マイコンで遊んでみた

電子錠システムかな?

13

Page 14: 20120222_マイコンで遊んでみた

簡単な電子工作の世界へ

14

Page 15: 20120222_マイコンで遊んでみた

ボタンx6(内訳:キーパッドx4、選択x2)

LEDx3

仕様

15

Page 16: 20120222_マイコンで遊んでみた

スタンバイモード

パスワード入力モード(4桁)

パスワード編集モード

仕様

16

Page 17: 20120222_マイコンで遊んでみた

回路の組み立て

17

Page 18: 20120222_マイコンで遊んでみた

回路図(適当)ボタン群 LED群

18

Page 19: 20120222_マイコンで遊んでみた

1 2 3 4

enter edit

LEDs

19

Page 20: 20120222_マイコンで遊んでみた

プログラム

20

Page 21: 20120222_マイコンで遊んでみた

Arduino用IDE

21

Page 22: 20120222_マイコンで遊んでみた

22

Page 23: 20120222_マイコンで遊んでみた

23

Page 24: 20120222_マイコンで遊んでみた

残念ながらHello Worldがなかったので書いてみました

24

Page 25: 20120222_マイコンで遊んでみた

25

Page 26: 20120222_マイコンで遊んでみた

26

Page 27: 20120222_マイコンで遊んでみた

それはさておき

27

Page 28: 20120222_マイコンで遊んでみた

状態遷移図を書いてみる

28

Page 29: 20120222_マイコンで遊んでみた

standby

edit enter

NG

OK

enter=1 correct

wrong

t/o

t/o

edit=1

passentered

29

Page 30: 20120222_マイコンで遊んでみた

switch (cur_mode) { case MODE_STANDBY: if (enter) goto MODE_INPUT; else if (edit) goto MODE_EDIT;

case MODE_INPUT: goto MODE_STANDBY;

case MODE_EDIT: goto MODE_STANDBY;

case MODE_OK: goto MODE_STANDBY;

case MODE_NG: goto MODE_STANDBY; }

擬似コードに

30

Page 31: 20120222_マイコンで遊んでみた

switch (cur_mode) { case MODE_STANDBY: if (enter) goto MODE_INPUT; else if (edit) goto MODE_EDIT;

case MODE_INPUT: goto MODE_STANDBY;

case MODE_EDIT: goto MODE_STANDBY;

case MODE_OK: goto MODE_STANDBY;

case MODE_NG: goto MODE_STANDBY; }

擬似コードに

後は間を肉付けしていく

31

Page 32: 20120222_マイコンで遊んでみた

とか色々やってたら課題完了

32

Page 33: 20120222_マイコンで遊んでみた

とりあえず簡単!

33

Page 34: 20120222_マイコンで遊んでみた

必要な知識:電子回路の知識+C言語

34

Page 35: 20120222_マイコンで遊んでみた

iPhone連動とかBluetooth連動とか色々手軽に出来そう

35

Page 36: 20120222_マイコンで遊んでみた

楽しいよ!電子工作!

36

Page 37: 20120222_マイコンで遊んでみた

最後にデモご清聴ありがとうございました。

37