Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
パート2 「わくどきワークショップ」
阿部和広
青山学院大学・津田塾大学 非常勤講師
Raspberry Pi+Arduino+Scratchで
フィジカルコンピューティング体験!
今日やること
• 背景
• Raspberry Piに触ってみる
• 用語について
• Arduinoに触ってみる
• LEDを点滅させる(LEDチカチカ=Lチカ)
• Scratchでネコを歩かせる
• ScratchでLチカ
• スイッチを...
Raspberry Piに触ってみる
Raspberry Piについて
• イギリスのケンブリッジ大学のエベン・アプトンさんたちが
開発
– 4年間で500万台が出荷されています
• とても小さい(カードサイズ)
• とても安い(2,620円~4,800円)
• スマートフォンやタ...
Raspberry Piの各部の名前
Raspberry Pi Model B
Raspberry Piの特徴
• 地デジのテレビやアナログテレビにつながる
– 映像出力はHDMIとコンポジット
• キーボードやマウスはパソコン用のもの
– USB接続でそれぞれ1000円以下
• SDカードに記憶する
– ハードディスクの...
Raspberry Piについて
Raspberry Piのソフトウェア
• ソフトウェアは無料
– OSはLinux (DebianベースのRaspbian)など
– ウィンドウシステム(X11, LXDE)はWindowsそっくり
• アプリケーションがたくさんある
– W...
Raspberry Piのデスクトップ
Raspberry Piを組み立てよう
※ 今回はVGAアダプター経由で
ディスプレイに接続
※ 今回は使用
しない
組み立てる部品一式
Raspberry Piの起動
※ 差し込む前に、ディスプレイ
の電源を入れる。差し込むと同
時に本体の電源が入る
Raspberry Piの起動
※ しばらくして、この画面が出れば起動成功
Raspberry Piの終了方法
シャットダウンボタン
「シャットダウン」ボタンをクリックし、「シャットダウン
ダイアログ」から、「シャットダウン」を選択
画面が暗転し、左上で点滅している横棒が消え
たら、USB電源アダプターから、マイクロU...
用語について
電圧・電流・抵抗
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...
USBコネクタ
Bタイプ
DCジャック
デジタルI/Oピン
アナログ入力ピン電源ピン
プルダウン・プルアップ
• 入力ピンになにも接続しないと、値が不安定になる
• プルダウン
– 入力ピンを抵抗を通して、GNDにつなぐ
– 通常はLOW, 入力ピンをGNDにつなぐとHIGH
• プルアップ
– 入力ピンを抵抗を通して、電源につ...
Arduinoに触ってみる
Arduinoとは
• Arduino(アルドゥイーノ)は、AVRマイコン、入出力
ポートを備えた基板、C++風のArduino言語とそ
れの統合開発環境から構成されるシステム。
Arduino LCC および Arduino SRL が設計・...
Arduino UNO R3
• マイコンチップ:ATmega328P
• 動作電圧:5V
• 入力電圧(推奨):7~12V (DCジャックもしくはVIN端子から
入力)
• デジタルI/Oピン:14本(うち6本はPWM出力可能)
• アナログ...
重要な端子
• USBコネクタ(Bタイプ)
– パソコンにつないでシリアル通信と電源供給
• DCジャック(7~12V)
– 電源供給 (消費電力の大きなデバイスを使うときなど)
• デジタルI/Oピン
– 14本(うち6本はPWM出力可能)
...
Arduino IDE
今回使うのは、中国製 Arduino UNO R3 互換機
本家との違い
• マイコンチップ
– ATmega328P → ATmega328P-AU
– DIPから表面実装に
– 取り外し、交換が困難
• USBシリアル変換器
– ATmega16U2 → CH340
– CH340のドライバが必要(...
LEDを点滅させる
(LEDチカチカ=Lチカ)
ブレッドボード
• はんだ付け不要で、リード線を差し込むだけで配線
できる
※ 縦の5つの穴は中
でつながっている
ジャンパーワイヤー
• Arduinoやブレッドボードの配線に使う
• ピンがある方がオス、ソケットの方がメス
– 今回はオス-オスとメス-メスを使う
– オス-メスにしたいときは、オス-オスとメス-メスをつなぐ
LED
• LED(発光ダイオード)
– 豆電球と違って、極性がある
• 逆につなぐと光らない
– 大電流を流すと壊れる
足が長い
足が短い
抵抗
• LEDに流れる電流を制限するため、LEDと直列につなぐ
– 今回は1KΩを使用
• カラーコードは、
茶黒赤金
– ブレッドボードに
差すときはリード
線をコの字に曲げ
て使う
– 極性なし
このように配線します
+
-
足が長い
オス-オスの
ジャンパー
ケーブル
デジタル13番ピンGNDピン
USBケーブルをつないでからArduino IDEを起動
ボードの種類を選択
Arduino Uno
シリアルポートを選択
/dev/ttyUSB0
サンプルスケッチ「Blink」を開く
※ プログラム = スケッチ
コンパイルと書き込み
Scratchでネコを歩かせる
Scratchって?
• 米マサチューセッツ工科大学(MIT)メディアラボのミッチェ
ル・レズニックさんたちが開発
• ものづくりを楽しみながら学べる
• ビジュアルプログラミング言語
– マウス操作で命令のブロックを組み立てる
– エラーが起...
三鷹市立中原小学校
中原はちのすけクラブ
仙台市立
荒町小学校
44
「試行錯誤するようになった」
「自ら進んで取り組むようになった」
パパートの言う「学ぶことを学ぶ」が
できている
学年 科目 単元
1年生 市民科 パソコンをつかおう(パソコンの基本操作)
2年生 算数科 かけ算(1)
3年生 理科 風やゴムのはたらき
4年生 国語科 言葉から風景を想像しよう~短歌をデジタル画で味わおう~
5年生 音楽科 音楽づくり
6年...
第2 各分野の目標及び内容
2 内容
D 情報に関する技術
(3) プログラムによる計測・制御に
ついて,次の事項を指導する。
ア コンピュータを利用した計測・制
御の基本的な仕組みを知ること。
イ 情報処理の手順を考え,簡単なプ
ログラムが作...
計測・制御との親和性
• センサー入力とモーター出力のための仕組みを備える
– センサーボード
• スライダー, 音, 光, ボタン, 抵抗x4
– LEGO WeDo
• 傾き, 距離, モーター
• 外部機器接続のためのインタフェース
– ...
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...
Arduinoにつないでいたジャン
パーワイヤーを抜き、メス-メス
のジャンパーケーブルで延長
して差し込む
ジャンパーワイヤーの差し替え
Scratch GPIOの使い方
• GPIOを制御するために、専用のスクラッチ「Scratch
GPIO」を使う
• Scratch GPIOを起動するには、デスクトップの
「Scratch GPIO4」のアイコンをダブルクリックする
– 「...
LEDを点滅させる例題
• 「ファイル」メニューから、「開く…」を選び、「blink11」を
選んで「OK」ボタンをクリックする。すると例題が開く
• 緑の旗をクリックすると
LEDが1秒点灯、2秒消灯
を繰り返す
• 「pin11highを送...
スイッチを作ってみる
段ボールスイッチをつくろう!
• 約10cm x 20cmに切った段ボールを二つに折り曲げ、
その支点の近くに、少し離した2本アルミテープを貼り
ます
• それぞれのアルミテープにワニ口クリップをつけます
• この開閉により、スイッチをオンオフ...
それぞれのワニ口ケーブルから、
オス-オス、メス-メスのジャンパー
ワイヤーで延長してつなぎます。
極性はありません。
スイッチの配線
スイッチでLEDを制御するスクリプト
ゲームのコントローラーを作って遊ぶ
Pongを開く
• 「ファイル」メニューから、「開く…」、「例」、「Games」、
「4 Pong」を選んで「OK」ボタンをクリックする。
Pongを改造する
• 右下のスプライトの一覧から「paddle」をクリックして選
び、スクリプトを書きかえる
• 段ボールスイッチでパドルをコントロールできる
日経BP 関連書籍
http://www.amazon.co.jp/-/e/B00DUV6S3E/
配布用Raspberry pi+arduino+scratchでフィジカルコンピューティング体験!
Upcoming SlideShare
Loading in …5
×

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

3,160 views

Published on

2015年7月17日に開催された「Raspberry Pi+Arduino+Scratchでフィジカルコンピューティング体験! ~豆ナイトxミニQConの夕べ~」の資料です。
http://www.mamezou.com/event/mn_20150717.html

Published in: Education

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

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

×