\ 年に1度のブラックフライデーセール! /

CamJam Edukit 3 で組み立てたロボットカーをWiiリモコンで操作してみた

UKのThePihutで在庫があったCamJam Edukit No.3 Roboticsを購入して動かしてみました。どうやら2017年頃に発売されいた枯れたキットです。当時に日本でも購入できたのか分かりません。現在も在庫があるお店は少ないのではないでしょうか。最後にご紹介しているThePihutでは今でも在庫があります。

今ではBluetoothもRaspberry Pi OSなら既にサービスが動いている状態なので、セットアップが端折れて、より一層簡単にセットアップできました。

リモコン操作で動かすこともできます。それもWiiのリモコンです。非エンジニアでも楽しめるロボテクスとしてオススメできます。

この記事の主な流れ

製品の紹介と組み立て

定価がいくらか分かりませんでしたが、£18+送料でした。(2021/12/19 - $19.98)その後、2022年には£20+送料で手に入ります。

パンデミック以後はUKからの送料も値上がりしてしまったので、重量があまり増さない程度に他とまとめて購入した方がリーズナブルです。

製品コンセプトは好きです。

箱から出して、その箱までも使う! 部品自体は安価でも必要最低限が満たされ、かつ安価なら確かに教育キットに相応しいと思いました。

電源ボックスは単3電池4本で、モーターの電源になります。搭載するRaspberry Pi は自分で用意します。当然ながら、Raspberry Pi の電源は別になります。

センサーが2つ付属

付属品

センサーが付いています。

超音波センサー

超音波で距離を測るものです。対象物から跳ね返ってきた時間から距離を割り出せます。

トラッキングセンサー

白と黒を見分ける(?)ことができるので、例えば、床にテープを貼ってそれをトラッキングしながら走行させるプログラミングが可能です。

どちらもミニミニブレッドボードに配置して、抵抗をつけ、Raspberry Pi Zero WHのGPIOに取り付けたHATと接続します。

部品はよく見かけるものばかりですから、日本国内で個別に集めてもいいでしょう。メインになる緑+黒色のミニHATが手に入れば他は別の部材でもイケそうです。

体験型の学習

いずれにしても、プログラミングは必要です。繋げたからといって動くわけではありません。サンプルプログラムを実行してみて、それを改変することで思ったように動かす練習が可能です。

これぞ正にお勉強です。

例えば、前進させるためにモーターを回すにはrobot.forward()のところ、robot.backward()に変更すればバックです。

変数でマイナスにすれば、これも前進とバックです。

motorforward = (motorspeed, motorspeed)
motorbackward = (-motorspeed, -motorspeed)

モーターのスピードも変えられます。サンプルだと左右に曲がるのは、左右で回転を逆にさせたり、止めたりさせて曲げています。

motorleft = (motorspeed, 0)
motorright = (0, motorspeed)

動きが簡単で、すべて数行なため、初めてのプログラミングには結果が分かって習得しやすいと思います。

同じようにLEDの工作も、光らせるというのは目で結果が分かるのでオススメです。

組み立て

例に倣い、製品の箱をロボットカーの筐体に選びました。

モーターは箱の中側に入れてみました。3Mのテープが付いているので、箱の底か真横に付けてもOKです。

ただ、箱の底だと前輪の役目を果たすボール状の部品の高さが合わないため、恐らく後輪が上がる形になり、とってもヤンキーチックになるかと思います。

今回はグレたくないので、箱にキリで穴を開けて車軸を通すことにしました。

充電器

Raspberry Pi Zero WHへの給電は、余っていた「SANYO製KBC-D1」を使いました。(コレも古い!10年前くらい)

軽いモバイル充電器なら走行に支障はありません。

モーターを動かす電池ボックスはAmazon製充電池を使っています。

この充電器は軽いので使いました。モーターはそれなりに力があるので、もう少し大きめでも走ります。

10年前のKBC-D1エネループスティックブースター

要のRaspberry Pi Zero WH

このキットを調べると、Raspberry Pi は当時最新だった3Bまで対応となっていましたが、実際はWHでも3B+でも4Bでも動きます。

・・・というか、Raspberry Pi Zero WHやZeroではないと少し勿体ないかな。

今回はRaspberry Pi Zero WHで仕上げてみました。

本来は充電池一つで全て賄ってもらえたら良かったかなと思います。電池3本も使う分だけモーターに力があって動きます。

セットアップ

簡単にセットアップはここに載せておきます。公式サイトから辿っていけば詳しいPDFもあります。なにせ古いキットのため記載も少し古いのは気をつけましょう。

実際に試して動かしているため、ここで紹介する方が手順は最新(2021年)です。

Raspberry Pi Zero WHにはRaspberry Pi OSのLiteを入れました。画面は必要無いからです。

ただ、公式ではセットアップにHDMIで繋いで、Raspberry Pi OSのデスクトップ画面でPythonのエディタ(Thonyなど)で説明してあります。

もちろん、初心者の方はその方法が簡単です。動かす段階でHDMIケーブルを外せば良いのです。

Raspberry Pi OSをダウンロードしてmicroSDカードへ書き込むのは、公式のアプリ「Raspberry Pi Imager」を使います。

キットのプログラムをダウンロード

Raspberry Pi OSが起動している前提です。

いつものおまじない。アップデートしておきます。

sudo apt update && sudo apt full-upgrade

Githubからダウンロードしたいので、gitを入れておきます。

sudo apt install git-core

恐らく今では sudo apt install gitでも良いでしょう。

gitからクローンします。

git clone git://github.com/CamJam-EduKit/EduKit3.git

GPIOをPythonで制御するので、gpiozeroを入れておきます。

sudo apt install python3-gpiozero

で、再起動です。

sudo reboot

基本としてはこれだけです。以降、サンプルプログラムコードをそのまま実行するなり、サンプルを元に自分でアレコレ試してください。

サンプルでテスト

サンプルプログラム
画像はmacOS表示しています

サンプルプログラムはcodeフォルダにありました。以下です。

~/EduKit3/CamJam Edukit 3 - GPIO Zero/Code

/home/ユーザー名 でダウンロードしたので、そこのEdukit3内のCamJam Edukit 3 - GPIO Zeroの中にcodeフォルダがあります。

Raspberry Pi Zero系以外は、CamJam Edukit 3 - RPi.GPIOのサンプルになります。

モーターのテスト

先ずはモーターを動かします。すべてPythonスクリプトになってありますので、選ぶだけです。

python3 3-motors.py

動いた動いた!

コードはこんなもので、とても簡単です。

# CamJam EduKit 3 - Robotics
# Worksheet 3 - Motor Test Code

import time  # Import the Time library
from gpiozero import CamJamKitRobot  # Import the GPIO Zero Library CamJam library

robot = CamJamKitRobot()

# Turn the motors on
robot.forward()

# Wait for 1 seconds
time.sleep(1)

# Turn the motors off
robot.stop()

Wiiリモコンで操作のためのスクリプト

Wiiリモコンで操作するのに、ヌンチャクコントローラーとありましたが、どうやら第1世代しか対応していないので、借りてきたコントローラーでは動きませんでした。結果的にWiiリモコンの十字キーで操作しました。

プログラムはこちら。

git clone https://github.com/recantha/EduKit3-Bluetooth

hcitool scanでスキャンするとNintendoが出てきました。

hcitool scan 
Scanning ...
	00:19:1D:26:DD:99	Nintendo RVL-CNT-01

wii_controller.pyというスクリプトを実行して、ペアリングできると操作可能です。

一先ず、SSHで接続して実行させます。ターミナルにスキャン中の内容が出ますので分かり易いです。

これを自動起動させれば

 取りあえず自動起動させるのに、/etc/rc.localへ記載したけど上手く実行できませんでした。ので、crontabへ追記します。(タブン、ワタシガ、リカイシテイナイ)

@reboot                  python /home/pi/wii_controller.py

(必要な分のスペース入れることに注意です)

自動起動については、有名な「からあげ」先生のまとめを参考にしました。

問題が1つ。

Bluetoothのペアリングがどうしても上手くいきません。タイミングの問題でもなく、一瞬でプログラムがタイムアウトしてしまうみたいです。コマンドで実行すると成功する確率が上がるのですけど、自動起動にすると上手くいきません。
作者が推奨していたLEDを差してタイミングを計らないと、起動が遅いZero系では難しいですね。

面倒なのでSSHで接続し実行することにしました。

このwii_controller.pyは、Wiiリモコンの1と2を同時押しでペアリング。+とー同時押しでシャットダウンします。一度繋げばシャットダウンするまでずっと使えます。再度起動した場合はまたもう1度ペアリングです。

Wii純正リモコンは中古で2,000円くらい。ジャンクなら500円〜でしょうか

\年に1度のブラックフライデーセール!/
Amazonで詳しくみる

遊んでみた

リモコンで遊ぶなら、スグに出来て楽しめます。センサー系はまだこれからです。距離センサーで障害物を避けるだけなら簡単そうですね。

今ではあまり売っていないキットです。でも、部品を見ると集められそうですね。

学習用にモーターとLED、センサーで色んな仕組みができそうです。

3Dプリンターは持っていないので、何かの箱を利用して車体にしてみます。
あと、カメラモジュールを付ければもっと楽しいと思いますので、トライしてみようと思いました。

CamJam Edukit 3という安価なロボットキットでした。

確実に購入するには、UKのショップ「The Pi Hut」がオススメです。

CamJam EduKit #3 - Robotics
総合評価
( 4.5 )
メリット
  • 価格が安価
  • サンプルプログラムでも楽しめる
  • 箱がそのままロボットカーになるお手軽さ
デメリット
  • UKから買うしかない

参考

シェアする
  • URLをコピーしました!

Raspberry Pi 4、400、Zero2W

販売価格は、必ず販売サイトで確認してください。

\年に1度のブラックフライデーセール!/
Amazonで詳しくみる
\年に1度のブラックフライデーセール!/
Amazonで詳しくみる
RaspberryPi
¥15,987 (2022/11/29 14:24時点 | Amazon調べ)
\年に1度のブラックフライデーセール!/
Amazonで詳しくみる

この記事のコメント(承認後に公開)

コメントする

コメントは日本語で入力してください。名前は表示されます。メールアドレスは表示されません。

CAPTCHA

この記事の主な流れ