28
川上 博 2013/11/07 第1回 LEDを光らせよう マイコンを使ってみよう

マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

川上 博2013/11/07

第1回 LEDを光らせよう

マイコンを使ってみよう

Page 2: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

今日のテーマ2

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

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

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

Page 3: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

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: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

4

① プログラムを書く

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

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

Arduino:最初のプログラム

④ Arduino上のLEDが点滅する

Page 5: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

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: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

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, 128);

analogRead(5);

digitalWrite(12, HIGH);

digitalRead(12);

電源

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

Page 7: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

7

Read と Write

マイコンArduino

LEDLED

ディジタル出力

アナログ入力

スイッチRead

Write

analogWrite(6, 255);

analogRead(5);

digitalWrite(12, HIGH);

digitalRead(12);

センサー

アナログ出力

ディジタル入力

Page 8: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

8

Digital信号 と Analog信号

ディジタル信号

アナログ信号5V

0V

5V

3V2V

0V

HIGH

LOW

1

0

pin電圧

5V

0V

255

0

1023

0

入力

pin電圧

出力

Page 9: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

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: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

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

void setup()

void loop()

10

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

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

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

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

Page 11: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

11

キーボード・ショートカット

Ctrl

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

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

+ A すべてを選択(All)

Ctrl + C コピー(Copy)

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

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

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

Mac OSX : Ctrl cmd

Page 12: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

12

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

Page 13: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

13

ブレッド・ボード

ジャンパー線で配線

Page 14: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

14

LED(発光ダイオード)

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

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

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

単色光の LED

+

+

RGB3色の LED

++

+

G

KA

G

B

B

R

R①

Page 15: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

15

LEDの点灯回路

330オーム

A

K

Page 16: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

16

スケッチで光らせてみよう

GND13 A K

Page 17: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

17

/* 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 18: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

18

光センサーを使ってLEDを調光する

フォトトランジスタ NJL7502L

C:コレクター

E:エミッター

Page 19: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

19

15

1015

20

EDCBA

EDCBA

1JIHGF

JIHGF

510

1520

XX

YYLED

PhotoTR

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

フォトトランジスタを使った調光

C E

A K

Page 20: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

20

// Example 203A

const int ledPin = 6;const int sensorPin = 0;int val;

void setup()

void loop() val = analogRead(sensorPin)/4; analogWrite(ledPin, val); delay(100);

Arduino のスケッチ:Example 203A

Page 21: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

21

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

Page 22: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

22

ディジタル入力にスイッチを使う

SW

上から見た図

法記ので図路回

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

A A

A

A

B

B

A B

B

抵抗 10k

押しボタンSW

配線 ++

− −

A B

A B

Page 23: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

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: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

24

GND

13

7 75V

5V

13

GND

Page 25: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

25

// 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); digitalWrite(led, value);

Example 204A

Page 26: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

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 205A

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

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

Page 27: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

27 クイズ : Example 205A// Example 205A

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 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, HIGH); else digitalWrite(led, LOW);

Page 28: マイコンを使ってみようswupd.db.tokushima-u.ac.jp/DAV/person/S10723/Arduinoて...3 Arduinoボード上のLEDを点滅させる ① USBケーブルでPCとArduinoボードをつなぐ

28

マイコンArduino

LED

Arduino IDEシリアルモニタ

Processing

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

パソコン(情報処理)

描画ソフト開発ソフト

入力 出力

入出力

LEDを光らせる