CREATIVE X 第2弾
CREATIVE X 第2弾
2016.05.19
第5回
かとえみのRaspberryPiロボット入門

ラズベリーパイは本当に楽しいの?どんな機能があるか見てみよう!【内蔵アプリ編】

加藤 恵美

こんにちは。DevRelチャンネル外部ライターの加藤恵美(かとえみ)です。先日、同じ会社の人に「ツイートを大声で勝手に読み上げる悪魔のロボット」を作られてしまいました。

IMG_1694
「ぐへへへ かとえみさんが、ツイートしたよ。『きのうふぐおいしかった……』」

将来、もしかしたらこのロボットが、勝手にいろんなところへ行ってしまうかもしれませんし、あなたの会社に訪問してくるかもしれません。今の世の中、誰でも手に入る部品でこんなものが作れてしまうようです。

これは、止めなければいけない。

まったく仕組みがわからないのですが、自分の身を自分で守るためにも、基幹として使われている「Raspberry Pi(以下:ラズベリーパイ、ラズパイ)」というマイコンボードをいじり、「ラズパイ」でロボットを作る仕組みを勉強していきます!

Raspberry Pi 2 Model B (1)
Raspberry Pi 2 Model B (1)

連載5回目の今回は、前回の記事で初期設定を終えたマイラズベリーパイで、どんなことができるのか、ラズベリーパイの機能を一通り確認し、Scratchでプログラミングをしてみます。「ツイートを大声で勝手に読み上げる悪魔のロボット」を作った張本人の「今井先生」にラズベリーパイの機能を教えてもらいます。

1. ラズベリーパイの機能をひと通り見てみよう

001

さっそくラズベリーパイを起動します。「起動ボタン」がなく、電源ケーブルを挿したら起動が始まるので、最後に挿します。

eyecatch842-1 【ラズパイ入門22】
電源ケーブルは最後に挿すのがおすすめ。
ただし、電源ケーブルを抜くときは、シャットダウンをしてからにしましょう。

起動しました。

002

ktemうーん、なんか味気ないなあ……。アイコンがゴミ箱しかないし……もっとアイコンいっぱい並べたい!
senseiおもしろいことを言いますねぇ……。ラズベリーパイには最初からいろいろなアプリが登録されているんですよ。左上のメニューから、何ができるか見ていきましょう。

1-1. プログラミング

004

もともと「子供のプログラミング教育」を目的として作られたものであることもあり、プログラミングのアプリケーションがたくさん入っています。

ktemScratchは今井先生がよく使ってますよね。Python(パイソン)っていうのも聞いたことがある気がします。
senseiMathematicaは、有名な数学用のソフトウェアで、本当は数十万円するくらいものすごく高いんですけど、ラズパイでは非商用に限って無料で使えるんですよ。

1-2. オフィス

005

ktem「オフィス」に入っているのは何ですか?
senseiオープンソースのオフィススイート(業務用ソフトウェア)で、ワードやエクセルっぽいことができますよ。
ktemアイコンの色で、何となくどれがワードでどれがエクセルっぽいのかわかっちゃいますね。

1-3. インターネット

006

senseiメールやウェブブラウザーもあります。
ktemラズパイでメールを読む人なんているんですね?
sensei……いるとは思います、たぶん。ぼくGmail派なんでメールソフト使わないですけどね

1-4. ゲーム

007

senseiほら「ゲーム」のところはどうですか?
ktem……パズドラとか入ってないじゃないですか!
senseiいや、普通のPCにも入ってないでしょそれ!! でも有名なゲーム『Minecraft』のラズベリーパイ版が入っています。ラズベリーパイ版は、プログラミングを使って拡張もできますよ。
ktem……へえ~。

1-5. アクセサリ

008

sensei「アクセサリ」は………。
ktemあー、普通のパソコンと一緒ですね。
eyecatch842-1 【ラズパイ入門23】
ラズベリーパイの中身は、いたって普通のパソコン

ktem今井先生……、おもしろそうなやつがないです……。
senseiえっ ぼくはわくわくするんだけどな……。どのへんから手をだしてみます?
ktem(この中から選ぶの? まったく面白くなさそうなんだけど……)
じゃあ、今井先生がいつも使っている「Scratch」ってどんな感じですか?
senseiわかりました! Scratchがやってみたいんですね!!!

2. Scratchでプログラミング

今井先生が「Scratch」と言うのを何度も聞いたことがある、という理由だけで口走ってしまったために、Scratchに初挑戦することになりました。

Scratchとは
MITメディアラボのミッチェル・レズニック氏が開発した、ビジュアルプログラミングを用いたプログラミング環境。難しいコードを書かなくても、ブロックを組み合わせるだけでコンピュータへの命令を直感的におこなえる。

さっそくScratchを起動してみます。

009

このキャラクターは、「スクラッチ・キャット」というそうです。犬にも見えます。

右下の枠に表示されているのが、「スプライト」と呼ばれるオブジェクト。左ブロックに表示されている「スクリプト」を枠内でつなぐことで、それぞれのオブジェクトの動きをプログラミングしていきます(ブロックプログラミングといいます)。

プログラミングの結果は、右上の「ステージ」と呼ばれるところに出力されます。

sensei古いプログラム環境では、すべての手続きをすべて順番に書いていかなくちゃいけなかったんですけど、プログラミングをよりよくしようという多くの試みの積み上げで、「オブジェクト指向プログラミング」が生まれました。その中でSmall Talkというのがありまして……。
ktem……?(長いな〜、まだ続くのかな~?)

DSC02734

(ちょっとFacebookでも見ちゃお〜)

senseiあれ? あまり聞いてません?
ktem(やばっ)とりあえず、使ってみたいです!!

〜30分後〜

gif

ktemやった! ネコが左右に動き回ります!!!!

13220179_1096281680434780_939264224_n

こちらのようにブロックを組むと、ネコが動きます。より詳しい使い方は、以下のリンクをご参照ください。

Scratch参考リンク
プログラムを書かないプログラミング入門 | プログラミングとゲームの杜
このページでは、Scratch(スクラッチ)ゲーム開発講座の一部と生徒作品を紹介します♪
小学生からはじめるわくわくプログラミング eBook: 阿部 和広

DSC02739

ktemいやっほ〜〜!
sensei動くものができると面白いですよね。
ktem少し楽しさがわかってきました!!!
eyecatch842-1 【ラズパイ入門24】
Scratchは簡単にできて、けっこうおもしろい
ktemよーし!! これで、ロボットの動きもプログラミングするんですね!!!
senseiいえ、次は「ターミナル」をやります。

3. LXTerminalを始めよう

13199293_1093646207364994_1568523387_o

ktemでた!!! 黒い画面!!

DSC02745

そういうの苦手なんです! 無理無理無理!!!

senseiいや、簡単ですよ、ほら、こうやってすぐに……。

010

ktemこれは……定番の “hello world” ……。

DSC02753

っていやいや!!!!! むりでしょ!!!! 絶対にやだ!!!!!

senseiとりあえず、次回はこれでLチカ(ハードウェア工作のいちばん基本の、LEDをちかちか光らせるやつ)をやりましょうね!
ktemいやだぁぁぁぁ~~~……(次回に続く)

おわりに

DSC02755

ラズベリーパイの基本的な機能について確認しました。次回からは、いよいよラズベリーパイを使ったロボットプログラミングです。

今井先生は楽しみにしているようですが、本当にプログラミングって楽しいんでしょうか。不安でいっぱいです。

「Raspberry Pi」に関する記事はこちら