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

Raspberry Pi Zero /W/WH

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

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

製品の紹介と組み立て

定価がいくらか調べていませんが、£18+送料でした。

このコンセプトは好きです。箱から出して、その箱までも使う。部品自体は安価でも必要最低限が満たされ安価であるのは、確かに教育キットに相応しいと思います。

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

センサーが2つ付属

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

超音波センサー

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

トラッキングセンサー

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

どちらもミニミニブレッドボードに配置して、抵抗をつけ、Raspberry Pi Zero WHのGPIOに取り付けた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で仕上げてみました。

本来は充電池一つで全て賄ってもらえたら良かったかなと思います。まぁ、その分だけモーターが思いのほか動くのかも知れません。

\ Raspberry Pi 4はメモリー8GBが最新 /

【セット概要】「データーベース」「Webサーバー」「NAS」「AI処理」「4K画像での2画面処理」などの高負荷がかかる処理を、長時間稼働させるのに必要な負荷テスト行い、当社で厳選した高品質なパーツを組み合わせたセットです。高品質なAnker製USB電源の採用、トラブルの原因になりやすい電源周りをデジタルモニターリングできるをType-Cケーブル、Raspberry財団認定モデル 高速タイプ 100MB/sec 128GB MicroSD、静音FANによる強制冷却など、高負荷運用でも長期に渡る安定稼働が可能です。また単品でご購入いただくよりお得です。

セットアップ

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

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

Raspberry Pi Zero WHにはRaspbian(おっと今後はRaspberry Pi OSでした)のLiteを入れました。画面は必要無いからです。

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

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

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

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

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

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

sudo apt update && sudo apt 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フォルダにありました。以下です。

pi@raspberrypi:~/EduKit3/CamJam Edukit 3 - GPIO Zero/Code $

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

あっ、Raspberry Pi Zero W系以外は、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

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

自動起動については、Twitterでいつもお世話になっている「からあげ」先生のまとめを参考にしました。

https://qiita.com/karaage0703/items/ed18f318a1775b28eab4

問題が1つ。

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

面倒なので、SSHで接続し実行しています。

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

遊んでみた

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

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

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

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

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

github:https://github.com/CamJam-EduKit/EduKit3

参考:https://camjam.me/?page_id=1035

https://github.com/recantha/EduKit3-Bluetooth(wiiリモコンスクリプト)

ラズパイダ

ラズパイダ

学べる楽しむ便利になる。小さいくせにヤケにパワフル。そんなRaspberry Pi をまだ知らない人に伝えたい。様々な場所で利用されているRaspberry Pi を知って「あっ、これもラズパイだっ!」だからラズパイダ!

関連記事

特集記事

コメント

この記事へのコメントはありません。

最近の記事 はじめて向け
  1. あのMX LinuxがRaspberry Pi 向けイメージMXFBPをリリース

  2. OMV5のアップデートエラー回避

  3. Raspberry Pi Pico マイコンボード、僅か4ドルで登場

  4. お掃除ルンバのアイロボットから教育用ロボット「Root」発表

  5. 【海外】プライステーション2の中にラズパイ4を組み込んで多目的マシン

  1. お掃除ルンバのアイロボットから教育用ロボット「Root」発表

  2. 【初心者向け】Raspberry Pi 4との接続方法(電源、HDMI)

  3. 【初心者向け】はじめてRaspberry Pi OS をダウンロードする人へ

おすすめの記事

  1. ラズパイ4とOMV5(openmediavault5)で作る自宅NASサーバーの設定方法

  2. Raspberry Pi 4のOSをデスクトップPCとして使うためにUbuntuMATEをインストールしてみた

  3. ラズパイで実用的な物を作るなら特化したOSから始めてみよう

  4. ラズパイ4をデスクトップPCライクに使えるOSとして個人的に急浮上中のEndlessOS

  5. ラズパイ(Raspberry Pi)を使ってできるメディアセンター3選

  6. 正式にUbuntuがラズパイ4に対応(Ubuntu 20.10)

今月の人気記事

  1. 1

    Raspberry Pi で動く様々なOS一覧まとめ13種類!

  2. 2

    ラズパイ4をUSB接続のSSDから起動する方法(USBブート)

  3. 3

    初心者でもラズパイでNASサーバーを作ってみよう!

  4. 4

    Raspbian のWi-Fi設定(Raspberry Pi 初期設定)

  5. 5

    Raspberry Pi 4の初期設定2020年版

  6. 6

    Raspberry Pi 4を起動したのにモニターに画面が映らない対処法

  7. 7

    ラズパイ4とOMV5(openmediavault5)で作る自宅NASサーバーの設定方法

  8. 8

    Raspberry Pi 4のOSをデスクトップPCとして使うためにUbuntuMATEをインストールしてみた

  9. 9

    ラズパイ4はPCライクな性能になったけどPCではないよという話

  10. 10

    ラズパイで使うmicroSDカードの選び方

記事ランキングページ

TOP