KOROBO Lite 編

PaletteIDE操作説明書

×
ようこそ、ロボットプログラミングの世界へ
みなさんの周りにはどんな働くロボットがありますか？

ロボット掃除機が家の掃除をしたり、自動運転の車や、人工知能を搭載したロボットが将棋でプロ棋士と対決したりと、今や生活の様々な場面でロボットを見ることができます。
このように活躍しているロボットは「プログラミング」をすることで人が操縦することなく自律的に動くことができるのです。
みなさんもKOROBO Liteをプログラミングして、ロボットプログラマーへの第一歩を踏み出しましょう！
本書の中では、KOROBO Liteのことをロボットと記していきます。

1

ver6

１．PaletteIDEを使おう
PaletteIDE を準備しよう Windows版※ここではPaletteIDEのWindows版について説明しています｡※MacOS版の説明は､4ページ
以下のウェブサイトからWindows版のPaletteIDEをダウンロードします。
https://www.elekit.co.jp/software/SW-1017
ダウンロードしたファイルはzip形式で圧縮されていますので展開します。
展開すると「palette_V1_5_0」という名前のフォルダができていることを確認しておきましょう。

※

V以下の数字 の部分はバージョンにより異なります。

※

圧縮されたファイルを展開するためにダブルクリックしてもパソコンの設定によっては、フォルダーの中身を表示するだけで展開されない場合があります。確実に展開するために、圧縮されたファイルの上で右クリックして「すべてを展開」を選んでください。

2

ver6

PaletteIDEを起動する Windows版
ダウンロード後に展開したフォルダーの中にある「palette」をダブルクリック
して「PaletteIDE」を起動します。

ダブルクリックするとPaletteIDEが起動し、プログラ
ム一覧画面が表示されます

はじめて「PaletteIDE」を起動するときに、不明な発行元といったメッセージが出る場合があります。その場合は以下のように操作してください。
Windows7の場合[ 実行 ] をクリックします。

チェックを外すと次回から警告を出さなくすることができます。

Windows10の場合[ 実行 ] をクリックします。

詳細情報 をクリック
します。

3

ver6

PaletteIDE を準備しよう MacOS版※ここではPaletteIDEのMacOS版について説明しています｡※Windows版の説明は､2ページ
以下のウェブサイトからMacOS版のPaletteIDEをダウンロードします。
https://www.elekit.co.jp/software/SW-1017
ダウンロードしたファイルはzip形式で圧縮されていますので展開します。
※Safariでzip形式のファイルをダウンロードした場合､自動的に展開されます(デフォルト設定のとき)｡展開すると「palette」という名前のアプリケーションができあがります。

4

ver6

PaletteIDEを起動する MacOS版
展開してできあがった「palette」をダブルタップして「PaletteIDE」を起動します。

PaletteIDEが起動し、プログラ
ム一覧画面が表示されます

MacOS 10.15 Catalinaで使用する場合の注意
MacOS 10.15 Catalinaでは､PaletteIDEの初回起動時に､次のようなダイアログが出ます｡｢システム環境設定を開く｣を押して設定画面に進み､下図のように､Paletteの入力監視を許可(チェックボックスをON)してください｡

この設定を行わないと､ロボットへのプログラム転送ができません｡
また､MacOS 10.15 Catalina以前のMacOSでは､この設定は必要ありま
ONにする

せん｡

5

ver6

プログラムの新規作成
プログラムを新しく作るときは、画面上部の「NEW FILE」のボタンをクリック、
選択ダイアログでプログラミングする製品を選びます。

選択
ダイアログ

「NEW FILE」をクリックすると、「KOROBO LITE」を選んで選択ダイアログが表示される「OK」ボタンをクリック

選択ダイアログのOKをクリックするとプログラム詳細ダイアログが出てきます。
ここでは、プログラムの名前やつくった人の名前を入力します。「プログラムの説明」のところには、どんなプログラムを作りたいかなど、プログラムの内容が分かるようなメモを書くと良いでしょう。

入力できたら「プログラミングをプログラム編集画面が開きます。

はじめる」ボタンをクリック

さあ、プログラミングをはじめよう！

6

ver6

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

②ドックプログラムで使用する命令アイコンが並んでいます。
前進や後進などの移動するためのアイコンや、センサーの情報で分岐やループするアイコン、
数値や回数を設定するアイコンなどが用意されています。

③スイッチボード
プログラムの情報を表示したり、プログラムの保存や、プログラムの書込みなどの操作をするためのアイコンが並んでいます。

7

ver6

アイコンの説明

USB

チェック

フラッシュ

アンドゥ

セーブ

：

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

ロボットと正しく接続されているときに緑色のチェックマークが表示されます

プログラムをロボットに書き込みます

プログラム作成操作を１つ前の状態に戻します
グレイ表示されているときは利用できません

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

現在画面に表示しているプログラム部分を PNG形式
キャプチャーの画像で保存します。背景の色は透明になります。
画像はPalette.exeが置かれているフォルダーの中に保存されます。

バック

アイコンの説明

プログラム編集画面を閉じて、プログラム一覧画
面に戻ります：ドックのアイコン

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

8

ver6

プログラム一覧画面の説明
プログラム一覧画面①②①スイッチボード
フォルダーやファイルを操作するアイコンが表示されています。
NEW FILE：新しくプログラムを作成するときにクリックします。

NEW FOLDER：新しくフォルダーを作成するときにクリックします。

②ワークスペース
この場所に作成したプログラムやフォルダーが表示されます。

プログラムやフォルダーを削除する
削除したいプログラムやフォルダーをクリックしたまま、画面の下の方に動かし、の上で離すと削除されます。

プログラムやフォ
ルダーを下に移動するとのアイコンが現れます。

9

ver6

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

ファイルをドラッグすると画面下に

コピー

削除

するとファイルがコピーされますとコピーのマークが現れる

コピーするファイルの名前と説明をマークにファイルをドロップ

このようにファイルがコピーされます

記入します

10

ver6

２ ．ロボットを動かしてみよう
この章で使うアイコン
スタート

前進

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

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

ます。

エンド

待機

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

ラムを終了します。

ムを一時停止します。

1秒間前進するプログラムをつくる
命令アイコンを画面下のドックからドラッグして、スタートとエンドの間の置きたい場所で離すとプログラム上にアイコンが配置されます。

ドラッグしてここで離す

ドック

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

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

ver6

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

付属のUSBケーブルを使います。

②ロボットの電源スイッチをONにします。
電源スイッチをONにするとLED3(緑)が点灯することを確認します。
LED3が点灯しないときは、ロボットのリ
セットスイッチ(赤)を一回押します。

③FLASH(フラッシュ)ボタンをクリックしてプログラムを書き込みます。

FLASHボタンが明るいときにプログラ
ムを書き込むことができます。

FLASHボタンが暗いときはプログラムを書き込むことができません。ケーブルの接続を確認し、ロボットのリセッ
トスイッチ(赤)を一回押してみます。

④画面に転送成功と表示されれば書き込み完了です。

12

ver6

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

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

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

スタートスイッチ(青)を押すとプログラム実行開始します

１秒間前進！

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

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

13

ver6

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

前

前

前

前

後

前進

後

左回転

右回転

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

左前進

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

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

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

14

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

ver6

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

(例3-1)

1秒間前進→1秒間後進

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

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

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

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

15

ver6

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

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

を100回にしてください」なんて言われたらもう大変ですね。
この章ではこういった単純な動作を繰り返し行うときに便利な「繰り返し処理」について学んでいきます。

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

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

16

ver6

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

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

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

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

(例4-2)

17

無限ループ

ver6

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

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

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

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

18

ver6

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

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

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

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

ブレーキ(例5-2)

停止(例5-3)

19ver6

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

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

LED

センサー

センサー

多くの光が
反射する

光があまり
反射しない

白い床

黒い床

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

OFF の状態20

ver6

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

出力表示LED

へこんで
いる部分を
上向きに

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

感度が
下がる

感度が
上がる

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

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

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

21

ver6

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

LEDオン／オフ
光センサー基板についているLEDをON/OFFします。

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

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

ログラムをつくります。センサーがONのときは前進しましょう。
最初にLEDをONにすることを忘れないようにします(例6-1)

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

ver6

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

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

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

動作チェックをしよう□

白い紙の上では前進して、左側光センサーが黒い紙の上にくると停止しますか？

やってみよう左側光センサーのアイコンを右側光センサーに変えてみて、ロボットの動きを確認してみましょう。

23

ver6

６－２

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

ライントレースする

その１

光センサーを使って、床の白と黒を判別し、ラインに沿って進むプログラムを作成します。

最初にLEDをONにすることを忘れないようにします(例6-2)

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

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

24

ver6

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

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

光センサー基板
光センサー基板

動作チェックをしよう□

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

25

ver6

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

L

L

L

R

R

R

R

光センサ左
(L)の状態

光センサ右(R)の状態

✕
(黒)

✕
(黒)

ラインが中にあるので

✕
(黒)

◯
(白)

ラインが左にあるので

◯
(白)

✕
(黒)

ラインが右にあるので

◯
(白)

◯
(白)

ロボットの動き

前進

左回転

右回転

ラインがないので回転してラインを探す。

右回転

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

やってみようセンサー同士を離してコネクターに差し込んでみて、ロボットの動きがどう変化するか観察してみましょう。
26

ver6

ライントレースする

その２(例6-2)では、ラインの幅が、センサーどおしの距離より十分広いときのプログ
ラムでした。それでは次に、ラインの幅が、センサーどおしの距離より小さい
場合のプログラムを考えてみましょう。

最初にLEDをONにすることを忘れないようにします(例6-3)

ライントレースする

その２

プログラムを観察してみよう(例6-2)ではラインの幅が広いので、左右の光センサーが同時に黒を検出した
ときに前進することができましたが。ラインの幅が狭い場合はどうしたらようでしょうか？
ここでは、左右のセンサーが同時に白を検出したときには、ラインがちょう
どロボットの真ん中にあると考えてロボットを動かします。
直進の動作とセンサーの検出の状態が(例6-2)とは違っていることに注意しながらプログラムを確認してみましょう。

27

ver6

準備しよう① ロボットを走らせるためのコースを準備しましょう。大きめの白い紙や床に、幅が広い黒テープなどで、下の図のようなコースをつくります。
線の幅はセンサーどおしの距離より小さくなるように1～３cmくらいの幅を目安にします。
黒い線を作るときは、急カーブにならないようにつくります。
急カーブがあるとそこでコースから外れやすくなります。

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

光センサー基板
光センサー基板

動作チェックをしよう□

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

28

ver6

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

光センサ左(L)の状態

光センサ右(R)の状態

○
(白)

○
(白)

✕
(黒)

どちらでも
関係ない

◯
(白)

✕
(黒)

ロボットの動き
左右のセンサーの内側にラインがあるので前進(※ラインが無い場合も同じ動きをさせる)

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

ラインが右にあるので右前進(例6-2)、(例6-3)のように、同じ「ラインをトレースする」という目的を解決するプログラムなのに、センサーどおしの距離や、ラインの幅が変わるとプ
ログラムを変える必要があることがわかります。
プログラムをつくるときは自分の使っている環境や状況に合わせて、いろい
ろな考え方で挑戦しましょう。

考えてみよう
(例6-2)では左・右回転を使っていましたが(例6-3)では左・右前進を使っています。なぜ回転ではなく前進なのか、プログラムを作成して、ロボットをうごかしてみて、そのロボットの動きから理由を考えてみましょう。
□ ロボットはどんな動き方をしましたか？

29

ver6

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

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

30

ver6

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

②

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

31

光センサー基板
光センサー基板

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

31

ver6

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

光センサ左
(L)の状態

光センサ右(R)の状態

◯
(白)

◯
(白)

○
(黒)

✕
(白)

✕
(白)

○
(黒)

✕
(黒)

✕
(黒)

ロボットの動き

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

前進

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

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

32

ver6

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

最初にLEDをONにすることを忘れないようにします(例6-4)

障害物を感知してよける

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

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

光センサー基板33

ver6

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

上手な感度調整の方法
準備： 感度調整をしやすくするために、LEDが点灯するだけのプログラムを作って、ロボットに書き込みます。

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

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

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

34

ver6

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

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

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

少し後進して
右回転する

障害物なし

前進

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

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

35

ver6

７．覚えると便利な操作テクニック
数値定数の値、待機の時間を効率よく設定する[数値定数]アイコンは最小 -100、最大100の範囲内の値を、また、[待機]アイコンは最小0秒、最大10秒の範囲内の時間を設定することができます。
アイコンの上下にあるパラメータボタンをクリックして値を設定することもできますが、 それぞれのアイコンのパラメータボタンをドラッグすることで目盛りが表示され、マウスを上下に動かすことで値や時間を変えることができるようになります。
目盛りが出てきて、値を変えられます。

パラメータボタンをドラッグすると…

離すと値を設定できます※ ー(マイナス)のときはパラ
メータボタン(下)をドラッグする

目盛りが出てきて、値を変えられます。

パラメータボタンをドラッグすると…

離すと値を設定できます※ 待機アイコンのパラメータ
ボタン(下)はドラッグしても目盛は表示されません。

36

ver6

マウスホイールでできること
マウスホイールを使うことでワークスペースに表示されているプログラムの拡大・縮小をすることができます。これはプログラム一覧画面・プログラム編集
画面のどちらでも行うことができます。また、プログラム編集画面下部のドックにマウスポインタを合わせた状態でマウスホイールの上下操作をすると、ドックを水平方向にスクロールすることができます。

マウスホイールを奥に転がすと拡大

マウスホイールを手前に転がすと縮小

画面のスクロール・センタリング
プログラムを作成するとき、何もない(アイコンが置かれていない)位置でドラッグ操作を行うとワークスペース全体のスクロール操作ができます。また、何もない位置でダブルクリックをするとワークスペースをセンタリングします。
これはプログラム一覧画面・プログラム編集画面のどちらでも行うことができます。

プログラムのキャプチャー
プログラム編集画面でキャプチャーアイコンを押すと、現在画面に表示しているプログラム部分をPNG形式の画像で保存します。背景は透明になります。
画面のスクロールでキャプチャーしたい部分を表示させて使います。
画像はPalette.exeが置かれているフォルダーに保存されます。
作成したプログラムを印刷するときに便利です。

37

ver6

８．アイコンの説明
アイコン

アイコンの名前・説明＜前進＞
ロボットが前の方向へ進みます。

＜後進＞
ロボットが後ろの方向へ進みます。

＜左前進＞
ロボットが左斜め前に曲がりながら進みます。

＜右前進＞
ロボットが右斜め前に曲がりながら進みます。

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

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

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

＜ブレーキ＞
ロボットのモーターをショートさせて強制的に止まるようにブレーキをかけます。ピタッと停止させたいときなどに使います。
＜スピード＞
ロボットのモーターの回転するスピードをHIGH(速く)かLOW(遅く)のど
ちらで回転させるか設定します。このアイコンを置いた後は次に設定するまで設定したスピードになります。
※スピードアイコンを全く置かない場合のスピードはHIGHになります。

38

ver6

アイコン

アイコンの名前・説明＜待機＞
パラメータによって設定した時間プログラムの処理を待機させます。
待機している間、直前の動作が継続されます。
設定できる時間は最小0秒で、0.1秒ずつ増やすことができ最大で10秒です。初期値は1秒です。
＜光センサー (左 および 右)＞光センサーの状態を読み取り、真偽値で次のアイコンに渡します。光センサーがON状態(光センサーに光が十分に当たっている)の場合は[◯]が、OFF状態(光センサーに光が十分に当たっていない)の場合は[✕]が次のアイコンに渡されます。
アイコンのイラストに「L」と書かれているものが「左側コネクターに取り付けた光センサー」、「R」と書かれているものが「右側コネク
ターに取り付けた光センサー」です。
＜LEDオン／オフ＞
光センサー投光用LEDを点灯・消灯させます。

＜コードブロック＞
複数のアイコンを囲んで一つのグループにするためのアイコンです。
プログラムの動作に与える影響はありません。
グループ先頭の[コードブロック]アイコンをドラッグすると、グループ
全体をまとめて移動させることができます。グループ末尾の[コードブロック]アイコンをドラッグすることで、囲む範囲を変えることができます。

＜条件分岐＞
真偽値を受け取り、[◯]を受け取った場合は上の経路へ、[✕]を受け取った場合は下の経路へ処理を進めます。
※「条件分岐」アイコンはデータ(真偽値)を受け取るアイコンであるため、その左側には必ずデータ(真偽値)を渡すアイコンが配置されなくてはいけません。
＜スペーサー＞
プログラムを読みやすくするなどの目的で、アイコンとアイコンの間にスペースを挿入するためのアイコンです。プログラムの動作に与える影響はありません。

39

ver6

アイコン

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

＜エンド＞
全ての動作を停止し、プログラムを終了します。

40

ver6

アイコン

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

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

41

ver6

９．トラブルシューティング
プログラムの転送の途中で転送失敗のメッセージが表示される。
KOROBO Liteの電池が消耗していないか確認します。
USBケーブルが破損、変形していないか確認します。

USBチェックアイコンが緑色にならず書き込めない。
・プログラムの転送には付属のUSBケーブル
を使います。
・KOROBO Liteの電源スイッチがONになっていることを確認します。
・KOROBO Liteのリセットスイッチ(赤)を押してみます。

・電池が消耗していないか確認します。

KOROBO Liteのファームウェアには、ソフトウェアライブラリLUFA( https://www.fourwalledcubicle.com/LUFA.php )を使用しています。
KOROBO Liteのファームウェアおよび転送用ソフトウェアのソースコードは
https://github.com/elekit-official にて公開しています。

42

ver6