マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤...

40
徳島大学 開放実践センター 公開講座 川上 博 2013/07/27 第2回 LEDを光らせよう マイコンをはじめよう 2013年度 徳島大学 春夏の大学公開講座 http://cms.db.tokushima-u.ac.jp/DAV/person/S10723/

Transcript of マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤...

Page 1: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座

川上 博2013/07/27

第2回 LEDを光らせよう

マイコンをはじめよう

2013年度 徳島大学 春夏の大学公開講座

http://cms.db.tokushima-u.ac.jp/DAV/person/S10723/

Page 2: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座 今日のテーマ2

ブレッドボード上のLEDを点滅させる

前回の復習:Arduinoボード上のLEDを点滅させる

スイッチを使ってLEDを点けたり消したりする

Page 3: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座3 Arduinoボード上のLEDを点滅させる

① USBケーブルでPCとArduinoボードをつなぐ

② Arduino IDE(ソフト)を起動する

③ スケッチを書く:    ファイル>スケッチの例>01.Basics>Blink

④ 検証ボタンを押す

⑤ マイコンボードに書き込むAREF

RESET

L

TXR

X

ON

GND1312

~11~10

~98

7~6~5

4~3

2TX->1RX<-0

A0A1A2A3A4A5

3V3RESETIOREF

5VGNDGNDVin

DIG

ITAL(PWM

~)

ARDUINO UNO

R3

ATM

EGA3

28P-

PU

ANALO

G IN

POW

ER

1

2

3

4

5

6

7

8

9

10

11

12

13

14

28

27

26

25

24

23

22

21

20

19

18

17

16

15

Page 4: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座4

① プログラムを書く

② プログラムを検証する(Verifyボタンを押す)

③ プログラムを書き込む(Uploadボタンを押す)

Arduino:最初のプログラム

④ Arduino上のLEDが点滅する

Page 5: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座5

/* Example 201A: Blink Turns on an LED on for one second, then off for one second, repeatedly.*/const int led = 13;

void setup() { pinMode(led, OUTPUT); }

void loop() { digitalWrite(led, HIGH); // Turns on the LED delay(1000); digitalWrite(led, LOW); // Turns off the LED delay(1000);}

プログラムを読んでみよう

注釈

変数の宣言

初期設定

繰り返し実行する本体

Page 6: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座6

AREF

RESET

L

TXR

X

ON

GND1312

~11~10

~98

7~6~5

4~3

2TX->1RX<-0

A0A1A2A3A4A5

3V3RESETIOREF

5VGNDGNDVin

DIG

ITAL(PWM

~)

ARDUINO UNO

R3

ATM

EGA3

28P-

PU

ANALO

G IN

POW

ER

1

2

3

4

5

6

7

8

9

10

11

12

13

14

28

27

26

25

24

23

22

21

20

19

18

17

16

15

Arduino UNO R3のピン配置

~印のピン:アナログ出力に使う

13ピン:LEDにつながっている

0, 1ピン:シリアル通信に使われる

analogWrite(6, 255);

analogRead(5);

digitalWrite(12, HIGH);

digitalRead(12);

電源

アナログ•入力ピン ディジタル•入出力ピン

Page 7: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座7 Read と Write22

マイコンArduino

LED

センサー

ディジタル•入出力

アナログ•入力スイッチ

Read

Read

Write

analogWrite(6, 255);

analogRead(5);

digitalWrite(12, HIGH);

digitalRead(12);

Page 8: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座8 Digital信号 と Analog信号

ディジタル信号

アナログ信号5V

0V

5V

3V2V

0V

HIGH

LOW

1

0

pin電圧

5V

0V

255

0

1023

0

入力

pin電圧

出力

Page 9: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座9

AREF

RESET

L

TXR

X

ON

GND1312

~11~10

~98

7~6~5

4~3

2TX->1RX<-0

A0A1A2A3A4A5

3V3RESETIOREF

5VGNDGNDVin

DIG

ITAL(PWM

~)

ARDUINO UNO

R3

ATM

EGA3

28P-

PU

ANALO

G IN

POW

ER

1

2

3

4

5

6

7

8

9

10

11

12

13

14

28

27

26

25

24

23

22

21

20

19

18

17

16

15

const int led = 13;

void setup() { pinMode(led, OUTPUT); }

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

//13ピンにLEDをつなぐ

//13ピンを出力にする

//13ピンに5Vを出力する

//13ピンに0Vを出力する

再び,プログラムを読んでみよう

Page 10: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座

const int led;int i, j;float x, y;

void setup() {

}

void loop() {

}

10 スケッチ(プログラム)の基本構造

定数,変数の定義(大域)

初期設定(一度だけ実行される)

実行させる仕事(繰り返し実行される)

Page 11: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座11 キーボード・ショートカット

Ctrl

テキストのコピーやペーストを簡単に行うキー操作

◎ 最初に,キー操作の前に,画面を選択しておくこと!

+ A すべてを選択(All)

Ctrl + C コピー(Copy)

Ctrl + V ペースト(貼付け)

◎ 次に,貼付けたい画面を選択して

どこにもコピーした結果は見えないけれどコピーされている!

Page 12: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座12

ブレッドボード上のLEDを点滅させる

Page 13: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座13 配布部品

スイッチ

フォトトランジスタ LED RGBLED 圧電スピーカー

ジャンパー線

ブレッドボード(配線盤)

1個 2個 各4個 1個 10本 5本 1個

1個

10本

10k330

抵抗

Page 14: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座14 ブレッド・ボード

ジャンパー線で配線

Page 15: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座15 LED(発光ダイオード)

+端子:アノード (anode),ー端子カソード (cathode)

ー端子が共通:カソード・コモン+端子が共通:アノード・コモン

その他,自己点滅 LED,7セグメント LED等がある

単色光の LED

+

+

RGB3色の LED

++

+

G

KA

G

B

B

R

R①

Page 16: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座16 抵抗のカラーコード

0123456789

黒茶赤橙黄緑青紫灰白

5%10%

金銀

5%

抵抗値のカラーコード表示 カラーコード表示の例

許容差5%の場合の抵抗値

抵抗値

5 6×101 = 560 !

許容差(金色は   ) 

許容差のカラーコード表示

数値

指数

黒い礼 (0) 服

茶を一 (1) 杯

赤いニ (2) ンジン,アカ (2)

第三 (3) 者,みかん (3)

岸 (4) 恵子,イエロウ (4)

緑子 (5),プリマベラ (5)ろく (6) でなしの青二才,青虫 (6)ブルーダイオード (6)

紫式 (7) 部

ハイヤー (8)

ホワイトク (9) リスマス (9)1 0 1 1 1 2 1 3 1 5 1 6 1 82 0 2 2 2 4 2 73 0 3 3 3 6 3 9

4 3 4 75 1 5 6

6 2 6 89 1 8 2 7 5

は E6 系列

Page 17: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座17 LEDの点灯回路

R

LEDE

330オーム

A

K

Page 18: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座18

1 5 10 15 20

ED

CBA

ED

CBA

1JI

HGF

JI

HGF

5 10 15 20

X X

Y Y

LED KA

R = 330!

AREF

RESET

L

TXR

X

ON

GND1312

~11~10

~98

7~6~5

4~3

2TX->1RX<-0

A0A1A2A3A4A5

3V3RESETIOREF

5VGNDGNDVin

DIG

ITAL(PWM

~)

ARDUINO UNO

R3

ATM

EGA3

28P-

PU

ANALO

G IN

POW

ER

1

2

3

4

5

6

7

8

9

10

11

12

13

14

28

27

26

25

24

23

22

21

20

19

18

17

16

15

単色光の LED

+

+

-

-

+

"

Vcc = 5V

330

GND

LED

A K

A K5V

電池につないでみよう

5VGND

Page 19: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座19 スケッチで光らせてみよう

GND13

Page 20: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座20

/* Example 202A: Quiz*/const int led = 13;

void setup() { pinMode(led, OUTPUT); }

void loop() { digitalWrite(led, HIGH); // Turns on the LED delay(1000); digitalWrite(led, LOW); // Turns off the LED delay(1000);}

クイズ : Example 202A

① ピンを6番に変えてみよう

② 「0.1秒光り,0.9秒消える」を繰り返す

Page 21: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座21

スイッチを使ってLEDを点けたり消したりする

Page 22: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座22 ディジタル入力にスイッチを使う

SW

上から見た図

法記ので図路回

2つの端子Aどおし,Bどおしは内部でつながっている

A A

A

A

B

B

A B

B

抵抗 10k

押しボタンSW

配線 ++

! !

A B

A B

Page 23: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座23 スイッチを使ってLEDをコントロール

1 5 10 15 20

ED

CBA

ED

CBA

1JI

HGF

JI

HGF

5 10 15 20

X X

Y Y

LED

330!10k!

AREF

RESET

L

TXR

X

ON

GND1312

~11~10

~98

7~6~5

4~3

2TX->1RX<-0

A0A1A2A3A4A5

3V3RESETIOREF

5VGNDGNDVin

DIG

ITAL(PWM

~)

ARDUINO UNO

R3

ATM

EGA3

28P-

PU

ANALO

G IN

POW

ER

1

2

3

4

5

6

7

8

9

10

11

12

13

14

28

27

26

25

24

23

22

21

20

19

18

17

16

15

Page 24: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座24

GND

13

7 75V

5V

13

GND

Page 25: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座25

// Example 203A

const int led=13;const int button=7;int value;

void setup(){ pinMode(led, OUTPUT); pinMode(button, INPUT);}

void loop(){ value=digitalRead(button); digitalWrite(led, value);}

Example 203A

Page 26: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座26

1 5 10 15 20

ED

CBA

ED

CBA

1JI

HGF

JI

HGF

5 10 15 20

X X

Y Y

LED

330!

10k!

AREF

RESET

L

TXR

X

ON

GND1312

~11~10

~98

7~6~5

4~3

2TX->1RX<-0

A0A1A2A3A4A5

3V3RESETIOREF

5VGNDGNDVin

DIG

ITAL(PWM

~)

ARDUINO UNO

R3

ATM

EGA3

28P-

PU

ANALO

G IN

POW

ER

1

2

3

4

5

6

7

8

9

10

11

12

13

14

28

27

26

25

24

23

22

21

20

19

18

17

16

15

クイズ : Example 204A

① 10kの抵抗の位置を変えたLEDの点灯はどう変わるか

② スイッチを押したらLEDが点くスケッチに直す

Page 27: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座27

クイズ : Example 204A// Example 204A

const int led=13;const int button=7;int value;

void setup(){ pinMode(led, OUTPUT); pinMode(button, INPUT);}

void loop(){ value=digitalRead(button); if (value == HIGH) { digitalWrite(led, LOW); } else { digitalWrite(led, HIGH); }}

// Example 203A

const int led=13;const int button=7;int value;

void setup(){ pinMode(led, OUTPUT); pinMode(button, INPUT);}

void loop(){ value=digitalRead(button); if (value == HIGH) { digitalWrite(led, HIGH); } else { digitalWrite(led, LOW); }}

Page 28: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座28

補足説明

http://spectrum.ieee.org/geek-life/hands-on/the-making-of-arduino

Page 29: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座29 実験に必要な工具(3点)

1.ニッパーまたはラジオ・ペンチ線を切る,曲げる

2.ピンセット配線する,部品をつかむ

3.虫メガネ小さい文字を読む

Page 30: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座30

マイコンArduino

LED

Arduino IDEシリアルモニタ

Processing

センサー ブレッドボード(電子回路)

パソコン(情報処理)

描画ソフト開発ソフト

入力 出力

入出力

LEDを光らせる

Page 31: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座31

R

LEDE

LEDの点灯回路

GND:Ground

Vcc

5[V]

330[Ohm]

Page 32: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座32 回路: 素子をつないだもの

素子

R

LEDE v vv

i ii

基本回路 電池 抵抗 LED

v=E v=Ri i=G(v)

Page 33: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座33 抵抗:オームの法則

i

v=Ri

R v

vi

i

v=Rii=v/R

抵抗特性: (電圧,電流)平面で直線となる直線は原点を通る直線である 

v R

Page 34: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座34 電池

v

i

v=E

v

i

v=E

電池の特性:(電圧,電流)平面で直線となる原点を通らない

Page 35: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座35 LED(発光ダイオード)

v

i

i=G(v)

v

i

i=G(v)

LEDの特性: 電流 i が電圧 v の関数 i=G(v) になる

Page 36: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座36

R

LEDE

vi

基本回路の解析

v

i i=G(v)

E = Ri + vi = G(v)

E

E/R

Vf

If 動作点

Page 37: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座37 動作点を動かす:電流制限抵抗

v

i i=G(v)

E

E/RE = Ri + v

抵抗:小

抵抗:大

Page 38: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座38 スイッチの特性

(c) スイッチの特性(a) ON (b) OFF

スイッチがOFFの特性

スイッチがONの特性

電圧

電流

SWv

v

v = 0

i

i = 0

i

SWv

i

Page 39: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座39 電圧源と電流源の特性

(a) 電圧源の特性

電圧

電流

v

v = E

v = Ei

E

J

i

(b) 電流源の特性

電圧

電流

v

i

i = J

i = J v

Page 40: マイコンをはじめようfreyr.db.tokushima-u.ac.jp/DAV/person/S10723/マイコン...⑤ マイコンボードに書き込む AREF RESET L TX RX ON GND 13 12 ~11 ~10 ~9 8 7 ~6

徳島大学開放実践センター公開講座40

http://cms.db.tokushima-u.ac.jp/DAV/person/S10723/マイコンをはじめよう/

講義の資料はこのアドレスに置いてあります