コロボライト２ MR-007

プログラミング・ガイド

ようこそ、ロボットプログラミングの世界へ
みなさんの周りにはどんな働くロボットがありますか？
ロボット掃除機が家の掃除をしたり、自動運転の車や、人工知能を搭載したロボットが将棋でプロ棋士と対決したりと、今や生活の様々な場面でロボッ
トを見ることができます。
このように活躍しているロボットは「プログラミング」をすることで人が操縦することなく自律的に動くことができるのです。
みなさんもコロボライト2をプログラミングして、ロボットをプログラムで動かしながら、プログラムの基本をまなんでいきましょう。
このガイドの中では、コロボライト2のことをロボットと記していきます。

1

ver1

タッチパネル操作とマウス操作
このガイドで書いているタッチパネルでの操作に対応するマウス操作は以下のよ
うになります。お使いのパソコンの環境に合わせて操作してください。
タッチパネル操作

同じ動作をするときのマウス操作

タップ

クリック
画面上のアイコンやワー
クスペースに指1本で軽く触れ、指を離します。

ダブルタップ

マウスの左ボタンを押して指を離します。

ダブルクリック
画面上のアイコンをマ
ウスの左ボタンで2回連続クリックします。

画面上のアイコンを指で2回連続でタップします。

ドラッグ

画面上のアイコンに触れ、指を離さずに目的の場所まで動かして指を離しま
す。

スクロール

ドラッグ

スクロール
画面のドックやワークス
ペースに触れ、指を払うように動かします。

拡大・縮小

拡大の場合は、指1本で画面に触れたまま、別のもう1本の指で画面に触れ、2本の指先を開くように動かします。
縮小する場合は、逆に2本の指先でつまむように動
かします。

長押し

画面上のアイコンをクリックしてボタンを押したまま、目的の場所まで動かして指を離します。
画面上のドックやワー
クスペースをクリック
したままマウスを動か
します。

ホイール

マウスのホイールを回
します。

右クリック
画面上のアイコンを指1本で、2秒以上触れたままにします。

マウスの右ボタンを押して指を離します。

2

ver1

１．プログラミング・ポータル

プログラミングの準備
ブラウザーには Google Chrome または Microsoft Edge を使います。

1

コロボライト２ プログラミング・ポータルにアクセスする
ブラウザーのアドレスバーに下記URLを入力してサイトに移動します。

korobolitepp.web.app※完全なURLは｢https://korobolitepp.web.app｣ですが､多くの場合､上記のように省略された形で入力できます｡

コロボライト２ プログラミング・ポータルのページが開きます。

3

ver1

プログラミングの準備

2

ペアリングするロボットを始めてパソコンにつないだときは「ペアリング」をします。
ペアリングを行っていない状態では､ロボットとWebアプリとの通信ができません｡※使用するブラウザーが変わったときや、ブラウザーを使用するログインユーザーが変わったときにもペアリングが必要なことがあります。

① ロボットとパソコンをUSB
ケーブルで接続する④ (1) KOROBO LITE 2 をタップして選ぶ
(2)

パソコン

接続

を押す

(1)

(2)

② 電源スイッチをONにする⑤③ 「ペアリング」をタップ

⑥

「OK」
OK

をタップ

ペアリング終了

ペアリングは一度だけ行えばよく､
次回以降は､ペアリングは必要ありません｡

4

ver1

プログラミングの準備

3

プログラム編集画面を開く

プログラムを新しく作るときは、プログラミング・ポータル画面の、プログラムをつくるカードをタップします。

プログラム編集画面が開きます。
さあ、プログラミングをはじめよう！

5

ver1

プログラム編集画面の説明
プログラム編集画面

③

④

①

②

①ワークスペース
この場所にプログラムを作成します。
スタートとエンドのアイコンはあらかじめ配置されています。

②ドックプログラムで使用する命令アイコンが並んでいます。前進や後進などの移動するためのアイコンや、センサーの情報で分岐やループするア
イコン、数値や回数を設定するアイコンなどが用意されています。
ドックは左右に動かせます③スイッチボード
ロボットの接続状態を表示したり、プログラムの保存や、プログラムの書込みなどの操作をするためのアイコンが並んでいます。

④プログラミング・ポータルへ
このロゴをタップすると､｢プログラミング・ポータル｣ページに移動します｡

6

ver1

スイッチボードのアイコン
USB

ロボットと正しく接続されているときに緑色のチェック

チェックマークが表示されます

かきこみプログラムをロボットに書き込み(転送)します

とりけし

プログラム編集操作を１つ前の状態に戻します

ほぞん

作成したプログラムを保存します

現在プログラムを表示しているブラウザー画面のクリップ

URLアドレスを、クリップボードに保存します。
このURLをメールやメモ帳に貼り付けて他の人に伝えることで、別のパソコンのブラウザーで同じ画面が開きます。

ズームイン
ズームアウトワークスペース表示の拡大、縮小をします

センタリングワークスペースをセンタリングします

ドックのアイコン
ドックのアイコンの詳しい説明は、「８．アイコンの説明」で説明しています。次ページ以降でプログラミングに慣れて、オリジナルのプログラムを作るときに活用してください。

7

ver1

プログラミング・ポータル画面の説明
プログラミング・ポータル画面

②

③

①

①｢ペアリング｣カード
ロボットをペアリングします｡②｢プログラムをつくる｣カード
あたらしくプログラムをつくるときにタップします｡③｢プログラムカード｣
作成ずみのプログラムがカードとして表示されます｡

プログラムを削除する
削除したいプログラムのカード上で長押しして指を離すとメッセージが表示されるので、OKを押します。
※最初から収録されているプログラムを消すことはできません｡

長押し

8
8

ver1

アイコンの操作①アイコンを置く➋置きたい場所でドロップ➌自動的に整列される➊アイコンをドラッグ②アイコンをならびかえる➌自動的に整列される➊置きたい場所までドラッグ➋置きたい場所でドロップ③アイコンを消す➊何もない場所でドロップ➋自動的に整列される

9

ver1

プログラムのコピー
プログラムを作ってうまく動作したときは、プログラムのファイルを保存しておくと良いかもしれません。試行錯誤しているときに「昨日のプログラムに戻した
いけど上書してしまって戻れない…」となってしまう前に保存しておきましょう。

保存したいプログラムを開き、①
クリップをタップします。

（URLがコピーされます）

ブラウザーの新規ページを開き、②

アドレスバーにURLを張り付け③

プログラムの画面が開いたら、て、移動します。

ほぞん

をタップし、

名前をつけてOKをタップします。

④

プログラムが保存されます。

10

ver1

２．プログラムのかきこみと実行

この章で使うアイコン
スタート

前進

このアイコンからプログラム

ロボットが前へ向かって進みが始まります。

ます。

エンド

待機

全ての動作を停止し、プログ指定された秒数だけプログラ

ラムを終了します。

ムを一時停止します。

前に進むプログラムをつくる
下図のような「ロボットが1秒間前に進む」プログラムをつくります。
待機アイコンの秒数は1秒に設定しましょう。アイコンの上下についているパラメータボタンをタップすると秒数が変わります。

パラメータボタン(上)パラメータ(例2-1) ロボットが1秒間前に進む
パラメータボタン(下)

11

ver1

プログラムの書き込みプログラムができたら、プログラムを書き込みましょう。
①ロボットとパソコンをUSBケーブルで接続します。
付属のUSBケーブルを使います。

②ロボットの電源スイッチをONにします。
電源スイッチをONにするとLED3(緑)が点灯することを確認します。
LED3が点灯しないときは、・ロボットのリセットボタン(赤)を一回押してみます。
・USBケーブルを一旦抜いてもう一度差し込んでみます。

③かきこみボタンをタップしてプログラムを書き込みます。
チェックマークが表示されているときにプログラムを書き込むことができます。

未接続マークが表示されているときはプログラムを書き込むことができません。
ケーブルの接続の確認やロボットの電源ス
イッチの位置を確認します。

④画面にプログラムを転送しました。と表示されれば書き込み完了です。

[OK] ボタンをタップしてメッセージを消します。

★この表示が出るまで､ケーブルを抜かないこと!

12

ver1

プログラムの実行
書き込んだプログラムを実行してみましょう。スタートスイッチを押すと「1秒前進する」という動作をします。うまく動いたら成功です！

電源をOFFにして、USBケーブルを抜きます

電源をONにすると
LED3が数回点滅します

スタートボタン(青)を押すと、LED3が数回点滅した後プログラムを実行します

１秒間前進！

プログラムが終了するとLED3がゆっくり点滅します。

もう一度プログラムを実行するときは、
リセットボタン(赤)を一回押してからス

タートボタン(青)を押します。

13

ver1

３．いろんな移動をやってみよう
ロボットの動きをよく観察してみよう
ロボットは左右に1つずつ車輪がついています。前進させるプログラムを実行して動いているときに車輪が回転している方向はどのようになっていたでしょうか？車輪は右も左も、鉄棒で前回りをするのと同じ前向きに回転していたと思います。
ここではロボットに後進や回転をさせてみます。ロボットが動いているときに左と右の車輪が前向きに回転しているか、後ろ向きに回転しているか、よく観察してみましょう。

前

前

前

前

後

前進

後

左回転

右回転

この章であたらしく使うアイコン
後進
ロボットが後ろへ向かって進みます。
左回転

左前進

ロボットがその場で左へ回転します。

左斜め前に曲がりながら進みます。
右前進

右回転
ロボットがその場で右へ回転します。
14

右斜め前に曲がりながら進みます。
ver1

1秒間前に進む→1秒間後ろに進む
下図のような「1秒間前進→1秒間後進」するプログラムを作ります。待機アイ
コンのパラメータは1.0秒に設定しましょう。

(例3-1)

1秒間前進→1秒間後進

動作チェックをしよう□ START → 前進(1秒間) → 後進(1秒間) → ENDの動きはうまくできましたか？

やってみよう「左回転」と「右回転」、「左前進」と「右前進」を使って、下図のようなプ
ログラムを作ります。どんな動きをするか予想して、実際に動かしてみましょう。ロボットが動いているときに車輪がどちらの方向に回転しているか、よく観察してみてください。

(例3-2) 左回転、右回転を使ったプログラム(例3-3)

左前進、右前進を使ったプログラム

15

ver1

パラメータの便利な入力方法
待機アイコンは0秒～10秒の範囲で時間を設定できます。
パラメータボタンをタップして値を設定することもできますが、アイコンのパラメータを短くタップすると、入力ウィンドウが表示され、キーボードで値を入力することもできます。

パラメータをタップ

数字を入力

10

OKをタップして設定

16

ver1

４．同じ動きを繰り返そう

同じ動きのアイコンをたくさん並べる？
例えば、 (例3-1)で作った「1秒間前進→1秒間後進」を5回繰り返すプログラ
ムを作ろうとしたとき、どうすれば実現できるでしょうか？

「1秒間前進→1秒間後進」を5回繰り返す
これで動かすことができます。でもこのプログラム、前進と後進を繰り返すだけの単純な動きなのにとても長くて読みにくいですね。それに「繰り返す回数
を100回にしてください」なんて言われたらもう大変ですね。

この章ではこういった単純な動作を繰り返し行うときに便利な「繰り返し処理」について学んでいきます。

この章であたらしく使うアイコン
回数ループ
囲まれた部分のプログラムを数値定数で指定した回数だけ繰り
返します。

数値定数
回数ループなどに使う数値を指定します。
パラメータボタンによって数値を増減できます。
無限ループ
囲まれた部分のプログラムを無限に繰り返します。

17

ver1

「1秒間前進→1秒間後進」を5回繰り返す「1秒間前進→1秒間後進」を5回繰り返すプログラムをつくります。
繰り返す動作を「回数ループ」のはじめと終わりのアイコンの間に置き、繰り返す回数を「数値定数」で設定します。数値定数アイコンのパラメータボタン
を数回クリックして値を５にします。

(例4-1) 「1秒間前進→1秒間後進」を5回繰り返す

動作チェックをしよう□ 「前進(1秒間)→後進(1秒間)」を5回繰り返して動きますか？

やってみよう自動でロボットを動かす場合、プログラムが終了することなく、無限に動き続けてほしいことがほとんどです。「無限ループ」を使って、左回転と右回転をずっと繰り返すプログラムを作ってみましょう。

(例4-2)
18

無限ループ
ver1

無限ループ/回数ループの操作方法
ループアイコンの後ろ側のアイコンをドラッグして囲む範囲を変えることができます。

ループアイコンの先頭側をドラッグするとループアイコンで囲まれている範囲を一緒に移動することができます。

パラメーターの便利な入力方法
数値設定アイコンは-100～100の範囲で数を設定できます。
パラメータボタンをタップして値を設定することもできますが、アイコンのパラメータを短くタップすると、入力ウィンドウが表示され、キーボードで値を入力することもできます。
パラメータを短くタップ

数字を入力

39

OKをタップして設定

19

ver1

数値をうけとるアイコン｢回数ループ」アイコンは、直前においたアイコンから数値をうけとるのですから、直前においたアイコンは｢数値をわたす｣ものでなくてはいけません。プログラミングにつかえるアイコンのうち、｢数値をわたす｣ものは、｢数値定数｣、｢数値変数出力｣などがありますが、アイコンのかた
ちで見分けることができます。

｢丸いへこみ｣は、直前のアイコンから｢数値｣をうけとることを表す｢丸いでっぱり｣は、次のアイコンに｢数値｣をわたすことを表す

正しい組み合わせ｢数値定数｣アイコンが｢32｣という数
値を次にわたし、｢回数ループ｣アイ
コンがそれをうけとっている

正しくない組み合わせ｢回数ループ｣アイコンに数値がわた
されていない。そのため、｢まちがい｣をあらわす｢ ! ｣が表示されている。

20

ver1

５．スピードをかえてみよう

スピードの役割
人間は道をゆっくり歩いているときに、目の前に急にボールがとびだしてきたら、すぐに止まることができますよね。でも全力で走っているときだとどうでしょうか。きっとすぐには止まれないと思います。ロボットも同じで、早いス
ピードで動いていると、センサーが反応してもすぐには止まれず、少し進みすぎることがあります。センサーでモノを感知するときは、ロボットのスピードを調整したほうがよい場合もあります。ここではスピードを変えるプログラムを作ってみましょう。

この章であたらしく使うアイコン
スピード
ロボットのモーターの回転するスピードが速い[FAST]か、遅い[SLOW]、その間の[MID]のどのスピードで回転させるか設定します。このアイコンを置いた後は次に設定するまで設定したスピードになります。
※スピードアイコンを全く置かない場合のスピードはFASTにな
ります。

ブレーキ
ロボットのモーターに電気的なブレーキを掛けて回転を停止します。

停止
ロボットのモーターの動作をOFFにします。

21

ver1

「1秒早く前進 → 1.5秒遅く後進」をずっと繰り返す「1秒間早く前進→1.5秒間遅く後進」をずっと繰り返すプログラムをつくります。前進と後進が切り替わるときにロボットを一旦停止させることもやってみましょう。

(例5-1) 「 1秒間早く前進→1.5秒間遅く後進」を5回繰り返す

動作チェックをしよう□ 「早く前進(1秒間)→ゆっくり後進(1.5秒間)」を繰り返して動きますか？
スピードを[SLOW]にしたときにロボットの動きが途中で止まるときは電池が消耗している場合があるので、そんな症状のときは電池をチェックしてみましょう。

やってみようロボットを止める方法は２つあります。「ブレーキ」 と「停止」です。
ブレーキはモーターに電気的にブレーキをかけるので、ピタッと止まりますが、停止はモーターを回すことをやめるだけなので、ほんの少しだけ進んで止まります。ブレーキと停止をプログラムして動きの違いを確認してみましょう。

ブレーキ(例5-2)

停止(例5-3)
22ver1

６・センサーを使ってみよう

センサーの役割
人間は目で見たり、耳で音を聞いたりしてまわりの様子を感知しますが、世の中にあるロボットは目や耳のかわりにさまざまな種類のセンサーを使います。
センサーには、壁にぶつかったことを感知するタッチセンサー、リモコン信号を感知する赤外線センサー、揺れを感じる振動センサーなど、いろいろなセンサーがあります。
コロボライト２には光センサーが使われています。ここでは光センサーを使ったプログラムを作ってみましょう。

光センサーのしくみ
光センサーは受光部（光の明るさを見る目のような部分）に入ってくる光が明
るいか暗いかを見ることができます。
コロボライト２の光センサーには、受光部（センサー）と発光部（LED）があります。LEDから出てくる光が壁や床に反射したときの光をセンサーが感知することで、床の色の明るさなどを見ることができます。
LED

LED

センサー

センサー

多くの光が
反射する

光があまり
反射しない

白い床

黒い床

光センサーが光センサーがON の状態

OFF の状態23

ver1

場所によって感度調整をしよう
光センサーは受光部に入ってくる光の明るさによって床の白・黒などを判別するため、環境光（室内の電灯や太陽光などの光）の影響を受けます。環境光が明るすぎるときは黒い床を検出しにくくなったり、環境光が暗すぎるときは白い床を検出しにくくなります。そのため、光センサーの下の床をLEDで照らして、環境光の影響をできるだけ小さくします。
さらに、確実にラインを検出できるようにメイン基板のVR11, VR21を使ってセンサーの感度調整を行いましょう。
光センサー感度調整ボリューム

出力表示LED
へこんで
いる部分を
上向きに

感度調整ボリュームは右図のようにへこんでいる部分が上向きのときがボリュームの中間の位置です。環境光の明るさによって時計回りに回して感度を上げたり、反時計回りに回して感度を下げた

感度が
下がる

感度が
上がる

りすることが必要になる場合もあります。

光センサーの下が黒いときは、出力表示LEDが消えていて、
光センサーの下が白いときは、出力表示LEDが点灯するように調整します。

部屋の中に太陽光が入ってきているなど、環境光が明るすぎる場合には、ボリュームによる感度調整をしてもうまく動かないときもあります。その場合
は窓のカーテンを閉めたり、電灯を暗くしてみたりして環境光が影響しない
ような工夫をしましょう。

24

ver1

この章であたらしく使うアイコン
条件分岐
センサーが反応していたら分岐の◯側、反応していなかったら分岐の✕側のプログラムを実行します。

光センサー右メイン基板の右側コネクター(CN21) に接続した光センサーの状態を見るときに使います。
光センサー左メイン基板の左側コネクター(CN11)に接続した光センサーの状態を見るときに使います。

６－１ 光センサーがOFFになったら停止する
条件分岐を使って、左側に取り付けた光センサーがOFFになったら停止するプ

ログラムをつくります。センサーがONのときは前進しましょう。
ロボットのスピードはSLOWにしておきます。

(例6-1)

左側の光センサーがOFFになったら停止

25

ver1

準備しよう① ロボットを走らせるためのフィールドを準備しましょう。
大きめの白い紙や床に、黒い紙または幅が広い黒テープなどで、下の図のようなフィールドをつくります。

② ロボットの左側のコネクターに光センサー基板Aが下を向くように差し込まれていることを確認しておきます。

光センサー基板Aを左側に差し込む

動作チェックをしよう□ 白い紙の上では前進して、光センサー左が黒い紙の上にくると停止しますか？

やってみよう• 光センサー左のアイコンを光センサー右に変えたプログラムを作ってみて、
光センサー右で停止するようにロボットの動きを変えてみましょう。
• ロボットのスピードをFASTに変えてみて、ロボットが停止する場所がどうなるか観察してみましょう。
• 黒い線の幅を細くしてみて、ロボットの動きがどう変わるか観察してみま
しょう。
26

ver1

６－２

光センサーを使ってライントレースをする

ライントレースする その１ 左だけ使う
光センサー左だけを使って、床の白と黒を判別し、ラインに沿って進むプログ
ラムを作成します。

(例6-2)

光センサー左だけでライントレースをする

プログラムを観察してみよう
光センサー左だけを使っています。
光センサーは床の色が白ければ光センサーの状態は〇になり、床が黒け
れば×になります。〇のときには右前進、×のときは左前進させています。
ロボットのスピードが速すぎるとラインを上手く見つけることができず、コースアウトするかもしれませんので、スピードをMID(中間)にしていま
す。

27

ver1

準備しよう① ロボットを走らせるためのコースを準備しましょう。大きめの白い紙や床に、幅が広い黒テープなどで、下の図のようなコースをつくります。
線の幅はできるだけ広い方が良く、2cm以上できれば３cm程度の幅を目安にします。
黒い線を作るときは、急カーブにならないようにつくります。
急カーブがあるとそこでコースから外れやすくなります。

② ロボットの左側のコネクターに光センサー基板が下を向くように、センサーがロボットの中心に近くなるように差し込みましょう。
光センサー基板
こちらは付けなくてもOK

光センサー基板

動作チェックをしよう□

黒いラインの上をロボットが進み続けていますか？

28

ver1

動きを観察してみよう
ロボットが光センサーでどのようにして黒いラインを検知してうまくラインをたどっているか、ロボットの動きを表で整理してみましょう。
プログラム上で光センサーの条件分岐の◯と✕は、◯：光センサーが白を検知しているとき✕：光センサーが黒を検知しているときを意味します。
ライン（白・黒）の状態

光センサ左(L)の状態

光センサ右(R)の状態

ロボットの動き✕(黒)ー

左センサーの下にラインがあるので(チェックしない)

ー

◯
(白)

(チェックしない)

左前進

ラインが右にあるので

右前進

このようにして適切な動きをプログラミングすることで、ロボットは床の色（白・黒）を判別してライントレースをすることができます。

やってみようセンサーが外側になるように(中心から遠くなるように)取り付けて、ロボットが進むときの姿勢がどう変化するか観察してみましょう。

29

ver1

ライントレースする その２ 左右のセンサーを使う
光センサー左と光センサー右の両方を使って、ラインに沿って進むプログラムを作成します。

(例6-3)

ライントレースする

その２

プログラムを観察してみよう(例6-2)で光センサーのプログラムを作ったときは、光センサーの条件分岐で◯と✕の2通りだけ動きを設定しましたが、ここでは「光センサー(左)の条件分岐」の中にもうひとつ「光センサー(右)の条件分岐」が入っています。このように条件分岐の中にまた条件分岐を入れている構造のことを「入れ子（ネスト）」といいます。入れ子を使うことで条件分岐を3通り以上にすることが
できます。

30

ver1

準備しよう① ロボットを走らせるためのコースを準備しましょう。大きめの白い紙や床に、幅が広い黒テープなどで、下の図のようなコースをつくります。
線の幅はできるだけ広い方が良く、2cm以上できれば３cm程度の幅を目安にします。
黒い線を作るときは、急カーブにならないようにつくります。
急カーブがあるとそこでコースから外れやすくなります。

② ロボットの右側・左側のコネクターに光センサー基板が下を向く
ように、センサーどうしが遠くなるように差し込みましょう。

光センサー基板

光センサー基板

動作チェックをしよう□

黒いラインの上をロボットが進み続けていますか？

31

ver1

動きを観察してみよう
ロボットの動きとセンサーの状態を表で整理してみましょう。
ライン（白・黒）の状態

光センサ左(L)の状態

光センサ右(R)の状態

○
(白)

○
(白)

✕
(黒)

○
(白)

◯
(白)

✕
(黒)

✕
(白)

✕
(黒)

ロボットの動き

左右のセンサーの内側にラインがあるので前進

左センサーの下にラインがあるので

左前進

右センサーの下にラインがあるので

右前進

なにもしない
（直前の動作を続ける)(例6-2)も同じ「ラインをトレースする」という目的を解決するプログラムなのに、センサーを２つ使うと動きがスムーズになったのが分かると思います。
プログラムをつくるときは自分の使っている環境や状況に合わせて、いろい
ろな考え方で挑戦しましょう。

32

ver1

６－３ テーブルから落ちないロボットをつくる
光センサーを使って、テーブルの端(はし) を判別し、テーブルから落ちないロ
ボットのプログラムを作成します。

(例6-3) 光センサーでテーブルの端(はし)を判別するプログラムを観察してみよう(例6-3)と同じように、光センサーを２つ使っています。左右の光センサーのON/OFFの組み合わせでロボットの動作を変えたいので、条件分岐の中にさらに条件分岐をつくる「入れ子（ネスト）」を使ったプログラムになっています。

33

ver1

準備しよう① ロボットを走らせるためのテーブルは、できるだけ白っぽいものを用意します。テーブルがない場合は、大きめの白い紙と、幅が広い黒いテープなどで、下の図のようなフィールドをつくります。

②

ロボットの左側右側の両方のコネクターに光センサー基板が下を向くように、また、センサーどうしが離れた状態になるように差し込まれていることを確認しておきます。

光センサー基板

光センサー基板

動作チェックをしよう□ テーブルから落ちずに、または、黒いラインからはみ出さないようにロボットが動き続けていますか？
テーブルの上で動かす場合は、テーブルから落ちないように十分注意して動かしましょう。

34

ver1

動きを観察してみよう
それでは、ロボットに取り付けた光センサーでどのようにしてテーブルの端を検知しているか、観察してみましょう。
プログラム上で光センサーの条件分岐の◯と✕は、◯：光センサーが白を検知しているとき、つまりテーブルの上にいるとき✕：光センサーが黒を検知しているとき、つまりテーブルの端をみつけたときを意味します。センサーの状態とそのときのロボットの動きを表で整理してみ
ましょう。
テーブル
の状態

光センサ左
(L)の状態

光センサ右(R)の状態

◯
(白)

◯
(白)

○
(黒)

✕
(白)

✕
(白)

○
(黒)

✕
(黒)

✕
(黒)

ロボットの動き

両方のセンサーがテーブルの上なので

前進

右側のセンサーがテーブルの端なので少し後進して左回転

左側のセンサーがテーブルの端なので少し後進して
右回転両方のセンサーがテーブルの端なので少し後進して長めに右回転このようにして適切な動きをプログラミングすることで、ロボットはテーブルの端を判別して落ちないように動くことができます。

35

ver1

６－４

障害物をよけるロボットをつくる

ロボットの前方にある障害物を感知して、よけながら走るプログラムを作成します。

(例6-4)

障害物を感知してよける

準備しよう① ロボットを走らせる床に、障害物を置きましょう。障害物が黒い色だとうまく感知できないので、白っぽい色のものにします。

② ロボットの左側のコネクターに光センサー基板が前を向くように
差し込みます。

光センサー基板36

ver1

感度を調整しよう
これまで練習した６ー１から６－３のロボットは、センサーを下向きに使っていましたが、ここではセンサーを正面に向けます。今までとセンサーの向きが変わりセンサーに入ってくる明るさも変わりますので、環境に合わせて感度を調整する必要があります。

上手な感度調整の方法
１．感度調整ボリュームを反時計回りに回します。(感度が低い状態にします。)
ボリュームは優しく回します。
２．ロボットを障害物などが何もない方向へ向けておいて、電源を入れます。
センサー基板に搭載されている赤色のLEDが光ります。
３．この状態で本体基板上の出力表示LEDが点灯している場合は、周りが明るすぎるので、部屋をもう少し暗くします。
４．ロボットのセンサーの正面２～３cmのところに障害物を置きます。
５．ゆっくり感度調整ボリュームを時計回りに回していき、センサーが反応して出力表示LEDが点灯するところで回すのをやめます。
６．障害物をロボットの正面から取り除いて、出力表示LEDが消えればOKです。
７．ロボットを別の方向に向けたときでも、障害物がないときは出力表示LEDが消えていて、障害物があるときは出力表示LEDが点灯することを確認しておきましょう。

動作チェックをしよう
感度調整ができたら、(例6-4)のプログラムを書き込みましょう。
□

障害物を見つけたら方向を変えてロボットが進み続けていますか？

37

ver1

動きを観察してみよう
それでは、ロボットに取り付けた光センサーでどのようにして障害物を検知しているか、観察してみましょう。
プログラム上で光センサーの条件分岐の◯と✕は、◯：光センサーに入る光が多いとき、つまり正面に障害物があるとき✕：光センサーに入る光が少ないとき、つまり障害物がないときを意味します。センサーの状態とそのときのロボットの動きを表で整理してみましょう。
ロボット前方の状態

光センサ左(L)の状態◯(光の反射が多い)✕(光の反射が少ない)

ロボットの動き前方に障害物がある

少し後進して
右回転する

障害物なし

前進

このようにして適切な動きをプログラミングすることで、ロボットは障害物を見つけて、向きを変えて動くことができます。

やってみよう□もっとうまく障害物をよけることができるように、光センサーを２つ使ったプログラムにチャレンジしてみよう。

38

ver1

７．覚えると便利な操作テクニック

拡大・縮小
ピンチアウト・ピンチイン操作でプログラムの拡大・縮小をすることができます。
ピンチアウトで拡大

ピンチインで縮小

画面のスクロール・センタリング
プログラムを作成するとき、何もない(アイコンが置かれていない)位置でドラッグ操作を行うとワークスペース全体のスクロール操作ができます。また、何もない位置でダブルタップ(画面を軽くたたく操作を2回繰り返す)をするとワークスペースをセンタリングします。

プログラムのクリップ
現在プログラムを表示しているブラウザー画面のURLアドレスを、クリップ
ボードに保存します。
このURLをメールやメモ帳に貼り付けて他の人に伝えることで、別のパソコンのブラウザーで同じ画面が開きます。

39

ver1

８．アイコンの説明

スタートアイコン、エンドアイコン
アイコン

アイコンの名前・説明＜スタート＞
このアイコンからプログラムが始まります。
ワークスペースにあらかじめ配置してあり消すことはできません。
＜エンド＞
全ての動作を停止し、プログラムを終了します。
ワークスペースにあらかじめ配置してあり消すことはできません。

ドックのアイコン
アイコン

アイコンの名前・説明＜前進＞
ロボットが前の方向へ進みます。
＜後進＞
ロボットが後ろの方向へ進みます。
＜左前進＞
ロボットが左斜め前に曲がりながら進みます。
＜右前進＞
ロボットが右斜め前に曲がりながら進みます。
＜左回転＞ロボットがその場で左回転します。
＜右回転＞
ロボットがその場で右回転します。
40

ver1

ドックのアイコン

つづき

アイコン

アイコンの名前・説明＜停止＞
ロボットのモーターの動作をOFFにします。

＜ブレーキ＞
ロボットのモーターをショートさせて強制的に止まるようにブレーキをかけます。ピタッと停止させたいときなどに使います。
＜待機＞パラメータによって設定した時間プログラムの処理を待機させます。
待機している間、直前の動作が継続されます。設定できる時間は最小0秒で、0.1秒ずつ増やすことができ最大で10秒です。初期値は1秒です。
＜光センサー (左 および 右)＞光センサーの状態を読み取り、真偽値で次のアイコンに渡します。光センサーがON状態(光センサーに光が十分に当たっている)の場合は[◯]が、OFF状態(光センサーに光が十分に当たっていない)の場合は[✕]が次のアイコンに渡されます。
アイコンのイラストに「L」と書かれているものが「左側コネクターに取り付けた光センサー」、「R」と書かれているものが「右側コネク
ターに取り付けた光センサー」です。

真偽値とは？
簡単にいうと、真は “正しい”、偽は “正しくない” という意味です。
プログラミング画面上では真は 〇 、偽は × と表示されています。

＜ボタン青＞STARTボタンの状態を読み取り、真偽値で次のアイコンに渡します。

＜条件分岐＞
真偽値を受け取り、[◯]を受け取った場合は上の経路へ、[✕]を受け取った場合は下の経路へ処理を進めます。
※「条件分岐」アイコンはデータ(真偽値)を受け取るアイコンであるため、その左側には必ずデータ(真偽値)を渡すアイコンが配置されなくてはいけません。

41

ver1

ドックのアイコン
アイコン

つづき
アイコンの名前・説明＜スピード＞
ロボットのモーターの回転するスピードをFAST(速く)かSLOW(遅く)その間のMIDの、どのスピードで回転させるか設定します。このアイコンを置いた後は次に設定するまで設定したスピードになります。
※スピードアイコンを全く置かない場合のスピードはFASTです。
＜LEDオン／オフ＞
光センサー投光用LEDを点灯・消灯させます。

＜無限ループ＞[無限ループ]内の処理を実行します。ループの最後に到達した場
合は、[無限ループ]の先頭に戻ります。
＜条件ループ＞
真偽値を受け取り、[◯]の場合は、[条件ループ]内の処理を実行しループの最後に到達すると、[条件ループ]の先頭に戻りもう一度
真偽値を受け取ります。[✕]の場合は、[条件ループ]末尾の次のア
イコンに移動します。
＜真偽定数＞
パラメータボタンで設定した真偽値[○]または[✕]を右のアイコンに渡します。
＜真偽変数 入力＞
真偽値を受け取り、パラメータボタンで指定した真偽変数(A, B,
C, D, E)に格納します。
＜真偽変数 出力＞パラメータボタンで指定した真偽変数(A, B, C, D, E)から真偽値を取り出して、右のアイコンに渡します。なお各真偽変数の初期値は[✕]です。
＜真偽反転＞
真偽値を受け取り、その値を反転させた真偽値を右のアイコンに渡します。[○]を受け取ると[✕]を渡し、[✕]を受け取ると[○]を渡します。
＜論理演算＞[論理演算]アイコンの左側と内側の真偽値で論理演算を行った結果を、真偽値で右のアイコンに渡します。論理演算の種類(AND,OR, XOR)は、パラメータボタンで選択します。
42

ver1

ドックのアイコン

アイコン

つづき

アイコンの名前・説明＜回数ループ＞
数値を受け取り、その回数、[回数ループ]内の処理を実行します。

＜数値定数＞
パラメータボタンで設定した数値を右のアイコンに渡します。パラメータボタンをクリックまたはドラッグして数値を設定します。
設定できる数値は最小-100、最大100の範囲内の整数です。
＜数値変数 入力＞
数値を受け取り、パラメータボタンで指定した数値変数(A, B, C,
D, E)に格納します。格納できる数値の範囲は、-32768 ～ 32767の整数となります。
＜数値変数 出力＞パラメータボタンで指定した数値変数(A, B, C, D, E)から数値を取り出して、右のアイコンに渡します。なお各数値変数の初期値は0です。
＜数値演算＞[数値演算]アイコンの左側と内側で数値をそれぞれ受け取り、左側と内側の数値で数値演算を行った結果を、数値で右のアイコンに渡します。数値演算の種類(足し算、引き算、掛け算、割り算)
は、パラメータボタンで選択します。なお割り算で内部のアイコンの数値が「0」のときは、実行時に「1」に置き換えられます。
＜正負反転＞
数値を受け取り、その値の正負(プラスマイナス)を反転させた数値
を右のアイコンに渡します。
＜数値比較＞[数値比較]アイコンの左側と内側の数値で数値比較を行った結果
を、真偽値で右のアイコンに渡します。数値比較の種類(大なり(>), 小なり(<), 等価(==))は、パラメータボタンで選択します。

43

ver1

論理演算、数値演算、数値比較
ここでは､論理演算、数値演算、数値比較アイコンについて､補足説明します｡

論理演算

数値比較

数値演算

論理演算アイコン｢論理演算｣アイコンは､左側と内側においた2つの真偽値を使って計算した結果を、やはり真偽値で次のアイコンに渡します｡計算の種類には AND(アンド)、OR(オア)、XOR(エックスオア)があります。AND、OR、XORそれぞれの左側と内側の真理値の組み合わせと計算の結果は次ペー
ジの真理値表のとおりになります。
♦計算の種類は上下のボタンで左側

AND、OR、XORから選びます。

右側

内側♦2つの真偽値を計算するので､♦計算結果を真偽値として次のア

左側と内側のどちらにも真偽値イコンに渡すので､右側に真偽値をを渡すアイコンをおきます｡

受け取るアイコンをおきます｡

次のプログラムは､｢光センサー左｣アイコンと｢光センサー右｣アイコンの状態をANDで計算して､その結果が真のときだけモーターを動かします。

光センサー左/右の状態の組み合わせで､モーターがどう動くか試してみましょう。

44

ver1

左側

内側

右側

A

B

計算結果

AND (論理積：両方とも真のときだけ、結果は真)
論理演算アイコンの左側と内側に配置したアイコンが両方ともに真ならば、右側につないだ次のアイコンに真を渡し、それ以外の場合は偽を渡します。
A

B

計算結果

偽 (×)

偽 (×)

偽 (×)

偽 (×)

真 (〇)

偽 (×)

真 (〇)

偽 (×)

偽 (×)

真 (〇)

真 (〇)

真 (〇)

上の表は真理値表といい、入力の組み合わせと対応する結果を表にしたものです。

OR (論理和：どちらか1つでも真のとき、結果は真)
論理演算アイコンの左側と内側に配置したアイコンのどちらか1つでも真ならば、右側につないだ次のアイコンに真を渡し、それ以外の場合は偽を渡します。
A

B

計算結果

偽 (×)

偽 (×)

偽 (×)

偽 (×)

真 (〇)

真 (〇)

真 (〇)

偽 (×)

真 (〇)

真 (〇)

真 (〇)

真 (〇)

XOR (排他的論理和：どちらか1つだけが真のとき、結果は真)
論理演算アイコンの左側と内側に配置したアイコンのどちらか1だけが真ならば、右側につないだ次のアイコンに真を渡し、それ以外の場合は偽を渡します。
A

B

計算結果

偽 (×)

偽 (×)

偽 (×)

偽 (×)

真 (〇)

真 (〇)

真 (〇)

偽 (×)

真 (〇)

真 (〇)

真 (〇)

偽 (×)

45

ver1

数値演算
｢数値演算｣アイコンは､左側と内側においた2つの数を使って､｢足し算｣､｢引き算｣､｢かけ算｣､｢わり算｣ の計算をします。計算した結果の数を次のアイコンに渡します｡♦計算の種類は上下のボタンで、左側

右側＋、ー、×、÷から選びます。
内側♦計算の結果を数として次のア♦2つの数を計算するので､イコンに渡すので､右側に数値を左側と内側のどちらにも数を渡す

受け取るアイコンをおきます｡

アイコンをおきます｡

足し算､引き算､かけ算､わり算については､算数や数学の計算と同じですが､コロボライト2 の処理能力の関係で､次のような制限があります｡
演算の結果は､-32768 ～ 32767 の範囲の整数となる
このため､計算結果が小数になったときは､小数点以下は切り捨てられます｡
また､計算結果が -32768 より小さくなったときは｢ -32768 ｣となります｡
計算結果が 32767 より大きくなったときは｢ 32767 ｣となります｡
次のプログラムは､2つの｢数値定数｣アイコンの値を計算して､その結果の数値をLEDの点滅の回数で表示します｡｢数値定数｣アイコンの値や､計算の種類を変えてみて､LEDの点滅回数がどうなるかを確
かめてみましょう｡

46

ver1

数値比較
｢数値比較｣アイコンは､左側と内側に置いた2つの数の大きさをくらべます。算数の計算のように、 > (左側の数が大きい) ､ < (左側の数が小さい)､ == (同じ)で２つの数をくらべる
式を作ります。その式が正しければ真、正しくなければ偽を次のアイコンに渡します｡♦比較方法は、＞、＜、＝＝から
左側

右側

選びます。
内側

♦2つの数をくらべるので､♦数値比較は真偽値を次のアイコ左側と内側のどちらにも数値をンに渡すので､右側に真偽値を受渡すアイコンをおきます｡

け取るアイコンをおきます｡｢数値比較｣アイコンは､接続したアイコンと選択した計算の種類で作った式が｢正しい(◯)/正しくない(✕)｣を真偽値として次に渡します｡
例えば､次の式は｢正しい｣ので､｢真(◯)｣が次の右側につないだアイコンに渡されます｡｢真(◯)｣が次のアイコンに渡される｡

6 > 4 → 正しい

7 == 7 → 正しい

次の式は｢正しくない｣ので､｢偽(✕)｣が次の右側につないだアイコンに渡されます｡｢偽(✕)｣が次のアイコンに渡される｡

6 < 4 → 正しくない

3 == 2 → 正しくない
47

ver1

９．トラブルシューティング

作成したプログラムが書き込めない。

• 充電専用USBケーブルを誤って使っていないか確認します。プログラムの転送には付属のUSBケーブルを使います。
• ロボットの電源スイッチがONの位置になっていることを確認します。
• ロボットのリセットボタンを押してみます。
• USBケーブルを一旦抜いて、差し込みなおしてみます。
• パソコン側のUSB端子が不調である可能性があります。パソコンに別のUSB端子があれば、そちらの端子を使って確認してみます。
• ペアリングをもう一度行ってみます。すでに「ペア設定済み」と表示されていてもキャンセルせずに、もう一度[KOROBO LITE 2] を選択してOKを押します。
保存したプログラムが見つからない。
• プログラムを保存したときに使用したブラウザーであることを確認します。
• ブラウザーにログインしているユーザーが、保存したときと同じユーザーであることを確認します。

※ ブラウザーが同一であっても、ログインユーザーが違っているとプログラムは表示されません。
※ ブラウザーのシークレットモードを使っていた場合はプログラムは保存されていません。

48

ver1