け い ざ ん の D I Y 工 房

◆Home
◆住まいの D I Y
◆パソコン D I Y
◆ROBOT D I Y
◆電子工作 D I Y
◆Science

●Raspberry Pi 4 WiringPi install

 2020.05.27

ROBOTの Motor を駆動する制御信号は、Raspberry Pi 4B の GPIO を
使用して行ないます。
日本語の文字列を、Motor を制御する信号に変換するためには、
文字列〜Bit変換をしてなくてはなりません。
これには、Raspberry Pi 用の GPIO 制御をしてくれる便利な
Software に WiringPi という Program があります。
この Software は、開発者が2019年8月に開発をやめてしまったので、
今後の maintenance や Kernerl の Version UP に伴う変更などは
期待する事ができません。

Raspberry Pi GPIO Pin 配列




Wiring Pi install
まず WiringPi という Software を install します。
$ apt-get install wiringpi

下記 Command で version 確認を行います。
$ gpio -v



python3 の Bind
$ sudo apt-get install python3-pip
$ sudo pip3 install wiringpi

wiringpi ver 2.50 が install された。
version 確認するとWiringPi のversion は2.5 であり
小規模修正部分があるみたい。
最新にするには、2.52 にしなければならない。
下記の latest.deb をあてて最新にします。
$ sudo wget https://project-downloads.drogon.net/wiringpi-latest.deb
$ sudo dpkg -i wiringpi-latest.deb


python version 確認
default で使用される python の version も確認しておきましょう。
$ python -V
110


python2.7 系は、2020年4月25日に ver2.7.18 を最後にして
support 終了となりました。
python の版数が 2.7 になっている場合は、以下の要領で変更します。
まず、python2.7 の symbolic linkを削除します。
$ cd /usr/bin
$ sudo unlink python

新たに python3.7 の symbolic link を作成します。
$ cd /usr/bin
$ sudo ln -s python3 python

python3 が default で使用される様になりましたので
python の Version を確認します。
$ python -V

python 3.7.3 が表示されれば OK です。



GPIO の Test
では、GPIO の Test をしてみましょう。
Motor を回転させるには、GPIO の2端子を使用します。
まず、端子配列を見てみましょう。

$ gpio readall



GPIO の名称とピン配列が表示されました。

9番と11番を右 Motor に割り付けています。
まず、右側の Motor の前進回転を行います。

$ gpio -g mode 9 out
$ gpio -g mode 11 out
$ gpio -g write 9 1
$ gpio -g write 11 0

配線が間違っていなければ、右 Motor が前進回転します。
端子の状態を確認してみましょう

今度は、右 Motor を後進回転させます。
$ gpio -g write 9 0
$ gpio -g write 11 1

gpio 9  →名称 MISO/gpio 9
gpio 11  →名称 SCLK/gpio 11
gpio 8  →名称 CE0/gpio 8
gpio 7  →名称 CE1/gpio 7

左 Motorもやってみましょう。
$ gpio -g mode 8 out
$ gpio -g mode 7 out
$ gpio -g write 8 1
$ gpio -g write 7 0
左 Motor が前進回転します。
Motor 駆動 IC の回路と、配線は間違っていなかった様です。


Python Program

nano を起動して python を使用した、Motor の制御 Program
voice-remocon.py を作成します。

$ cd /home/pi
$ sudo mkdir WiringPi
$ cd /home/pi/WiringPi
$ sudo nano voice-remocon.py

voice-remocon.py Program




voice-remocon.py の実行

制御文の実行形式は、下記の様になります。
まず、julius を起動して、音声を受け付ける様にします。

$ cd /home/pi/julius
$ julius -C julius.conf

julius が起動して、<<< please speak >>> が表示されたら
voice-remocon を起動します。

$ cd /home/pi/WiringPi
$ python voice-remocon.py



音声受付の処理




voice-remocon が起動したら、RasRobo が
「音声リモコンを起動しました」と返事をしてくれます。
音声命令を聞き取れる様になったので話かけてみます。

「スタンバイ」と言うと、「命令受付モードに入ります」と
返事をしてくれて、前面 LED が点灯します。

これで、「前進」・「左前」・「右前」・「バック」・「左後」・「右後」と
いう言葉を受け付けてくれます。

Motor が回転して動作中ならば「停止」という言葉を受け付けてくれます。
ここで Motor の騒音問題発生。
 ↓
Raspberry Pi ROBOT ギアの騒音と雑音対策


何も話しかけなければ 20秒で Time Out して「命令受付モードを解除します」と
返事をしてくれて前面 LED が消灯して停止します。


----------------------------------------------------------------------------------------------------------------------------
・けいざん美術館
・Blog 油絵もろもろ
・EXCEL VBAであくせく
・けいざんの食べログ


                 Site Designed by Kasio Keizan