Upload
kazuhiro-abe
View
1.887
Download
1
Embed Size (px)
Citation preview
今日やること
• 背景
• Raspberry Piに触ってみる
• 用語について
• Arduinoに触ってみる
• LEDを点滅させる(LEDチカチカ=Lチカ)
• Scratchでネコを歩かせる
• ScratchでLチカ
• スイッチを作ってみる
• ゲームのコントローラーを作って遊ぶ
• ボリュームを作ってみる
• 全部はできないかも
Raspberry Piについて
• イギリスのケンブリッジ大学のエベン・アプトンさんたちが開発 – 4年間で500万台が出荷されています
• とても小さい(カードサイズ)
• とても安い(2,620円~4,800円)
• スマートフォンやタブレットと同じしくみ
• 10年前のパソコンと同じくらいの性能 – ARMv6 もしくは v7, 1~4 コア,700~900MHz
– RAM 256MB~1GB
• いろいろなものをつなげられる(GPIO)
Raspberry Piの特徴
• 地デジのテレビやアナログテレビにつながる – 映像出力はHDMIとコンポジット
• キーボードやマウスはパソコン用のもの – USB接続でそれぞれ1000円以下
• SDカードに記憶する – ハードディスクの代わり。8GBで1000円以下
• 電源はスマートフォンやタブレット用 – USB充電器も1000円以下
• ネットにもつながる – 有線LANは普通の100BASE-T(RJ45)
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の終了方法
シャットダウンボタン
「シャットダウン」ボタンをクリックし、「シャットダウンダイアログ」から、「シャットダウン」を選択 画面が暗転し、左上で点滅している横棒が消えたら、USB電源アダプターから、マイクロUSBケーブルを抜く
アナログ・デジタル
• アナログ
– 連続値
– 例) 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など
プルダウン・プルアップ
• 入力ピンになにも接続しないと、値が不安定になる
• プルダウン
– 入力ピンを抵抗を通して、GNDにつなぐ
– 通常はLOW, 入力ピンをGNDにつなぐとHIGH
• プルアップ
– 入力ピンを抵抗を通して、電源につなぐ
– 通常はHIGH, 入力ピンをGNDにつなぐとLOW
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ピンとしても利用可能)
本家との違い
• マイコンチップ – ATmega328P → ATmega328P-AU
– DIPから表面実装に
– 取り外し、交換が困難
• USBシリアル変換器 – ATmega16U2 → CH340
– CH340のドライバが必要(Windows, Mac, Linux) • 「CH340 ドライバ」で検索
• http://www.wch.cn/download/CH341SER_ZIP.html
• Raspbianにはデフォルトでインストール済
• 本日お持ち帰りいただけるのはArduino互換機本体とUSBケーブル(Bタイプ)
ジャンパーワイヤー
• Arduinoやブレッドボードの配線に使う
• ピンがある方がオス、ソケットの方がメス
– 今回はオス-オスとメス-メスを使う
– オス-メスにしたいときは、オス-オスとメス-メスをつなぐ
抵抗
• LEDに流れる電流を制限するため、LEDと直列につなぐ
– 今回は1KΩを使用
• カラーコードは、 茶黒赤金
– ブレッドボードに 差すときはリード 線をコの字に曲げ て使う
– 極性なし
Scratchって?
• 米マサチューセッツ工科大学(MIT)メディアラボのミッチェル・レズニックさんたちが開発
• ものづくりを楽しみながら学べる
• ビジュアルプログラミング言語
– マウス操作で命令のブロックを組み立てる
– エラーが起こらない
• いろいろなパソコンで動く
– Windows, Mac OS X, Linux
• 作品をネットに共有して、みんなで見られる
学年 科目 単元
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(汎用入出力)
スクラッチの起動方法
• デスクトップのネコのアイコンをダブルクリック
– 初回の起動にはしばらくかかる
– 何度もダブルクリックすると、複数起動してしまうので、その場合は右上の「x」をクリックして閉じる
ラズベリーパイの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
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本アルミテープを貼ります
• それぞれのアルミテープにワニ口クリップをつけます
• この開閉により、スイッチをオンオフできます
• カスタネットのように握っても良いし、椅子に置いても良いです
• このスイッチをユーザーインターフェースとして、いろいろな応用ができます