SlideShare a Scribd company logo
パート2 「わくどきワークショップ」
阿部和広
青山学院大学・津田塾大学 非常勤講師
Raspberry Pi+Arduino+Scratchで
フィジカルコンピューティング体験!
今日やること
• 背景
• Raspberry Piに触ってみる
• 用語について
• Arduinoに触ってみる
• LEDを点滅させる(LEDチカチカ=Lチカ)
• Scratchでネコを歩かせる
• ScratchでLチカ
• スイッチを作ってみる
• ゲームのコントローラーを作って遊ぶ
• ボリュームを作ってみる
• 全部はできないかも
Raspberry Piに触ってみる
Raspberry Piについて
• イギリスのケンブリッジ大学のエベン・アプトンさんたちが
開発
– 4年間で500万台が出荷されています
• とても小さい(カードサイズ)
• とても安い(2,620円~4,800円)
• スマートフォンやタブレットと同じしくみ
• 10年前のパソコンと同じくらいの性能
– ARMv6 もしくは v7, 1~4 コア,700~900MHz
– RAM 256MB~1GB
• いろいろなものをつなげられる(GPIO)
Raspberry Piの各部の名前
Raspberry Pi Model B
Raspberry Piの特徴
• 地デジのテレビやアナログテレビにつながる
– 映像出力はHDMIとコンポジット
• キーボードやマウスはパソコン用のもの
– USB接続でそれぞれ1000円以下
• SDカードに記憶する
– ハードディスクの代わり。8GBで1000円以下
• 電源はスマートフォンやタブレット用
– USB充電器も1000円以下
• ネットにもつながる
– 有線LANは普通の100BASE-T(RJ45)
Raspberry Piについて
Raspberry Piのソフトウェア
• ソフトウェアは無料
– OSはLinux (DebianベースのRaspbian)など
– ウィンドウシステム(X11, LXDE)はWindowsそっくり
• アプリケーションがたくさんある
– Webブラウザー (Midori, Epiphany)
– オフィススイート (LibreOffice)
– グラフィックスソフト (GIMP, Inkscape)
– ゲーム (Minecraft Pi) など
• 自分でプログラムを書くためのソフトもたくさん
– C, Python, Ruby, Java, JavaScript, ドリトル, Arduino
– Scratch, Squeak Etoys
Raspberry Piのデスクトップ
Raspberry Piを組み立てよう
※ 今回はVGAアダプター経由で
ディスプレイに接続
※ 今回は使用
しない
組み立てる部品一式
Raspberry Piの起動
※ 差し込む前に、ディスプレイ
の電源を入れる。差し込むと同
時に本体の電源が入る
Raspberry Piの起動
※ しばらくして、この画面が出れば起動成功
Raspberry Piの終了方法
シャットダウンボタン
「シャットダウン」ボタンをクリックし、「シャットダウン
ダイアログ」から、「シャットダウン」を選択
画面が暗転し、左上で点滅している横棒が消え
たら、USB電源アダプターから、マイクロUSBケー
ブルを抜く
用語について
電圧・電流・抵抗
http://www.max.hi-ho.ne.jp/lylle/denryu5.html
電源
電位差
地面の高さ
||
グランド
||
GND
アナログ・デジタル
• アナログ
– 連続値
– 例) 1.43 V, 4.61 V
• デジタル
– 離散値
– 例) LOW, HIGH
• 0から5 Vの間のどこかに閾値
– 0から3.3 Vの場合も
アナログ入力・デジタルI/O
• アナログ入力
– 入力のアナログ値を測定する
• 返り値は、0 V~5 Vを0~1023で表したものなど
• デジタルI/O
– I (Input; 入力)
• 入力のデジタル値を測定する
– 返り値は、LOW, HIGHなど
– O (Output; 出力)
• 指定された値により出力する
– LOWだと0 V, HIGHだと5Vなど
• PWM (Pulse Width Modelation; パルス幅変調)
– オンオフを高速で繰り返すことで擬似的にアナログ出力する
– 512だと2.5 Vなど
USBコネクタ
Bタイプ
DCジャック
デジタルI/Oピン
アナログ入力ピン電源ピン
プルダウン・プルアップ
• 入力ピンになにも接続しないと、値が不安定になる
• プルダウン
– 入力ピンを抵抗を通して、GNDにつなぐ
– 通常はLOW, 入力ピンをGNDにつなぐとHIGH
• プルアップ
– 入力ピンを抵抗を通して、電源につなぐ
– 通常はHIGH, 入力ピンをGNDにつなぐとLOW
Arduinoに触ってみる
Arduinoとは
• Arduino(アルドゥイーノ)は、AVRマイコン、入出力
ポートを備えた基板、C++風のArduino言語とそ
れの統合開発環境から構成されるシステム。
Arduino LCC および Arduino SRL が設計・製造
を行い、登録商標を持っている。
– https://ja.wikipedia.org/wiki/Arduino
• Arduino LCC
– https://www.arduino.cc/
• Arduino SRL
– http://www.arduino.org/
• オープンソースハードウェア
Arduino UNO R3
• マイコンチップ:ATmega328P
• 動作電圧:5V
• 入力電圧(推奨):7~12V (DCジャックもしくはVIN端子から
入力)
• デジタルI/Oピン:14本(うち6本はPWM出力可能)
• アナログ入力ピン:6本(デジタルI/Oピンとしても利用可能)
• DC出力電流:1つのI/Oピン当り20mA程度、I/Oピン全部の合計
100mAまで (1ピンあたり40mA以上流すと壊れます)
• DC出力電流:3.3V出力ピン 50mA
• Flashメモリ:32KB (うち0.5KBをブートローダーで使用)
• SRAM:2KB
• EEPROM:1KB
• クロックスピード:16MHz
– https://www.switch-science.com/catalog/789/
重要な端子
• USBコネクタ(Bタイプ)
– パソコンにつないでシリアル通信と電源供給
• DCジャック(7~12V)
– 電源供給 (消費電力の大きなデバイスを使うときなど)
• デジタルI/Oピン
– 14本(うち6本はPWM出力可能)
• アナログ入力ピン
– 6本(デジタルI/Oピンとしても利用可能)
Arduino IDE
今回使うのは、中国製 Arduino UNO R3 互換機
本家との違い
• マイコンチップ
– ATmega328P → ATmega328P-AU
– DIPから表面実装に
– 取り外し、交換が困難
• USBシリアル変換器
– ATmega16U2 → CH340
– CH340のドライバが必要(Windows, Mac, Linux)
• 「CH340 ドライバ」で検索
• http://www.wch.cn/download/CH341SER_ZIP.html
• Raspbianにはデフォルトでインストール済
• 本日お持ち帰りいただけるのはArduino互換機本
体とUSBケーブル(Bタイプ)
LEDを点滅させる
(LEDチカチカ=Lチカ)
ブレッドボード
• はんだ付け不要で、リード線を差し込むだけで配線
できる
※ 縦の5つの穴は中
でつながっている
ジャンパーワイヤー
• Arduinoやブレッドボードの配線に使う
• ピンがある方がオス、ソケットの方がメス
– 今回はオス-オスとメス-メスを使う
– オス-メスにしたいときは、オス-オスとメス-メスをつなぐ
LED
• LED(発光ダイオード)
– 豆電球と違って、極性がある
• 逆につなぐと光らない
– 大電流を流すと壊れる
足が長い
足が短い
抵抗
• LEDに流れる電流を制限するため、LEDと直列につなぐ
– 今回は1KΩを使用
• カラーコードは、
茶黒赤金
– ブレッドボードに
差すときはリード
線をコの字に曲げ
て使う
– 極性なし
このように配線します
+
-
足が長い
オス-オスの
ジャンパー
ケーブル
デジタル13番ピンGNDピン
USBケーブルをつないでからArduino IDEを起動
ボードの種類を選択
Arduino Uno
シリアルポートを選択
/dev/ttyUSB0
サンプルスケッチ「Blink」を開く
※ プログラム = スケッチ
配布用Raspberry pi+arduino+scratchでフィジカルコンピューティング体験!
コンパイルと書き込み
Scratchでネコを歩かせる
Scratchって?
• 米マサチューセッツ工科大学(MIT)メディアラボのミッチェ
ル・レズニックさんたちが開発
• ものづくりを楽しみながら学べる
• ビジュアルプログラミング言語
– マウス操作で命令のブロックを組み立てる
– エラーが起こらない
• いろいろなパソコンで動く
– Windows, Mac OS X, Linux
• 作品をネットに共有して、みんなで見られる
三鷹市立中原小学校
中原はちのすけクラブ
仙台市立
荒町小学校
44
「試行錯誤するようになった」
「自ら進んで取り組むようになった」
パパートの言う「学ぶことを学ぶ」が
できている
学年 科目 単元
1年生 市民科 パソコンをつかおう(パソコンの基本操作)
2年生 算数科 かけ算(1)
3年生 理科 風やゴムのはたらき
4年生 国語科 言葉から風景を想像しよう~短歌をデジタル画で味わおう~
5年生 音楽科 音楽づくり
6年生 市民科 自分たちの学校, プレゼンテーション力をつける
品川区立京陽小学校
全校児童にRaspberry Piを配布
総合ではなく教科の授業でScratchを活用
教科の学習とScratch
第2 各分野の目標及び内容
2 内容
D 情報に関する技術
(3) プログラムによる計測・制御に
ついて,次の事項を指導する。
ア コンピュータを利用した計測・制
御の基本的な仕組みを知ること。
イ 情報処理の手順を考え,簡単なプ
ログラムが作成できること。
中学校学習指導要領 第2章 各教科 第8節 技術・家庭
http://www.mext.go.jp/a_menu/shotou/new-cs/youryou/chu/gika.htm
ものづくり教育とScratch
計測・制御との親和性
• センサー入力とモーター出力のための仕組みを備える
– センサーボード
• スライダー, 音, 光, ボタン, 抵抗x4
– LEGO WeDo
• 傾き, 距離, モーター
• 外部機器接続のためのインタフェース
– ユーザーの拡張により、任意の機器を接続可能
– Kinect, Wiiリモコン, Arduino, Mindstorms
– Raspberry PiのGPIO(汎用入出力)
PicoBoard
(Scratchセンサーボード)
NanoBoardAG
(Arduino互換機)
Raspberry PiのGPIOからモーターを制御
(ScratchGPIO)
上板橋第二中学校
技術・家庭科でRaspberry Pi, Scratch, Arduinoを活用
スクラッチの起動方法
• デスクトップのネコのアイコンをダブルクリック
– 初回の起動にはしばらくかかる
– 何度もダブルクリックすると、複数起動してしまうので、そ
の場合は右上の「x」をクリックして閉じる
Scratchで簡単プログラミング体験
スクラッチでゲームを作ろう
• 例題「ネコからにげろ!」
– http://swikis.ddo.jp/abee/77
ScratchでLチカ
ラズベリーパイのGPIO
• GPIO(General Purpose Input Output)
– 汎用入出力端子
• 電源: 3.3V 50mA: 1, 17 5V 300mA: 2, 4
• 入力: 3, 5, 7, 8, 10, 19, 21, 22, 23, 24, 26
– Scratch GPIOでは、すべての入力ピンは最初プルダウンされてい
る(プルダウン抵抗あり)
• 出力: 11, 12, 13, 15, 16, 18
– 電圧は0~3.3Vの間で可変(PWM)
– 電流は最大で16mA
Arduinoにつないでいたジャン
パーワイヤーを抜き、メス-メス
のジャンパーケーブルで延長
して差し込む
ジャンパーワイヤーの差し替え
Scratch GPIOの使い方
• GPIOを制御するために、専用のスクラッチ「Scratch
GPIO」を使う
• Scratch GPIOを起動するには、デスクトップの
「Scratch GPIO4」のアイコンをダブルクリックする
– 「Scratch GPIO4plus」は使わない
– 「遠隔センサ接続が有効になりました」のダイアログは
「OK」で閉じる
LEDを点滅させる例題
• 「ファイル」メニューから、「開く…」を選び、「blink11」を
選んで「OK」ボタンをクリックする。すると例題が開く
• 緑の旗をクリックすると
LEDが1秒点灯、2秒消灯
を繰り返す
• 「pin11highを送る」で
11番ピンが3.3V(HIGH)になる
• 「pin11lowを送る」で
11番ピンが0V(LOW)になる
• 秒数の数字をクリックして
キーボードから数値を入力
できる(入力後Enterキー)
スイッチを作ってみる
段ボールスイッチをつくろう!
• 約10cm x 20cmに切った段ボールを二つに折り曲げ、
その支点の近くに、少し離した2本アルミテープを貼り
ます
• それぞれのアルミテープにワニ口クリップをつけます
• この開閉により、スイッチをオンオフできます
• カスタネットのように握っても良いし、椅子に置いても
良いです
• このスイッチをユーザーインターフェースとして、いろい
ろな応用ができます
それぞれのワニ口ケーブルから、
オス-オス、メス-メスのジャンパー
ワイヤーで延長してつなぎます。
極性はありません。
スイッチの配線
スイッチでLEDを制御するスクリプト
ゲームのコントローラーを作って遊ぶ
Pongを開く
• 「ファイル」メニューから、「開く…」、「例」、「Games」、
「4 Pong」を選んで「OK」ボタンをクリックする。
Pongを改造する
• 右下のスプライトの一覧から「paddle」をクリックして選
び、スクリプトを書きかえる
• 段ボールスイッチでパドルをコントロールできる
日経BP 関連書籍
http://www.amazon.co.jp/-/e/B00DUV6S3E/

More Related Content

What's hot (20)

PPTX
ハードウェアで遊ぼうよ
Lee Choong Geun
 
PPTX
Analog Devices の IP コアを使う
ryos36
 
PDF
I2CでRaspberry Piから 複数の周辺機器を制御する
Hirokazu Nishio
 
PDF
ラズベリー・パイでプログラミングと電子工作を体験してみよう
Takashi Kanamaru
 
PPTX
PYNQ 祭り: Pmod のプログラミング
ryos36
 
PDF
プログラマの為のESP-WROOM-02開発ボード組み立て
Naoto Miyachi
 
PDF
Raspberry Piの便利なインストーラーNOOBSを活用してみよう!
Akira Ouchi
 
PDF
IoTLT 大阪 Vol.6
三七男 山本
 
PDF
Raspberry Piの最新利用事例を拾い見たりたりしてみましょう(☝ ՞ਊ ՞)☝
Akira Ouchi
 
PDF
ESP8266EXで位置推定
nishio
 
ODP
Osc hokkaido2015 arduinoで温度を測るところまで
rarere
 
PPTX
ESP8266モジュールを遊び倒す!
MasatoOshikiri
 
PDF
Introducing libpd -Pdをアプリのサウンドエンジンに-
Yoichi Hirata
 
PPTX
ESP8266を便利にするモジュールを つくってみた!
wamisnet
 
PDF
PYNQ祭りLT todotani
Kenshi Kamiya
 
PPTX
PYNQで○○してみた!
aster_ism
 
PDF
Networking technique with shell scripting
Yusuke Tatematsu
 
PPTX
FPGAでmrubyを動かす
Shuta Kimura
 
PPTX
イチからはじめるUSB Host API
ksk sue
 
PDF
20130713 オープンハードセミナー raspberry_piに何かつないで遊ぼう
Yasuhiro Ishii
 
ハードウェアで遊ぼうよ
Lee Choong Geun
 
Analog Devices の IP コアを使う
ryos36
 
I2CでRaspberry Piから 複数の周辺機器を制御する
Hirokazu Nishio
 
ラズベリー・パイでプログラミングと電子工作を体験してみよう
Takashi Kanamaru
 
PYNQ 祭り: Pmod のプログラミング
ryos36
 
プログラマの為のESP-WROOM-02開発ボード組み立て
Naoto Miyachi
 
Raspberry Piの便利なインストーラーNOOBSを活用してみよう!
Akira Ouchi
 
IoTLT 大阪 Vol.6
三七男 山本
 
Raspberry Piの最新利用事例を拾い見たりたりしてみましょう(☝ ՞ਊ ՞)☝
Akira Ouchi
 
ESP8266EXで位置推定
nishio
 
Osc hokkaido2015 arduinoで温度を測るところまで
rarere
 
ESP8266モジュールを遊び倒す!
MasatoOshikiri
 
Introducing libpd -Pdをアプリのサウンドエンジンに-
Yoichi Hirata
 
ESP8266を便利にするモジュールを つくってみた!
wamisnet
 
PYNQ祭りLT todotani
Kenshi Kamiya
 
PYNQで○○してみた!
aster_ism
 
Networking technique with shell scripting
Yusuke Tatematsu
 
FPGAでmrubyを動かす
Shuta Kimura
 
イチからはじめるUSB Host API
ksk sue
 
20130713 オープンハードセミナー raspberry_piに何かつないで遊ぼう
Yasuhiro Ishii
 

Similar to 配布用Raspberry pi+arduino+scratchでフィジカルコンピューティング体験! (20)

PDF
20110724 WIZDOM:知識ゼロからのArduino(1)
Atsushi ENTA
 
PDF
Make @ Osaka
Shigeru Kobayashi
 
PDF
2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」
aitc_jp
 
PDF
KOGEI & KAIT Funnel WS
Shigeru Kobayashi
 
PDF
Big Raspberry JAM TOKYO 2013 Hardware
Hideki Aoshima
 
PDF
20140910 Arduino for beginners
Kenichi Ohwada
 
PPTX
Arduinoを用いたキソ電子工作
どと〜る
 
PDF
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
aitc_jp
 
PDF
Arduino応用編
Tomo Watanabe
 
PDF
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」
aitc_jp
 
PDF
Arduino、Raspberry Pi、PIC 入門以前(NSEG 2014-04-19)
hiro345
 
PDF
Arduino + rcs620sで遊ぼう
treby
 
PDF
第2回 某社Arduino勉強会 ハンズオン
Yusuke HIDESHIMA
 
PPTX
2015/05/23 シニア技術者プログラム第3弾 「第二回IoT勉強会&交流会」 15:00~15:20 Arduinoで簡単回路作成実演
aitc_jp
 
ODP
ふぃじかるこんぴゅ〜てぃんぐしてみた
Takao Sumitomo
 
PDF
20130804 OSC京都 Raspberry Piに何かつないで遊ぼう
Yasuhiro Ishii
 
PDF
Japanino Workshop #2
Shigeru Kobayashi
 
ODP
20090530熊本プログラミングフリークス
koki_h
 
PDF
2015071_iot
Daiki Nakamura
 
ODP
【入門】Arduino勉強会
Masashi_Brilliant
 
20110724 WIZDOM:知識ゼロからのArduino(1)
Atsushi ENTA
 
Make @ Osaka
Shigeru Kobayashi
 
2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」
aitc_jp
 
KOGEI & KAIT Funnel WS
Shigeru Kobayashi
 
Big Raspberry JAM TOKYO 2013 Hardware
Hideki Aoshima
 
20140910 Arduino for beginners
Kenichi Ohwada
 
Arduinoを用いたキソ電子工作
どと〜る
 
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
aitc_jp
 
Arduino応用編
Tomo Watanabe
 
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」
aitc_jp
 
Arduino、Raspberry Pi、PIC 入門以前(NSEG 2014-04-19)
hiro345
 
Arduino + rcs620sで遊ぼう
treby
 
第2回 某社Arduino勉強会 ハンズオン
Yusuke HIDESHIMA
 
2015/05/23 シニア技術者プログラム第3弾 「第二回IoT勉強会&交流会」 15:00~15:20 Arduinoで簡単回路作成実演
aitc_jp
 
ふぃじかるこんぴゅ〜てぃんぐしてみた
Takao Sumitomo
 
20130804 OSC京都 Raspberry Piに何かつないで遊ぼう
Yasuhiro Ishii
 
Japanino Workshop #2
Shigeru Kobayashi
 
20090530熊本プログラミングフリークス
koki_h
 
2015071_iot
Daiki Nakamura
 
【入門】Arduino勉強会
Masashi_Brilliant
 
Ad

配布用Raspberry pi+arduino+scratchでフィジカルコンピューティング体験!