I.目的
II.部品とデバイス
III.ハードウェアのインストール
IV. 回路接続
V.ソフトウェアのインストール
VI.操作方法

Buy from US Buy from UK Buy from DE Buy from IT Buy from FR Buy from ES ここでご購入を!


このレッスンでは、OSOYOO V2.0 Raspberry Pi ロボットカーの基本的なフレームワークをインストールする方法をお教えします。

そして、Pythonを使って、K1とK3の2つのモーターを2秒間前進させた後、2秒間後進させる簡単なプログラムを作ります。PythonがGPIOピンにデジタルデータを送る方法、PCA9685モジュールにPWM(アナログ)信号を送る方法などを学びます。

C++プログラミングに興味のある方は、下記リンクにこのプロジェクトC++ソリューションがありますの御参考ください。https://osoyoo.com/?p=37327


OSOYOO のカーシャーシ(モーター2個付き) x1
OSOYOO カーモーターとホイール x2
Raspberry pi 4、3または3Bボードx1(本キットには含まれていません
OSOYOO Model Pi モータードライバボード x1
OSOYOO PCA9685互換モジュール x1
OSOYOO 電圧計 x1
18650バッテリー用ボックス x1
18650バッテリー x2
ジャンパーワイヤー


1) 上部と下部シャーシの保護フィルムを剥がします(各シャシーに1枚付いてます)

2) モーター4個を取り付け金具に以下のように取り付けます

3) モーター2個をM3*10のネジ(取付金具のパッケージに入っているネジを使用)で車の下部のシャーシに取り付ける。

4) OSOYOO MODEL Pi モータドライバモジュールを、M2.5 プラスチックネジ4本、プラスチックピラー、プラスチックナットで車の下部シャーシに取り付ける。OSOYOO MODEL Pi モータドライバモジュールの取り付け方向を確認してください)。

5) PCA9685互換ボードを2本のM2.5プラスチックネジ、プラスチックピラー、プラスチックナットで車の下部シャーシに取り付ける。

6) 電圧計をM2.5プラスティックネジ2本、プラスティック支柱、プラスティックナットで下部シャーシに取り付ける。

7) ユニバーサルホイールを M3x10 六角ネジ 2 本と M3 ナットで下部カーのシャーシに取り付ける。

8) 銅製ピラーを4本を M3x20 六角ネジと M3 ナットで下部ーカーシャーシに取り付ける。

9) PCA9685 互換ボードに 2pin 20cm メス-メスケーブルと 3pin 20cm メス-メスケーブルを接続します。電圧計をPiモデルモータードライバボードに3ピン15cmメス-メスケーブルを使用して接続します。

10) M2.5 プラスチックネジ、プラスチックピラー、プラスチックナット4組を使って、ラズベリーパイボードを下部シャーシに取り付けます。

11) 18650用バッテリーボックスを4本のM3x10ネジとナットで車の上部シャーシに取り付ける。

12) 電池ボックスのコネクタと model pi ボードを次の図のように接続します。

ENA は PCA9685 の PWM0 に、ENB は PCA9685 の PWM1 に接続します。K1とK2は同じで、K3とK4は同じです(下図参照)。

12) 上部シャーシと下部のシャーシをM3*10の六角ネジ4個とM3のゴムリング4個で組み立て、車輪2個をモーターに取り付けます。



回路結線

このプロジェクトで最も重要なのは、モーターとRaspberry Piを同時に駆動できるように改良されたL298Nモジュールである、OSOYOO Model-Piモータードライブボードです

OSOYOO Model-Pi L298Nボードは、ロボット、RCカー、ドローン、小型気象台などの持ち運びするRaspberry Piアプリケーションに最適なモータードライバーボードです。

このボードは、L298N DCモータードライバーのすべての機能をサポートしており、さらに、Raspberry Piボードに安定した電圧を供給できるUSB 5V出力ポートも備えています

I/Oピンは、EAABLEA/IN1/IN2/IN3/IN4/ENABLEBなど、L298Nと完全互換があります。 左右の車輪を制御するためのPWM出力を2チャンネル装備。各チャンネルには2つの出力ソケットがあります(K1/K2は右輪用、K3/K4は左輪用)。

6つの入力信号端子ENA,IN1,IN2,IN3,IN4,ENBと、左右のモーターに接続する2組の出力ソケット(K1/K2,K3/4)を備えています。

入力電源には、7.5V~24Vの電池を使用できます(ロボットプロジェクトでは、タンデム型18650電池2本、またはタンデム型単4電池6本、またはパラレル型9V電池2本の使用を推奨します)。

USBポートは5V/2.4Aを安定して出力します。

写真1:PCA9685互換ボードを写真1のようにraspberry piボードに接続します。

写真2:写真2のように、Model Piの6つの制御ピンをRaspberry PiのGPIOピンとPCA9685互換モジュールに接続します。

写真3:写真3のように、Model Piの接続マップをRaspberry Piボードに接続します。

ENAは、ラズベリーパイまたはArduinoからPWM信号(パルス幅変調信号)を受け取ります。ENAのパルス幅が長くなると、K1,K2の回転速度は速くなります。

ENBもラズベリーパイまたはArduinoからPWM信号(パルス幅変調信号)を得る。ENBのパルス幅が長くなれば、K3,K4の回転速度が速くなります。

IN1, IN2デジタル入力端子は、K1, K2モーターの回転方向を決定します。IN1=HIGH(1)、IN2=LOW(0)の場合、K1またはK2のモーターは前進する。IN1=LOW, IN2=HIGHの場合、K1またはK2のモータは後方に移動します。IN1とIN2が同じ電圧の場合、K1/K2のモーターは動きません。

IN3, IN4デジタル入力端子は、K3, K4モーターの回転方向を決定します。IN3=HIGH(1)、IN4=LOW(0)の場合、K1またはK3/K4のモーターは前進する。IN3=LOW, IN4=HIGHの場合、K3またはK4のモータは後方に移動します。IN3とIN4が同じ電圧の場合、K3/K4のモーターは動きません。


ソフトウェアの準備:

イメージャーユーティリティー。Win32DiskImagerユーティリティ フリーダウンロード
フォーマットツール。SD formatter(オプション) フリーダウンロード

 

SSHツール PUTYY(Windowsユーザー向け) フリーダウンロード for free

OS  RASBIAN (このチュートリアルでは、 RASBIAN  2020-05-27を使用します)

ステップ1: Raspberry Piに接続する前に、RASBIAN Operation System(OS)をSDカードにインストールする必要があります(SDカードにOS RASBIAN Imageがプリインストールされている場合は、このステップはスキップしてください)。

RASBIAN OSの最新版は、公式サイトからダウンロードすることができます。https://downloads.raspberrypi.org/raspbian/images/.Write Win32DiskImagerユーティリティーを使ってイメージをSDカードリーダー経由でmicroSD/TFカード(最低16G)にインストールします。

ステップ2:WIFi接続

まず、Raspberry PiにHDMIモニターやテレビを接続します。キーボードとマウスをRaspberry PiのUSBポートに接続します。SDカードをRaspberry Piのスロットに挿入します。

デスクトップの右上にあるワイヤレスアイコンをクリックすると、アクセスポイントのリストが表示されますので、お使いのWifiシステムを選択して接続してください。Raspberry Piが無線LANに接続されると、次のような画面が表示されます,

無線LANのアイコンにマウスを合わせると、IPアドレスが表示されます。または、ターミナルでhostname -Iコマンドを入力してください。あなたのローカルIPアドレスは以下のようになります。

192.168.50.182 fd00:bc4d:fba4:fea2:c4a1:a409:4853:917d

……

上の例ではステップ3)の中ではRASBIAN のIPは192.168.50.182 、そしてPi IP アドレスはfd00:bc4d:fba4:fea2:c4a1:a409:4853:917d になります

ステップ 2: SSHを有効にする

Ctrl-Tを押して、コマンドターミナルを開き。そして、次のように入力します。sudo raspi-config

設定メニューが表示されるので、Interface Options ->SSH -> Yes -> OK -> Finishを選択します。

これでRaspberry Piを再起動すると、PuttyやSSHを使ってRaspberry Piにリモートでアクセスできるようになります。

ステップ2: puttyまたはsshを使って、IP アドレスを次のように入力してラズベリーパイに接続します。
ssh [email protected] (このIPアドレスはステップ1のものです)

管理者:pi
パスワード:raspberry

Step 3: Enable I2C

I2Cを有効にしていない場合は、以下のコマンドを実行して、I2Cを有効にしてください。

sudo raspi-config

その後、「Interfacing Options」->「I2C」->「Yes」->「Ok」->「Finish」を選択。

ステップ4: rpi.gpioとadafruit-pca9685ライブラリがない場合は、以下を使用してください。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install rpi.gpio


Raspberry Pi 3でPython 2を使用している場合は、次のように入力します。

sudo pip install adafruit-pca9685

Raspberry Pi 4でPython 3を使用している場合は、次のように入力します。

sudo pip3 install adafruit-pca9685

sudo pip3 install adafruit-pca9685
 

Step 5: 以下のコマンドを入力して、サンプルコードをダウンロードします。

wget http://osoyoo.com/driver/picar/picar-basic.py

Raspberry Pi 3/3B+でPython 2を使用している場合は、次のように入力します。

python picar-basic.py

Raspberry Pi 4でPython 3を使用している場合は、次のように入力します。

python3 picar-basic.py

 

上記のPythonコードを実行すると、モーターは0.75秒前進した後、0.75秒後退し、0.75秒左に曲がり、0.75秒右に曲がり、停止します。

サンプルのpythonコード http://osoyoo.com/driver/picar/picar-basic.py にはフルコメントを書いています。Pythonの基本的な知識があれば、このコードを自分のアプリケーション用にカスタマイズする方法を簡単に理解することができます