Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ......

75
Raspberry Piで始める電子工作 作成日:2016年11月03日 作成者:佐藤春菜 1

Transcript of Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ......

Page 1: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

Raspberry Piで始める電子工作

作成日:2016年11月03日

作成者:佐藤春菜

1

Page 2: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

構成

自己紹介

RaspberryPiとは

ラズパイで始める電子工作~開発環境の準備~

ラズパイで始める電子工作~LEDの点滅~

ラズパイで始める電子工作~人感センサで取得~

ラズパイで始める電子工作~クリスマス電飾プログラム~

ラズパイで始める電子工作~実際に動かしてみる~

まとめ

引用・参考資料2

Page 3: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

自己紹介

名前:佐藤春菜

入社:2014年6月

言語:Java、(大学時代に)C、C#

趣味・好きなこと、最近のこと:・美術鑑賞(バロック絵画。最近は印象派もすきです)

・音楽鑑賞(ロキノン・クラシックをよく聴きます)

・アニメ鑑賞(今期はSB69が面白いとおもいます)

・日本酒(よくのみます) いちおう部員

・TG部とか英会話とかもたびたび出没します。帰社率高めです

・好きなポケモンはリザードンとニンフィアとジバコイルとルチャブル

・最近Pythonの勉強始めました!

3

Page 4: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

RaspberryPiとは

4

Page 5: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

RaspberryPiとは

◆Wikipediaから拾ってきた情報によると・・・

RaspberryPi(ラズベリー パイ)は、

ARMプロセッサを搭載したシングルボードコンピュータ

イギリスのラズベリーパイ財団によって開発されている

初期モデルは2012年2月29日に発売

売り上げ台数は累計800万台以上(2016年2月29日時点)

日本ではラズパイとも呼ばれる(以降はラズパイ表記)

5

Page 6: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

RaspberryPiとは

◆現在までに発売されているモデル一覧

Raspberry Pi 1 Model A ※現在販売終了

Raspberry Pi 1 Model A+

Raspberry Pi 1 Model B ※現在販売終了

Raspberry Pi 1 Model B+

Raspberry Pi 2 Model B

Raspberry Pi 3 Model B

Compute Module

Raspberry Pi Zero6

Page 7: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

RaspberryPiとは

◆現在までに発売されているモデル一覧

Raspberry Pi 1 Model A ※現在販売終了

Raspberry Pi 1 Model A+

Raspberry Pi 1 Model B ※現在販売終了

Raspberry Pi 1 Model B+

Raspberry Pi 2 Model B

Raspberry Pi 3 Model B

Compute Module

Raspberry Pi Zero

★今回使用するモデル

最新版

入手しやすい

比較的高性能7

Page 8: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

RaspberryPiとは

図:Raspberry Pi 3 Model B

発売日 2016年3月

価格 35ドル(約3700円)

CPU ARM Cortex-A534コア 1.2GHz(64bit)

メモリ 1GB

USBポート 4

ネットワーク あり

ストレージ microSDカード

大きさ 85.60 mm × 56.5 mm

重量 45 g

消費電力 1.4A (7W) 最大 2.5A (12.5W)

◆Raspberry Pi 3 Model Bのスペック

8

Page 9: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

RaspberryPiとは

◆実物

9

IC・クレジットカードと同じ大きさ!

Page 10: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

RaspberryPiとは

◆ラズパイで作れるもの

10

Page 11: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

RaspberryPiとは

◆ラズパイで作れるもの

ロボット

11

Page 12: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

RaspberryPiとは

◆ラズパイで作れるもの

ロボット

デジタルカメラ

12

Page 13: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

RaspberryPiとは

◆ラズパイで作れるもの

ロボット

デジタルカメラ

タブレット

13

Page 14: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

RaspberryPiとは

◆ラズパイで作れるもの

ロボット

デジタルカメラ

タブレット

スパコン

14

Page 15: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

RaspberryPiとは

◆ラズパイで作れるもの

ロボット

デジタルカメラ

タブレット

スパコン

◆作ろうと思えばなんでも

何でも作れちゃう!

それがラズパイの魅力15

Page 16: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

RaspberryPiとは

◆ということで、本発表の目的

ラズパイを利用した電子工作を発表することにより

ラズパイの面白さについて知ってもらう!

16

Page 17: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

RaspberryPiとは

◆今回作成するもの

12月っぽくクリスマスの電飾を作る

赤とか青とか緑とか、

色ごとにばらけて点滅する

人間を感知したら点滅が始まる

(人感センサー利用)

人気がなくなったら点滅を止める

※画像はイメージです17

Page 18: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~開発環境の準備~

18

Page 19: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~開発環境の準備~

◆ラズパイ初期セットアップに必要なもの

ラズパイ本体 Raspberry Pi 3 Model B

ラズパイ用ケース(なくてもいいけどあると良し)

USB電源アダプタ&マイクロUSBケーブル

ディスプレイ(テレビで代用可能)

HDMIケーブル

有線キーボード

有線マウス

MicroSDカード(8GB以上推奨)19

Page 20: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~開発環境の準備~

◆Amazonで買い揃えた場合の予算

ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585円

ラズパイ用ケース ⇒780円

USB電源アダプタ&マイクロUSBケーブル ⇒0円(家にあるやつ)

ディスプレイ(テレビで代用) ⇒0円(家略)

HDMIケーブル ⇒0円(家略)

有線キーボード ⇒0円(家略)

有線マウス ⇒0円(家略)

MicroSDカード(16GB) ⇒680円 20

Page 21: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~開発環境の準備~

◆OSのインストール

・MicroSDにOS Raspbian(ラズビアン)をインストールする

公式HPにアクセスする

https://www.raspberrypi.org/

downloads/

NOOBS(ヌーブス)を選択する

21

Page 22: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~開発環境の準備~

◆OSのインストール

・LITEはOSが含まれていないため、NOOBSを選択

NOOBSの"download ZIP"を

選択

※約1GBあり。

DLに時間がかかる

完了後、MicroSDにコピー

22

Page 23: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~開発環境の準備~

◆ラズパイ初期設定

写真の通りに周辺機器を接続

電源ケーブルを接続すると

ラズパイが起動

画面に出てくる指示に従い

セットアップする!

23

電源ケーブルを差す

USBポートにはマウスとキーボードを接続

有線環境の場合LANケーブルを接続

HDMIケーブルを接続

Page 24: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~開発環境の準備~

◆ラズパイ初期設定

あとは日本語設定に変更したり。。。

パスワード変更したり。。。

必要なソフトウェア入れたり。。。

パッケージのアップデートしたり。。。

ネットで「ラズパイ セットアップ」で検索すれば

いろいろでてきます。

使いやすいようにカスタマイズしましょう!24

Page 25: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~開発環境の準備~

◆今回使用する言語「Python」(いまだに発音わかりません)

Python(パイソン)は、汎用のプログラミング言語

コードがシンプルで扱いやすい

プログラム実行はインタプリタ方式

最新バージョンは3.5(2015年9月13日リリース)

Windows、Linux/Unix、Mac OS Xなどの

主要なオペレーティングシステムはもちろん、

Javaや.NETなどの仮想環境でも動作する

25

Page 26: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~開発環境の準備~

◆Pythonのインストール

Windows

・以下URLから適切なものを選択し、インストールする

http://www.python.org/

Rasbian

・標準でPythonが入っているため、インストール不要

26

Page 27: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~開発環境の準備~

◆実行形式

Windowsで実行する場合

Linux系OSで実行する場合

# Python2で起動$ python ファイル名.py

# Python3で起動$ python3 ファイル名.py

# Python3で起動> python ファイル名.py

27

Page 28: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~LEDの点滅~

28

Page 29: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~LEDの点滅~

◆初めての電子工作、「Lチカ」をやってみる

Lチカとは名前の通りLEDライトをチカチカ点滅させること

IoT界における ”Hello, world!” にあたる

29

Page 30: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~LEDの点滅~

◆材料を揃える

・LED

・抵抗

・ブレッドボード

・ジャンプワイヤ(オスメスケーブル)

大体Amazonほかオンラインショップで買い揃えられる

ラズパイ工作向けキット(上記全部入り)も発売されている

30

Page 31: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~LEDの点滅~

◆秋月電子通商で買い揃えた場合の費用

・LED(1個あたり40円)

・抵抗(1個あたり1円)

・ブレッドボード(300円程度)

・ジャンプワイヤ(オスメスケーブル)(1本あたり20円)

31

Page 32: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~LEDの点滅~

◆LED

長い方が+、短い方が-

色を指定できるフルカラーLEDやLEDテープなどがある。

32

Page 33: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~LEDライトの点滅~

◆抵抗

LEDには流していい電力が

決まっている

(抵抗なしで必要以上の電流を

流すとLEDは壊れてしまう)

今回は330Ωのものを使用

GPIOピンの電圧:3.3V

抵抗に加わる電圧:3.3 – 2.6~2.7 = 0.6~0.7V

2mA流した場合:

電圧 ÷ 電流 = 0.6~0.7 ÷ 0.02 = 300~350Ω33

Page 34: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~LEDライトの点滅~

◆ブレッドボード

はんだづけせずに電子回路組みを試すことができる基盤

34

Page 35: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~LEDライトの点滅~

◆ジャンプワイヤ

ラズパイとブレッドボードを

接続するのに必要

35

Page 36: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~LEDライトの点滅~

◆電子回路を組む

ラズパイのピンは

それぞれ役割が異なる

1番・17番は3.3Vの電源

2番・4番は5Vの電源

黒丸はGND(接地)

GPIOピンから回路に電源を

とり、最後はGNDに戻す

ピン番号表記

GPIO表記36

Page 37: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~LEDライトの点滅~

◆電子回路を組む。ただ単純に光らせるだけなら・・・

37

+極

-極

抵抗

LED

【接続】

1番のピンから3.3Vの電源をとる

抵抗、LEDが直列になるように接続する

最後にGNDに電流を逃がす

ように接続

電源から供給

Page 38: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~LEDライトの点滅~

◆電子回路を組む。目的はLピカではなくLチカ!

38

+極

-極

抵抗

LED

【接続】

GPIO2から出力を制御

抵抗、LEDが直列になるように接続する

最後にGNDに電流を逃がす

ように接続

GPIO2「電圧流す」

Page 39: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~LEDライトの点滅~

◆電子回路を組む

【ブレッドボード】

抵抗:c1-c4

LED:e4(+)-e5(-)

【ブレッドボードとラズパイ】

ジャンパーワイヤ(赤):

a1-ピン番号3(GPIO 2)

ジャンパーワイヤ(黒):

a5-ピン番号6(GND)

LED

抵抗電気の流れる

向き

39

Page 40: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~LEDライトの点滅~

◆Lチカサンプルプログラム(demo1.py)

40

Page 41: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~LEDライトの点滅~

◆Lチカサンプルプログラム(demo1.py)一部抜粋

41

# GPIO番号指定GPIO.setmode(GPIO.BCM) #・・・①

# GPIO2出力指定GPIO.setup(2, GPIO.OUT) #・・・②

①GPIO番号指定モードの設定を行うボードピン番号で指定する場合は以下の通

り記述GPIO.setmode(GPIO.BOARD)

②GPIOの入出力の設定を行う引数1にピン番号(GPIO番号)、

引数2に入出力の設定今回は出力指定

Page 42: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~LEDライトの点滅~

◆Lチカサンプルプログラム(demo1.py)一部抜粋

42

try:while True:

GPIO.output(2, GPIO.HIGH) #・・・③sleep(1)GPIO.output(2, GPIO.LOW) #・・・④sleep(1)

except KeyboardInterrupt: #・・・⑤pass

GPIO.cleanup() #・・・⑥

③④ピンの電圧を指定・HIGH(3.3V) ⇒LEDを光らせる・LOW(0V) ⇒LEDを光らせない

⑤ユーザが割り込みキー(Ctrl+cとか)を押下したときに発生※passは処理を行わない

⑥GPIO設定をリセット

Page 43: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~LEDライトの点滅~

◆実行結果

43

Page 44: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~人感センサで取得~

44

Page 45: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~人感センサで取得~

◆人感センサ

焦電型赤外線センサモジュール

今回使用するのは以下スペック

・最大検知距離:3~5m

・検知角度:100度

45

Page 46: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~人感センサで取得~

◆電子回路を組む

【ブレッドボードとピン番号の紐づけ】

c8-ピン番号6(GND)

c9-ピン番号12番(GPIO18)

c10-ピン番号4番(5vの電源)

人感センサレンズのついていないほうがa側

46

Page 47: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~人感センサで取得~

◆人感センササンプルプログラム(demo2.py)

47

Page 48: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~人感センサで取得~

◆人感センササンプルプログラム(demo2.py)一部抜粋

48

try:while True:

if GPIO.input(18)==1: #・・・①log()sleep(1)

except KeyboardInterrupt:pass ①ピンの電圧状態を読み取る

Page 49: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~クリスマス電飾プログラム~

49

Page 50: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~クリスマス電飾プログラム~

◆準備したもの

ラズパイセット

LED(赤×5、青×5、緑×5)

人感センサ

抵抗(330Ω×3)

ブレッドボード

ジャンプワイヤ(たくさん)

はんだづけセット

クリスマスツリー50

Page 51: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~クリスマス電飾プログラム~

◆費用内訳

ラズパイセット 6,000円程度

LED(赤×5、青×5、緑×5) 300円程度

人感センサ 500円程度

抵抗(330Ω×3) 3円程度

ブレッドボード 300円程度

ジャンプワイヤ(たくさん) 500円くらい?

はんだづけセット 3,000円程度

クリスマスツリー 1,000円程度51

Page 52: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~クリスマス電飾プログラム~

◆電子回路を組む前に

LEDをたくさん光らせたいが、GPIOには限りがあるため

赤・緑・青の3パターンで光るタイミングが異なるように実装

順番は赤⇒緑⇒青

上記よりつなぎ方は並列。※直列だと電圧を多く必要とする

はんだづけでうまくやる

ちなみに、シフトレジスタを用いれば

個別にLEDの点滅を制御できるらしいです(今回は不使用)52

Page 53: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~クリスマス電飾プログラム~

◆電子回路を組む

【ピン番号の紐づけ(電飾赤)】

a15-ピン番号36(GPIO16)

a19-適当なGND

【ピン番号の紐づけ(電飾緑)】

a20-ピン番号38(GPIO20)

a24-適当なGND

【ピン番号の紐づけ(電飾青)】

a25-ピン番号40(GPIO21)

a29-適当なGND

53

Page 54: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~クリスマス電飾プログラム~

◆電飾用サンプルプログラム(demo3.py)

54

Page 55: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~実際に動かしてみる~

55

Page 56: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~実際に動かしてみる~

◆実行結果

56

Page 57: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~実際に動かしてみる~

◆所感

なんか想像したのと違う。

57

Page 58: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~実際に動かしてみる~

◆原因

色が少ないからしょぼい(´・ω・`)

58

Page 59: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~実際に動かしてみる~

◆ということで買ってしまったフルカラーLED(ここからは番外編)

1つのLEDで3原色を発光する

色を混ぜることでフルカラーを

表現可能

一個50円程度

59

Page 60: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~実際に動かしてみる~

◆ということで買ってしまったフルカラーLED(ここからは番外編)

左1:緑の出力

左2:青の出力

右2:-極(カソード)

右1:赤の出力

60

Page 61: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~クリスマス電飾プログラム~

◆電飾用サンプルプログラム(demo4.py)

61

Page 62: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~クリスマス電飾プログラム~

◆電飾用サンプルプログラム(demo4.py)一部抜粋

62

# パターン1のGPIO番号red_pin1 = 5green_pin1 = 6blue_pin1 = 12# パターン2のGPIO番号red_pin2 = 13green_pin2 = 19blue_pin2 = 26# パターン2のGPIO番号red_pin3 = 16green_pin3 = 20blue_pin3 = 21

# 出力指定GPIO.setmode(GPIO.BCM)GPIO.setup(red_pin1, GPIO.OUT)GPIO.setup(green_pin1, GPIO.OUT)GPIO.setup(blue_pin1, GPIO.OUT)GPIO.setup(red_pin2, GPIO.OUT)GPIO.setup(green_pin2, GPIO.OUT)GPIO.setup(blue_pin2, GPIO.OUT)GPIO.setup(red_pin3, GPIO.OUT)GPIO.setup(green_pin3, GPIO.OUT)GPIO.setup(blue_pin3, GPIO.OUT)

Page 63: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~クリスマス電飾プログラム~

◆電飾用サンプルプログラム(demo4.py)一部抜粋

63

# PWMの指定red1 = GPIO.PWM(red_pin1, 50) #・・・①green1 = GPIO.PWM(green_pin1, 50)blue1 = GPIO.PWM(blue_pin1, 50)red2 = GPIO.PWM(red_pin2, 50)green2 = GPIO.PWM(green_pin2, 50)blue2 = GPIO.PWM(blue_pin2, 50)red3 = GPIO.PWM(red_pin3, 50)green3 = GPIO.PWM(green_pin3, 50)blue3 = GPIO.PWM(blue_pin3, 50)

①パルス幅変調の処理(Pulse Width Modulated)引数2でデューティ比を指定する電気のオンとオフの時間の割合を半分に指定

※疑似アナログ制御ラズパイのGPIOはデジタル出力のため値は0と1(ON/OFF)のどちらか1周期の中でONにしている時間とOFFにしている時間の比率(デューティ比)を使うことで0~100%の値を扱うことができるようになる⇒色相・明暗の調整が可能

Page 64: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~クリスマス電飾プログラム~

◆電飾用サンプルプログラム(demo4.py)一部抜粋

64

# 初期の色調設定red1.start(100) #・・・②green1.start(0)blue1.start(0)red2.start(0)green2.start(100)blue2.start(0)red3.start(0)green3.start(100)blue3.start(0)

sleep(T)

②初期の色設定パターン1:赤パターン2:緑パターン3:青

Page 65: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~クリスマス電飾プログラム~

◆電飾用サンプルプログラム(demo4.py)一部抜粋

65

try:while True:

# 1:緑 2:青 3:紫 #・・・③change_Led_Color(red1, green1, blue1, 0, 100, 0)

change_Led_Color(red2, green2, blue2, 0, 0, 100)change_Led_Color(red3, green3, blue3, 50, 0, 50)sleep(T)

③初期の色設定から変化させるパターン1:赤→緑パターン2:緑→青パターン3:青→紫

④ChangeDutyCycleでデューティ比を変更

# 色調変化change_Led_Color(red, green, blue, v1, v2, v3):

red.ChangeDutyCycle(v1) #・・・④green.ChangeDutyCycle(v2)blue.ChangeDutyCycle(v3)

Page 66: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~クリスマス電飾プログラム~

◆RGBを指定して作れる色(ざっくり)

66

備考:RGB指定をするとこのような結果が得られる(はず)

Page 67: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~実際に動かしてみる~

◆実行結果

67

Page 68: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

ラズパイで始める電子工作~実際に動かしてみる~

◆所感

想像したよりもしょぼい出来の良いものになった!

Pythonの勉強も電子工作も楽しかった!(小並感)

いろいろ買い揃えるとお金がかかる&こだわりすぎると終わらない

人感センサーの認識がやや甘い?(設定はいろいろできるみたい)

Kinectみたいに骨格認識やカメラからフェイストラッキング

したほうが認識精度高そうで良いかも

あんまりPythonが有効活用できていない 68

Page 69: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

まとめ・今後の展望

69

Page 70: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

まとめ・今後の展望

◆まとめ

小型で安価なマイコン、ラズパイはアイディア次第で

様々な電子工作が楽しめる

初心者向けにキットが発売されていたり、ネットの海には

サンプルソースがごろごろ転がっているので敷居は低い

ボーナスも出るし、冬期休暇にラズパイの電子工作にチャレンジしてみませんか?

70

Page 71: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

まとめ・今後の展望

◆今後の展望(挑戦してみたいこと)

来年のクリスマスも機会があれば再チャレンジしたい

(音声出力とか、フルカラーLEDテープとか。。。)

せっかくPythonの勉強を始めたので、今度は機械学習について理解を深めたい

また発表する機会があれば、音声認識・音声出力、表情認識に関する成果物を発表したい!

71

Page 72: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

引用・参考資料

72

Page 73: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

引用・参考資料

Raspberry Pi 公式サイト

https://www.raspberrypi.org/

Python 公式サイト

www.python.jp/

Raspberry Pi - Wikipedia

https://ja.wikipedia.org/wiki/Raspberry_Pi

Python - Wikipedia

https://ja.wikipedia.org/wiki/Python

IT女子のラズベリーパイ入門奮闘記

http://deviceplus.jp/category/hobby/raspberrypi/

73

Page 74: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

引用・参考資料

悪魔のロボットも作れる?ロボット制御ができる「ラズベリーパイ」とは【導入編】

https://liginc.co.jp/217398

第20回 LEDに接続する抵抗値を計算する

第26回 Raspberry PiのGPIOを制御する (Python編)

https://tool-lab.com/make/raspberrypi-startup-20/

https://tool-lab.com/make/raspberrypi-startup-26/

Raspberry Piに焦電型赤外線(人感)センサーを接続してみた (Python)

http://qiita.com/aryoa/items/72c40f241f868e25eb71

Raspberry Pi × Wiring Pi でクリスマスツリーを作ってみた【準備編】 (c言語)

https://amg-solution.jp/blog/4557

小型PC「ラズベリー・パイ」で自作した神作品10選の猛者たちが天才過ぎる!

http://plus.appgiga.jp/masatolan/2014/05/01/52120/

74

Page 75: Raspberry Piで始める電子工作 - j-school.acvol8][H_Satou]StartElectronic...ロボット ... ラズパイ本体 Raspberry Pi 3 Model B ⇒4,585 ... GPIO2から出力を制御

以上、ご清聴ありがとうございました!

75