スカイフィッシュのドローンブログ -DJIのDroneで空撮する一般人のBLOG-

東京在住の普通の会社員がDJIのドローンを勢いで買ってしまったブログです。

スカイフィッシュのドローンブログ

【ドローンTelloプログラミング】未経験者が初めてのプログラミングに挑戦【Scratchの使い方】

f:id:drone_skyfish:20180408145725j:plain

トイドローンTelloの目玉機能、プログラミング飛行について

 

 

プログラミング初心者がトイドローンTelloに子ども向けプログラミング言語SCRATCHを使う!設定方法と手順

人気のトイドローンTelloですが、特徴的な機能として、プログラミングによる自動飛行の設定ができます。

f:id:drone_skyfish:20180408102236p:plain

はてなブログの人たちの中にはプラグラマーなど沢山いる印象ですが

自分はプログラミングとは無縁の人間・・・

とにかく自分にとってプログラミングの敷居は高い!

そんなド素人の自分に果たしてドローンのプログラミングができるのか!?

挑戦してみました! 

 

Telloを操作するためのプログラミング言語Scratch(スクラッチ)とは

とにかく自分はプログラミングのことは無知なので、

最初、Scratchと書かれていてもでした。

Scratchとは

初心者が最初に正しい構文の書き方を覚えること無く結果を得られる、遊び心のある実験やインタラクティブアニメーション、ゲームなどの製作を通してさらなる学習のやる気を起こさせることを意図している。

Scratch (プログラミング言語) - Wikipedia

 

どうやら子ども向けに開発された、初心者の為のプログラミング言語で、

可愛い絵柄や直感的な操作で、視覚的にプログラミングを学べるモノらしい!

f:id:drone_skyfish:20180408151202p:plain

 

確かに最近だと、

小学校の授業でプログラミングが必修科目になるとは聞いたことがあるし、

子ども向けのプログラミングスクールが人気!というのも聞いたことがある。

 

 

プログラミングというと、一部の限られた人たちの技術というイメージがありましたが、今後はその間口がどんどん広がっていくのかもしれません。 

 

f:id:drone_skyfish:20180408151218p:plain

TelloとScratchの設定方法

Telloの製品説明などで、プログラミングにはScratchが必要なことが分かるのですが、

完全に初心者の僕には、具体的に何から始めたらいいのか分かりません。

 

そこで参考にした動画はこちら


ScratchでRYZE Telloをプログラミング(Mac編)- SkyDRONE

 

こちらの動画を参考に実際に挑戦してみます!

 

Telloのプログラミングに必要なモノ

  • トイドローンTello本体
  • パソコン
  • Scratchアプリ(無料)

 以上!

f:id:drone_skyfish:20180408112700j:plain

 

 

パソコンはMacでもWindowsでもどちらも可

 

Scratchはサイトから無料でダウンロードできます。詳しくは後述します。

 

TelloとScratchの準備手順

実際の準備をしていきます。

自分がMacなのでMac用の設定ですが、大まかな流れはWindowsでも一緒かと思います。

 

Ryze Techのサイトにアクセス

Telloの製造メーカーRyze Tech社のサイトに手順が掲載されています。(英語です)

www.ryzerobotics.com

 

この中の赤丸部分のScratch READMEに入ると

f:id:drone_skyfish:20180408113024p:plain

 

TelloとScratchに関するPDFの資料があります。

下のURLから直接見ることもできます。

https://dl-cdn.ryzerobotics.com/downloads/tello/0222/Tello+Scratch+Readme.pdf

 

Scratchをダウンロードする

f:id:drone_skyfish:20180408113627p:plain

 

パソコンのローカル環境でScratchを使うためにScratchアプリをダウンロードします。

アプリの正式名称はScratch 2.0 Offline Editor 

scratch.mit.edu

 

f:id:drone_skyfish:20180408114031p:plain

f:id:drone_skyfish:20180408114036p:plain

注意事項にもありますが、Macの場合、Adobe AIR 20が必要なので、インストールしていない人はコチラからダウンロードする必要があります。

Adobe - Adobe AIR

 

上の手順が済めばScratch 2.0 Offline Editorがダウンロード、インストールできます。

 

インストールしたアプリのアイコン、

ゆるキャラのアイコンです笑

f:id:drone_skyfish:20180408114758p:plain

 

アプリを開くとこんな画面です。

f:id:drone_skyfish:20180408115223p:plain

 

赤い印をつけたところをクリックすると言語選択ができます。

f:id:drone_skyfish:20180408115240p:plain

 

下の方に日本語があります。しかもひらがなバージョンも!

f:id:drone_skyfish:20180408115408p:plain

 

これは「日本語」f:id:drone_skyfish:20180408115428p:plain

 

これは「にほんご」を選択。確かにこれだったら小学生でも分かる!f:id:drone_skyfish:20180408115443p:plain

 

node.jsをダウンロードする

f:id:drone_skyfish:20180408114433p:plain

 

では資料に戻って手順に従い、node.jsをダウンロードします。

正直これは初心者には何の為か意味不明。javaスクリプト(名前しか知らん)っぽいということは分かりますが、とりあえず言われるままにインストールしましょう。

下のリンクから

Node.js

 

赤丸の箇所をクリックするとダウンロード開始f:id:drone_skyfish:20180408120157p:plain

 

ダウンロード成功すると、このパッケージが保存されます。

これをダブルクリックで展開

f:id:drone_skyfish:20180408120235p:plain

 

インストールを開始します。f:id:drone_skyfish:20180408120543p:plain

 

同意するを選択f:id:drone_skyfish:20180408120600p:plain

f:id:drone_skyfish:20180408120611p:plain

f:id:drone_skyfish:20180408120612p:plain

 

これでnode.jsに関しては終了。

 

TelloのScratchファイルをダウンロードする

f:id:drone_skyfish:20180408121209p:plain

 

ここをクリックするとScratch用のTelloのデータがダウンロードできます。

https://dl-cdn.ryzerobotics.com/downloads/tello/20180222/Scratch.zip

 

f:id:drone_skyfish:20180408122046p:plain

 

中身はこんなデータが入っています。

f:id:drone_skyfish:20180408122408p:plain

 

Tello.jsを開きます。

f:id:drone_skyfish:20180408122503p:plain

 

開くとこんな中身

f:id:drone_skyfish:20180408122656p:plain

 

var〜から始まる部分から下まで全てコピー

f:id:drone_skyfish:20180408122747p:plain

f:id:drone_skyfish:20180408122757p:plain

コピーが完了したら、そのまま次にいきます。

 

ターミナルを起動する

Macに入っているターミナルを起動します。

f:id:drone_skyfish:20180408123103p:plain

ターミナルを使うときは取り返しがつかないことになる可能性があるので十分注意して下さい

 

ターミナルを開くとこんな画面に

青い部分はユーザー名に自分の個人名が入っているので消しています。)

f:id:drone_skyfish:20180408124419j:plain

 

キーボードで「 node 」と入力、エンターキーを押します。f:id:drone_skyfish:20180408124544j:plain

 

するとモードが切り替わります。f:id:drone_skyfish:20180408124628j:plain

 

そしたら先ほどコピーしたTello.jsの中身をそのまま貼り付けます。

f:id:drone_skyfish:20180408124814j:plain

 

これでターミナル側の操作は完了!

ターミナルは終了せずにこのままにしておきます。

 

ScratchにTelloのデータを取り込む

 

f:id:drone_skyfish:20180408122119p:plain

 

次はScratch 2.0 Offline Editor に戻りダウンロードしておいたTelloのデータを取り込みます。

ファイルを選択します。

f:id:drone_skyfish:20180408133240p:plain

 

通常クリックするとこのメニューですが

f:id:drone_skyfish:20180408133323p:plain

 

今回はキーボードのshiftを押しながらファイルをクリック、すると下の項目が出て来ます。

f:id:drone_skyfish:20180408133429p:plain

一番下の「実験的なHTTP拡張を読み込み」を選択します。

 

するとファイル選択画面になるので、先ほどダウンロードしたScratchフォルダーの中のTello.s2eファイルを選択します。

f:id:drone_skyfish:20180408133712p:plain

これでScratchの中にTelloのデータが取り込まれました。 

 

f:id:drone_skyfish:20180408122135p:plain

スクリプト>その他の中に

Tello  ControlというTelloの動きを制御するコマンドが入りました! 

f:id:drone_skyfish:20180408134013p:plain

 

ということで、これで一連のプログラミングをする為の準備が出来ました !

これで準備完了です・・・ 長かった・・・

 

Telloでプログラミングに挑戦! 

小学生でも分かる視覚的なインターフェイスのScratch!

自分が試したのは一部分だけですが、使用した項目を簡単に説明

 

Scratchの各項目 

イベント項目では、きっかけの様なものを設定できます。

f:id:drone_skyfish:20180408134920p:plain

 

制御項目では、イベント後、実際の動きの間の制御の設定ができます。

f:id:drone_skyfish:20180408134926p:plain

 

その他項目でTelloの動きのコントロールができます。

f:id:drone_skyfish:20180408134932p:plain

 

Telloの動作一覧説明

  • take off =離陸
  • land =着陸
  • fly up with distance =上昇(数字は距離)
  • fly down with distance =下降(数字は距離)
  • fly left with distance  =左移動(数字は距離)
  • fly right with distance   =右移動(数字は距離)
  • fly forward with distance   =前進(数字は距離)
  • fly back with distance   =後進(数字は距離)
  • rotate CW with angle =右回転(数字は角度)
  • rotate CCW with angle =左回転(数字は角度)
  • flip with duration =8方向フリップ(F,B,R,Lで方向指定)
  • set speed =スピード変更?(数字は速度?)

 この項目を組み合わせ、自分の好きな様に自動飛行させることができます。

 

Scratchを組んでいく

上で説明した項目のブロックを、右のスペースでつなげていきます。

スクリプトは上から下に向かって進んで行きます。

 

イベントで設定した項目をきっかけに、指定した制御と動作を行います。

今回はこんな感じで設定してみました。

f:id:drone_skyfish:20180408135012p:plain

画面も分かりやすいし、パズルみたいで面白い!

子供向けというのも納得! 

 

実際にプログラミングしたTelloを飛ばしてみる!

Telloのプログラミングの設定後の操作は、通常使うスマホ(送信機)は使いません。

f:id:drone_skyfish:20180408143848j:plain

パソコンのScratch 2.0 Offline Editorから行います。

f:id:drone_skyfish:20180408143908j:plain

Telloを起動します。PCでWi-Fiをオン。

するとWi-FiスポットにTelloが出てきます。

Wi-Fiを拾うことでPCとTelloを接続します。

f:id:drone_skyfish:20180409014819j:plain

 

これでもうPCからTelloの起動可能になります!

f:id:drone_skyfish:20180408144303j:plain

 

イベントで設定したボタン押すと自動でTelloが飛び立ちます!

f:id:drone_skyfish:20180408144510j:plain

 

これは実際に飛ばしてみた動画です。設定でPCのスペースキーで飛行します。

 

 

最後に

プログラミング未経験者がドローンのプログラミングに挑戦してみた結果・・・

なんとかできた!!

 

楽しいミニドローンTelloとプログラミングの組み合わせ

遊びながら最先端の技術を体験できます!

 

大人が楽しむ趣味としてのドローンはもちろんですが、

子どもにとってはこれが何かのきっかけになるかも!

 

世の中のお父さんお母さん、

お子さんのプレゼントにドローン学習にプログラミングを検討してみてはいかがでしょうか!

 

 

できるキッズ 子どもと学ぶ Scratch プログラミング入門

できるキッズ 子どもと学ぶ Scratch プログラミング入門

 
はじめてのプログラミング (学研まんが入門シリーズ)

はじめてのプログラミング (学研まんが入門シリーズ)

  • 作者: 橋爪香織,たきりょうこ,阿部和広,うめ(小沢高広・妹尾朝子), 
  • 出版社/メーカー: 学研プラス
  • 発売日: 2017/04/18
  • メディア: 単行本
  • この商品を含むブログを見る
 

 

iPhoneでドローンプログラミングする方法

www.droneskyfish.com