Raspberry Pi でブラウザから操作できるラジコン戦車を作る! – 車体を作る –


■車体を作る

Raspberry Pi で

・ブラウザから操作できるラジコン戦車

を作るシリーズ第六回目。

ラジコン戦車として動作させるための機能に関しては、

既に前回までの段階で完了している。

残るは車体を作っていくのみである。

よって今回は、最後の砦である車体を作っていく。

実際にやってみて感じたことは、

・車体の作り方にこれといった正解はない

ということ。

私自身、結構色々悩んで試行錯誤してみたが、

「こうでないといけない」
「こうしないと動かない」

などということはほとんどなかった。

本サイトでは、

・私自身はこうやった、そうすれば動くものが出来た

ということを記載するが、

決してこれにこだわる必要はない。

全く同じでなくとも動かすことはできるため、

自分で好きなように組めばよいと思う。

ただ、実際に車体を組むときに苦労したことや、

ここはやっておいた方がよい、ということは記載しようと思うので、

よければ参考にしていただければと思う。

以下、

の各々について記載していく。



■ギアボックスを組み立てる

まずは DC モーターの回転を車輪へと伝えるための、

・ギアボックス

を組み立てる。

今回利用したのは、既に何度か記載しているが、こちら。

タミヤ 楽しい工作シリーズ No.168 ダブルギヤボックス 左右独立4速タイプ (70168)

タミヤ 楽しい工作シリーズ No.168 ダブルギヤボックス 左右独立4速タイプ (70168)
by カエレバ

 

このギアボックス、速度を 4 段階から選択できる。

注意しないといけないのは、

・どの速度にするかを選択した上で組み立てる

ということ。

決して組み立てた後に速度が切り替えられるわけではない。

よって、まず最初にやるべきは、

組み立てるギア比を決める

ということになる。

ギア比に関しては、箱や説明書に記載があるが、

A — D の四段階あり、

A が 1 : 012.7
B が 1 : 038.2
C が 1 : 114.7
D が 1 : 344.2

となっている。

これは、

A が最も速く、D が最も遅い

速度であることを示している。

逆に言うと、

A が最も非力で、D が最もパワーがある

という形になる。

どれを選ぶか、は好みによると思うが、

今回の車体には、

・ラズパイ
・DC モーター 2 個を含むギアボックス
・ユニバーサルプレート 2 枚
・シャフトと車輪
・スペーサー
・配線済みブレッドボード
・(カメラをつける場合)パンチルトモジュール
・モバイルバッテリー x 2

などを載せることになるため、

動くことを優先させて、今回はひとまず C を選択。

実際に試してみた結果、あくまで個人的感覚だが、

戦車という意味では速すぎず遅すぎずと言う感じ。

D だと少しのんびりしすぎかもしれない。

一方、この感じだと B は早すぎる可能性があるため、

まぁ C あたりがちょうどいいのではないかと思う。

で、いざ組み立てだが、ここに関しては、

説明書にしたがって組み立てる

というだけなので、解説は省略する。

あえて注意点をあげるとすれば、

ギアボックスの組み立て最終段階において、

ネジで締め付ける際、

緩すぎるとギアが空回りするため、

少ししっかりめに締めておいた方がよいということ。

以前、単三電池の二個直列を電源としていた際には、

あまり締めすぎると電池からのパワーが足りず、

モーターが回らない、という自体が発生したが、

今回選択したような、

・5V 出力をもつモバイルバッテリー

もしくは

・単三電池 4 つの直列接続

を電源としている場合は、多少しっかり締めても

モーターはちゃんと回ってくれる。

よって緩めるよりは、きちんと締めておいた方がよい。

組み立て後の完成系はこんな感じ。

なお、締め付けた後に回るかどうか心配であれば、

この状態でも、前回同様、DC モーターを動かせるか、

を確認しておけばよい。



■下段を組み立てる

ギアボックスの組み立てが終われば、

次は車輪を固定する下段部分から組み立てていく。

まずはユニバーサルプレートを一枚取り出し、

同じくユニバーサルプレート側のパーツである、

三角の部品をプレートの一番端の両端に設置する。

その後、真ん中の車輪を支えるための細長い棒パーツを、

三角部品の裏側に設置する。

設置場所は三角部品からユニバーサルプレートの

穴二つ分ぐらい開けた所でよいだろう。

車輪側パーツと組み合わせると、こんな感じになる。

続いては二段組にするためのスペーサー設置。

で購入したスペーサーの場合、

M3 x 20mm 2 本 を縦につなげて一本の柱にし、

ユニバーサルプレートの穴に差し込んで、

裏から Hex nuts(ナット)で止めることで、

一本分の柱を作る。

これを計三本分作り、二本をまずは三角部品の

すぐ手前位に各々立てておく。

こんな感じ。

プレートの上に乗っているスペーサーは、

柱を一本作るときに使う材料。

ここまで出来たら、いよいよ

・キャタピラ
・ギアボックス

を組み合わせていく。

キャタピラに関しては、

・30 コマ + 10 コマ + 10 コマ

のベルトだけを使う。

・8 コマ

のベルトは使わない。

私の場合はこれでちょうどよい長さとなった。

で、これを説明書どおりに繋いでおく。

キャタピラができたら、先ほどの車輪にまずつける。

その上で、ギアボックスにつけた刺刺の車輪を

キャタピラに引っ掛けた状態にしつつ、

ユニバーサルプレート前方に引っ張っていく。

この時、ギアボックスの先頭(モーターの逆側)より、

プレート先頭の方が穴の列一列分が完全に見える位

まで引っ張る位がちょうど良さそう。

これをあんまり引っ張り過ぎると動作に支障を来す。

一方で緩すぎるとキャタピラがうまく回らない。

よってちょうどよい位置を探る必要がある。

で、それぐらいの位置で固定しつつ、

二つの DC モーターの間辺りに柱を立て、

裏から柱をナットで固定する。

つまり、前側へのずれはキャタピラの引っ張る力で、

後ろ側へのずれは、上段と繋ぐための柱で抑えよう、

という作戦である。

実際に組み立ててみた結果はこんな感じ。

ここまで出来たら下段は完成。

なお、DC モーターに接続されているジャンパワイヤは、

ユニバーサルプレート後方に流しておくようにしよう。



■上段を組み立てる

下段ができれば、あとは完成したも同然。

まずは二枚目のユニバーサルプレートを準備し、

下段のプレートに立てていた柱の上に載せる。

その後、下段の柱に合わせてネジ止めする。

こんな感じ。

次は、配線済みのブレッドボードを上段に載せる。

今回購入したブレッドボードは、裏にシールがついている。

よって、上段の車体最後部に貼り付ける。

なお、今後も積み替えたいとか積み方を代える場合は、

とりあえずシールははらずに置くだけでよいだろう。

続いて、はラズパイ本体を載せる。

こちらは正直、うまく固定する方法を思いつかなかった。

なので今回は載せるだけ。

ただ、ジャンパワイヤでつながっているため、

多少動かしてもそれほどずれたりはしない。

ということで、これらを実施すると以下のようになる。

後はモバイルバッテリー。

今回購入したものを使う場合、

下段の DC モータの後ろ側に差し込むような形。

実際にはこんな感じ。

これで車体は一通り完成。

なお、完成したら、一旦動作を確認しておこう。

組み立てる際に、DC モーターの左右が変わっていたりすると、

ブラウザ上のボタンと動作がマッチしないことがある。

そんな時は、

WebIOPi から DC モーターを制御する

で設定した python コードのピン番号を、

実際の動きに合わせて変更すればよい。
*変更後は WebIOPi の再起動が必要となることに要注意。

これで無事、ラジコン戦車が完成した!



■まとめ

これまで、DC モーターの制御について記載してきたが、

今回はいよいよ車体を作り、ラジコン戦車を完成した。

車体を作るにあたって注意すべきは、

・何をどこに固定するか

ということ。

今回はひとまず動くことを重視し、

例えばこんな形、という作り方を提示したが、

これにこだわる必要はなく、自分の発想で自由に作ればよいと思う。

作業的にもほぼプラモデル作りだが、

単なるプラモデルとはことなり、自分で操作して動かせるのが楽しい。

ぜひ一度、作成してみてほしいと思う。

ここまでの Point!・速度を決めてからギアボックスを組み立てよう!
・下段はギアボックスの位置に要注意。きつすぎず、緩すぎない場所に固定しよう!
・上段は載せるだけでも大丈夫。固定したいならブレッドボードのシールを利用!
・モバイルバッテリーは下段に差し込みつつ、シャフト上に載せれば大丈夫!
・全部できたら、動作確認して python コードを修正しよう!

なお、

・ブラウザから操作できるラジコン戦車

という意味では、今回で完成したと言える。

しかしながら、本サイトでは、

・ブラウザから操作できるライブ(監視)カメラ

も作成しているため、出来ればこれも合わせたい。

ということで、次回はこれらを合体させ、

・ブラウザから操作できる監視カメラ付きラジコン戦車

を作っていきたいと思う。




Copyright (c) 2017 Webmaster of this site All Rights Reserved.
カテゴリー: ラズパイで電子工作 | タグ: , | コメントする

Raspberry Pi でブラウザから操作できるラジコン戦車を作る! – WebIOPi から DC モーターを制御する –


■WebIOPi から DC モーターを制御する

Raspberry Pi で

・ブラウザから操作できるラジコン戦車

を作るシリーズ第五回目。

前回の段階で、ようやく

・Raspberry Pi で DC モーターを制御できるようにする

ということが実現できた。

しかしながら、このままだと、

・SSH で remote login してコマンドラインから操作

といった、パソコン経由での操作しかできない。
*というか、でないと難しい。

これでは、ラジコンというにはほど遠いものになってしまう。

よって、遠隔からより簡単に操作できるようにする必要がある。

これを実現するために、通常のラジコンであれば、

コントローラーが付属している。

が、これを一から作るのは大変だし、面倒。

ということで、ここでは、

・ブラウザからラジコン戦車を操作する

ということを目指している。

これであれば、スマホなどからも簡単に操作できる。

こういったことを実現するためには、

・遠隔から Raspberry Pi の GIPO を操作する

ということができないといけない。

これを実現してくれる方法の一つに、

WebIOPi というのが存在する。

よって今回は、

・WebIOPi から DC モーターを制御する

ということにチャレンジする。

手順は以下のとおり。

では、各々について記載していく。



■WebIOPi をインストールする

WebIOPi とはなんぞや?とか、

インストール方法については、

すでに

WebIOPi による遠隔操作(インストール編)

で述べている。

よってこちらを見ていただいてもよい。

ただ、root 権限での操作について記載していたり、

patch 当てを含めたスムーズなインストール方法には

なっていない部分もあるため、以下に再度整理しておく。

・WebIOPi のダウンロードと展開

まずは WebIOPi をダウンロードしてくる。

WebIOPi のダウンロードサイト
http://webiopi.trouch.com/DOWNLOADS.html

にアクセスし、以下の青枠部分をクリックして、

WebIOPi-0.7.1.tar.gz

をダウンロードする。

以下の通り、wget で取得してもよい。

pi@raspberry:~$ wget http://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz/download

続いて、取得した file を展開する。

ブラウザから tar.gz ファイルを取得した場合は、

pi@raspberry:~$ tar zxvf WebIOPi-0.7.1.tar.gz

で tar.gz ファイルを展開する。

wget で download というファイルを取得した場合は、

pi@raspberry:~$ tar zxvf download

で展開できる。

展開すると、

WebIOPi-0.7.1

というディレクトリが作成されるため、そこに移動する。

pi@raspberry:~$ cd ./WebIOPi-0.7.1/

これで、WebIOPi そのものはインストール可能な状態となる。

・Raspberry Pi 2/3 向けパッチの適用

このままインストールしてもよいのだが、

WebIOPi は 2018 年 4 月現在、

GPIO が 26 pin しかなかった、

初代の Raspberry Pi 向けの対応となっている。

このため、ダウンロードして即インストールすると、

40 ピンある Raspberry Pi 2 及び 3 では、

WebIOPi でコントロール出来ないピンが出来てしまう。

ということで、Raspberry Pi 2 及び 3 向けのパッチを適用する。

まずは wget コマンドで、以下の通り、パッチを取得する。

      pi@raspberry:~/WebIOPi-0.7.1$ wget https://raw.githubusercontent.com/neuralassembly/raspi2/master/webiopi-pi2bplus.patch

続いて patch コマンドで取得したパッチを当てる。

      pi@raspberry:~/WebIOPi-0.7.1$ sudo patch -p1 -i webiopi-pi2bplus.patch

これでパッチは適切に当てられるはずである。

・パッチ適用済み WebIOPi のインストール

パッチが当たれば、いよいよ WebIOPi をインストールしていく。

インストール自体は簡単で、

先ほど展開した WebIOPi-0.7.1 ディレクトリ直下にある、

setup.sh

を root 権限で実行すればよい。

具体的には以下の通り。

      pi@raspberry:~/WebIOPi-0.7.1$ sudo ./setup.sh

インストールが進むと、

      Do you want to access WebIOPi over Internet? [y/n]

と聞かれる。

今後遠隔操作を実現する際に、

y にして試してみたいが、今回は n を選択。

そうするとすぐにインストールが終わる。

この後、起動用のファイルを適切な位置に置く必要があるため、

まずは以下の通り wget で webiopi.service という

設定用ファイルを取得する。

      pi@raspberry:~/WebIOPi-0.7.1$ wget https://raw.githubusercontent.com/neuralassembly/raspi/master/webiopi.service

次に、取得したファイルを

/etc/systemd/system/

以下に移動させておく。

      pi@raspberry:~/WebIOPi-0.7.1$ mv webiopi.service /etc/systemd/system/

これでインストールは完了。

・WebIOPi の起動

インストールが完了すれば、次はいよいよ起動する。

以下のコマンドを実行することで、デバッグモードで起動出来る。

      pi@raspberry:~/WebIOPi-0.7.1$ sudo webiopi -d

その後、ブラウザを立ち上げ、URL 部分に

http://<IP address>:8000

を入力、実行する。

この際、以下の通りログインが要求される。

ログイン ID とパスワードは各々以下の通り。

ログイン ID : webiopi
パスワード : raspberry

無事ログイン出来れば、以下のような画面が現れる。

ここで、GPIO Header をクリックすると、

次のような画面になる。

この画面上で、IN を OUT にし、PIN をクリックすると、

該当 PIN に High が出力される。

このような形で、ブラウザからラズパイの GPIO を操作可能となる。

なお、ラジコンとして GPIO を操作するためには、

DC モーターを同時に操作する必要があるため、

この画面は使わない。

これに関しては、具体的な方法を後述する。

最後に、ラズベリーパイが起動すると同時に、

WebIOPi も自動的に起動するようにしておく。

具体的には、

      pi@raspberry:~$ sudo systemctl enable webiopi

を実行すればよい。

ちなみに、自動起動を解除したい場合は、

      pi@raspberry:~$ sudo systemctl disable webiopi

を実行すればよい。

これにより、WebIOPi が利用可能な状態になったはずである。



■操作用プログラムを作る

WebIOPi が起動できるようになれば、

お次は WebIOPi 経由で DC モーターを制御するための

python コードを作成する。

今回の場合、以下のようなコードを作成した。


	import webiopi
	import pigpio

	GPIO = webiopi.GPIO
	pi = pigpio.pi()

	# ラジコン戦車用パラメータ設定
	tank_left_f = 9
	tank_left_b = 11
	tank_right_f = 23
	tank_right_b = 22

	def setup():
	# ラジコン戦車用 GPIO ピン設定
	pi.set_mode(tank_right_f, pigpio.OUTPUT)  
	pi.set_mode(tank_right_b, pigpio.OUTPUT)  
	pi.set_mode(tank_left_f, pigpio.OUTPUT)  
	pi.set_mode(tank_left_b, pigpio.OUTPUT)  

	def loop():
	webiopi.sleep(0.5)

	# ラジコン戦車用マクロ関数
	@webiopi.macro
	def tfront():
	#前進
	pi.write(tank_right_f, 1)
	pi.write(tank_right_b, 0)
	pi.write(tank_left_f, 1)
	pi.write(tank_left_b, 0)
  
	@webiopi.macro
	def tback():
	#後退
	pi.write(tank_right_f, 0)
	pi.write(tank_right_b, 1)
	pi.write(tank_left_f, 0)
	pi.write(tank_left_b, 1)
  
	@webiopi.macro
	def tright():
	#右旋回
	pi.write(tank_right_f, 0)
	pi.write(tank_right_b, 1)
	pi.write(tank_left_f, 1)
	pi.write(tank_left_b, 0)
  
	@webiopi.macro
	def tleft():
	#左旋回
	pi.write(tank_right_f, 1)
	pi.write(tank_right_b, 0)
	pi.write(tank_left_f, 0)
	pi.write(tank_left_b, 1)
  
	@webiopi.macro
	def tstop():
	#停止
	pi.write(tank_right_f, 1)
	pi.write(tank_right_b, 1)
	pi.write(tank_left_f, 1)
	pi.write(tank_left_b, 1)
      

以下、先頭から順に解説していく。


	import webiopi
	import pigpio
      

GPIO を操作するための python ライブラリとして、

webiopi

pigpio

を使えるようにしている。

本来であれば、webiopi にある関数だけで

動かせるはず。

しかしながら、私の環境独自の問題なのか、

webiopi の関数を利用しても思った通りに

GPIO を操作することができなかった。

このため、代替策として、

pigpio

にある関数を利用して DC モーターの操作を実現する。


	GPIO = webiopi.GPIO
	pi = pigpio.pi()
      

この部分は、単に、

GPIO と書けば、webiopi.GPIO の略ですよ、

pi と書けば、pigpio.pi() の略ですよ、

ぐらいの認識でよいと思う。


	# ラジコン戦車用パラメータ設定
	tank_left_f = 9
	tank_left_b = 11
	tank_right_f = 23
	tank_right_b = 22
      

ここはパラメータ設定。

以下の処理において、GPIO ピンに対する

各種操作をしていくのだが、その際、

pin 番号を直接設定してしまうと、

・この pin 番号は何用の GPIO ピンだっけ?

となることが多々ある。

また、後々 pin を差し替えたりした場合、

コード中の該当 pin 番号をすべて書き換えねばならず、

バグの元にもなる。

よって、操作したい GPIO ピンの番号を

変数として宣言している、というのがこの部分。

変数名は好きに設定すればよく、

ここでは、該当する GPIO のピン番号を変数に格納している。

例えば、tank_left_f = 9 の部分は、

ラジコン戦車左車輪の前進に相当する DC モーター用信号を

制御するための GPIO ピン名を tank_left_f という

変数として宣言し、ピン番号である 9 という値を格納している

ということを意味している。

よって、もし当サイトとは異なる GPIO ピンを

利用している場合には、ここを自分が利用しているピン番号に

変更する必要があることにご注意頂きたい。

ちなみに、変数名の最後につけている、

f は forword で前進用、

b は back で後退用、

として宣言している。

次は、GPIO ピンの初期設定。


	def setup():
	# ラジコン戦車用 GPIO ピン設定
	pi.set_mode(tank_right_f, pigpio.OUTPUT)  
	pi.set_mode(tank_right_b, pigpio.OUTPUT)  
	pi.set_mode(tank_left_f, pigpio.OUTPUT)  
	pi.set_mode(tank_left_b, pigpio.OUTPUT)  
      

setup() 関数として、各ピンの設定を行う関数を宣言。

具体的には、左右車輪の前進、後退を制御するための

各ピンを、信号出力用ピンとして設定している。

次は何もしないときの処理。


	def loop():
	webiopi.sleep(0.5)
      

何も処理がないときは待つと言う処理をしているだけ。

で、いよいよ車輪の DC モーターを

制御するための関数部分。


	# ラジコン戦車用マクロ関数
	@webiopi.macro
	def tfront():
	#前進
	pi.write(tank_right_f, 1)
	pi.write(tank_right_b, 0)
	pi.write(tank_left_f, 1)
	pi.write(tank_left_b, 0)
      

ここでは、前進用の関数を定義している。

まず最初の、


	@webiopi.macro
      

で、WebIOPi を利用する際、ブラウザ(html)側から

呼び出せる関数であることを宣言する。

で、次の


	def tfront():
      

が関数名。

この名前で html 側から呼び出す。

その後は関数の処理内容。

ラジコン戦車を前進させるためには、

左右の車輪を同時に前転させる必要がある。

よって、pi.write() 関数で値を書き込むのだが、

tank_right_f, tank_left_f には 1 を、

tank_right_b, tank_left_b には 0 を、

各々書き込んでいる。


	@webiopi.macro
	def tback():
	#後退
	pi.write(tank_right_f, 0)
	pi.write(tank_right_b, 1)
	pi.write(tank_left_f, 0)
	pi.write(tank_left_b, 1)
      

後退の場合は前進と逆で、b 側を 1 に、

f 側を 0 に設定すればよい。


	@webiopi.macro
	def tright():
	#右旋回
	pi.write(tank_right_f, 0)
	pi.write(tank_right_b, 1)
	pi.write(tank_left_f, 1)
	pi.write(tank_left_b, 0)
      

右折させるためには、

・右側車輪を後退方向に
・左側車輪を前進方向に

各々回転させればよい。

よってそのような設定をしている。


	@webiopi.macro
	def tleft():
	#左旋回
	pi.write(tank_right_f, 1)
	pi.write(tank_right_b, 0)
	pi.write(tank_left_f, 0)
	pi.write(tank_left_b, 1)
      

左折は右折の逆。


	@webiopi.macro
	def tstop():
	#停止
	pi.write(tank_right_f, 1)
	pi.write(tank_right_b, 1)
	pi.write(tank_left_f, 1)
	pi.write(tank_left_b, 1)
      

停止させるには、全部に 1 を出力させてやればよい。

これでひとまず最低限の操作ができる

python コードが作成できたことになる。

この内容を、例えば

・Remote_Controller.py

とでもしてファイルに保存しておく。

なお、python はコードの各行におけるインデントとして、

Tab かスペースかのいずれか一方だけ

にする必要がある。

これが混じってしまうと、エラーとなって

WebIOPi も起動しなくなってしまうので注意が必要。



■操作用画面を作る

DC モーターを制御するためのプログラムが完成すれば、

次はブラウザから操作できるよう、

操作用画面を作成していく。

ここで作成する画面はこういったもの。

もちろん、自分の好きなデザインにして頂ければ結構。

ただ、私の場合、自分がイメージしていたのと

かなり近いものを、すでに作られていた方が居られたため、

かなりの部分で参考にさせていただいた。

1ban.yoka.to
http://1ban.yoka.to/?p=48

こちらでご提示頂いている html を参考に、

まずは以下のような html ソースを作成し、

index.html として保存する。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>
<title>Raspberry Pi ラジコン戦車コントローラー</title>
<script type=”text/javascript” src=”/webiopi.js”></script>
<script type=”text/javascript”>
webiopi().ready(function(){
var callBack = function(macro, args, response){
}
<!– 戦車操作用ボタン –>
var BtnTS = webiopi().createButton(“tank-s”, “停止”, function(){
webiopi().callMacro(“tstop”,[], callBack);
});
$(“#tank-s”).append(BtnTS);

var BtnTR = webiopi().createButton(“tank-r”, “右折”, function(){
webiopi().callMacro(“tright”,[], callBack);
});
$(“#tank-r”).append(BtnTR);

var BtnTL = webiopi().createButton(“tank-l”, “左折”, function(){
webiopi().callMacro(“tleft”,[], callBack);
});
$(“#tank-l”).append(BtnTL);

var BtnTF = webiopi().createButton(“tank-f”, “前進”, function(){
webiopi().callMacro(“tfront”,[], callBack);
});
$(“#tank-f”).append(BtnTF);

var BtnTB = webiopi().createButton(“tank-b”, “後退”, function(){
webiopi().callMacro(“tback”,[],callBack);
});
$(“#tank-b”).append(BtnTB);
webiopi().refreshGPIO(true);
});
</script>
<style type=”text/css”>
button {
display: block;
margin: 5px 5px 5px 5px;
width: 150px;
height: 100px;
font-size: 24pt;
font-weight: bold;
color: white;
}
</style>
</head>
<body>
<div align=”center”>
<table>
<tr>
<td>
<table border=0 cellspacing=”10″ cellpadding=”0″>
<tbody>
<tr>
<td>&nbsp;</td>
<td><div id=”tank-f”></div></td>
<td>&nbsp;</td>
</tr>
<tr>
<td><div id=”tank-l”></div></td>
<td><div id=”tank-s”></div></td>
<td><div id=”tank-r”></div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><div id=”tank-b”></div></td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>

基本的にはそのまま張り付ければ動くと思う。



■動作を確認する

ここまで出来たら、後はファイルを設定して動作を確認するだけ。

まずは先ほど作った python コードと index.html を

格納するためのフォルダを作る。

正直何でもよいが、ここでは pi ユーザのホームディレクトリ以下に

iot というディレクトリを作り、さらにその下に

python/, html/ というディレクトリを作ることにする。

      pi@raspberry:~$ mkdir iot
      pi@raspberry:~$ mkdir iot/python
      pi@raspberry:~$ mkdir iot/html

続いて、先ほど作成した python コードである

Remote_Controller.py と、index.html を

各々作成したディレクトリに格納する。

      pi@raspberry:~$ mv Remote_Controller.py ./iot/python/
      pi@raspberry:~$ mv index.html ./iot/html/

最後に、WebIOPi がこれらのファイルを読み込めるよう、

WebIOPi の諸々設定ファイルである、

/etc/webiopi/config

に、必要なパスを書き込んでおく。

まず、/etc/webiopi/config をエディタ等で開く。

最初に、プログラムの位置を教えてあげるため、

25 行目の # を外し、以下のような形で path を設定する。

具体的には、

      [SCRIPTS]
      # Load custom scripts syntax :
      # name = sourcefile
      #   each sourcefile may have setup, loop and destroy functions and macros
      #myscript = /home/pi/webiopi/examples/scripts/macros/script.py

における myscript = の部分を

[SCRIPTS]
      # Load custom scripts syntax :
      # name = sourcefile
      #   each sourcefile may have setup, loop and destroy functions and macros
      myscript = /root/iot/python/Remote_Controller.py

と、# を外すとともに、さっき作ったプログラムへのパスに変える。

続いて、42 行目の

      # Use doc-root to change default HTML and resource files location
      #doc-root = /home/pi/webiopi/examples/scripts/macros

      # Use doc-root to change default HTML and resource files location
      doc-root = /home/pi/iot/html

と、こちらも # を外すとともに、今度は html ディレクトリへのパスに変える。

これで、設定自体は完了。

よって起動して動作を確認したいのだが、

この際に注意して欲しいのは、python コードで

pigpio を利用していること。

これを利用するためには、

pigpiod

が起動している必要がある。

よって、まずは以下の通り pigpiod を起動させる。

      pi@raspberry:~$ sudo pigpiod

なお、pigpiod は raspberry pi を起動させる度に、

毎回起動させないといけない。

これはラズパイ戦車として動かす上で、

かなり致命的な障壁になってしまうので、

root 権限で /etc/rc.local を編集し、

最終行の exit0 の前に、

pigpiod

と一行記載しておく必要がある。

その後、WebIOPi を、

先ほど変更した設定ファイルを読み込む形

で起動する。

      pi@raspberry:~$ sudo webiopi -d -c /etc/webiopi/config

-d はデバッグモードでの起動を、

-c はその後に続くファイルを設定ファイルとして読み込む、という指定。

この際、先ほど起動していた WebIOPi が起動したままだと、

      pi@raspberry:~$ sudo webiopi -d -c /etc/webiopi/config
      OSError: [Errno 98] Address already in use

というエラーがでるため、

      pi@raspberry:~$ sudo /etc/init.d/webiopi stop

等で一旦 WebIOPi を停止した上で、再度起動すればよい。

この辺の操作手順がややこしければ、

・設定ファイルの記載を上述の通り終える
・WebIOPi の自動起動設定をしておく
・/etc/rc.local に pigpiod を記載しておく

という作業をやった上で、reboot するのが早いと思う。

で、reboot 後に

http://<IP address>:8000

にアクセスし、

ID : webiopi
PW : raspberry

としてログインした結果、最初に示した画面が出てくれば、

まずは WebIOPi の自動起動や python コードの

構文エラーは出ていないということになる。
*python にエラーがあると WebIOPi は起動に失敗するので。

その後、

【モバイルバッテリーの電源を入れた後で】

画面上のボタンを押してみて、

意図どおりにモーターが動けば OK。

この時、モーターの回転方向までは分かりにくいが、

これはギアボックスに組み込んで車輪をつければわかるので、

この段階では、

・ボタンを押せばモーターが動く、止まる

という動作をしていることが確認できれば OK だろう。



■まとめ

前回の、

・Raspberry Pi から DC モーターを制御する

に加え、今回は WebIOPi を利用することで、

・ブラウザから DC モーターを制御する

ということが出来るようになる。

ここまで出来れば、ラジコン戦車は完成したに等しい。

ということで、ひとまずここまでの作業をまとめておく。

ここまでの Point!・WebIOPi をインストールしよう!
・操作用の python コードと操作用画面の html を作成しよう!
・WebIOPi の設定ファイルに、作ったコードと html の在り処を指定しよう!
・pigpiod の自動起動設定も忘れずに!
・全部できたら、reboot して動作を確認しよう!

なお、今回はブラウザから操作するために、

・WebIOPi

という既存のフレームワークを利用した。

しかしながら、ブラウザから操作するだけであれば、

・ラジコン戦車本体上で Web サーバーを立ち上げる
・php を動かせるようにしておく
・exec() 等でラジコン戦車本体のラズパイを操作する

という形にすることで、WebIOPi を使わずとも、

ブラウザから DC モーターを制御出来ると思われる。

この方法に関しては、今後余裕があればチャレンジしてみたい。

さて、次回以降はいよいよ車体を作っていき、

ラジコン戦車の完成形に近づけていきたいと思う。




Copyright (c) 2017 Webmaster of this site All Rights Reserved.
カテゴリー: ラズパイで電子工作 | タグ: , | コメントする

Raspberry Pi でブラウザから操作できるラジコン戦車を作る! – DC モーターを動かす –


■Raspberry Pi で DC モーターを動かす

Raspberry Pi で

・ブラウザから操作できるラジコン戦車

を作るシリーズ第四回目。

今回は、

・Raspberry Pi で DC モーターを制御できるようにする

ということにチャレンジする。

手順は以下のとおり。

今回はまず、ラズパイから直接 DC モーターを制御する所まで。

ブラウザから DC モーターを制御する方法については、

次回記載していきたいと思う。



■ハンダ付けをする

ラズパイで DC モーターを動かすために、

まずやるべきはハンダ付け。

正直に言えば、別に必須の作業ではなく、

やらなくても動かせるのは動かせる。

が、これまで揃えてきた DC モーターと

ジャンパワイヤの組み合わせでは、

これら二つを固定的に接続する仕組みがないため、

これらが接触していれば動く、外れると止まる

という挙動になり、常時接触させておくのが結構大変。

よって、素直にハンダ付けした方がよい。

今回使ったのはこれ。

電源が USB からとれる上、30 秒も熱すれば

ハンダ付け可能となる。

また、使うはんだの量は、このセットに付随しているはんだ
*写真のバネのようなもの

の量で十分。

よってこれを使ってハンダ付けしていく。

ハンダ付けするのは、

の二ヶ所。

以下各々について記載していく。

・DC モーターとジャンパワイヤ

ハンダ付けがほぼ必須なのが、

この DC モーターとジャンパワイヤ間。

DC モーター自体は、この後にも使う、

ギアボックスに付属しているので、これを使う。

実際のギアボックスの中身はこんな感じ。

ギアボックス自体はまだ組み立てない方がよいが、

モーターの回転をギアに伝えるための紫のギアだけは、

DC モーターの軸につけておくとよいだろう。

で、後は単に DC モータの金属部分と、

オス – オスのジャンパワイヤ 4 本を、

各々ハンダ付けすればよい。

作業時間としては 5 分もかからないだろう。

実際にハンダ付けした結果はこんな感じ。

この際、はんだはあまりケチらずしっかりつけておく方がよい。

実際に配線する際、結構色々動かすので、

ハンダ付けしてても外れてしまう可能性があるから。

多少多めにつけた所で、はんだが足りなくなることもないので、

きっちりくっつけておくことをお勧めする。

・micro USB DIP 化キット

続いては、micro USB DIP 化キットのハンダ付け。

こちらはモバイルバッテリーからの電源を

DC モーターに供給できるようにするもの。

購入したものを開封した実物はこちら。

で、まずは基板部分の長いラインをパキッと折る。

その後、一つだけまたパキッと折る。

ピンの方は、二本分を折る。

私の場合、そこから一本一本に分離できなかったので、

ハサミの根元を使って切った。

その上で、ピンを基板に差し込む。

この際、差し込む位置は基板上の

・VCC
・GND

とかかれた部分。

ピンが基板からちょっとでるか出ないか、位差し込んで、

その頭の部分をハンダ付けしておけばよい。

実際はこんな感じ。



■モータードライバを配線する

ハンダ付けを終え、準備が整ったら、

次はいよいよモータードライバを配線していく。

ラズベリーパイから DC モーターを動かすためには、

・モータードライバ

が必要となる。

というのも、

・ラズパイの GPIO に直接 DC モーターを接続する

ということをすると、ラズパイ側の GPIO に許容された

出力電流値を越えてしまい、壊れてしまう恐れがあるからだ。

ということで、

・Raspberry Pi 3 Model B
・モータードライバ
・DC モーター
・ジャンパワイヤ
・抵抗
・micro USB 電源 DIP 化キット
・モバイルバッテリー

を準備する。

・micro USB DIP 化キットの接続

最初に、ブレッドボードに DIP 化キットを差し込み、

DIP 化キットにモバイルバッテリーを繋ぐ。

絵としてはこんな感じ。

ここで、ブレッドボードの中身の配線は、

こんな感じになっていることに注意しよう。

 

今回利用しているブレッドボードの場合、

長方形の長辺側を横とした場合、

短辺方向である縦が同一ラインとなっている。

なので、先ほどの VCC と GND が

同じラインに接続される、

すなわち、写真の差し込みを 90 度回転させたような形で

差し込んでしまうと、電源と GND がショートしてしまって

壊れてしまうので、この向きにはちゃんと注意した方がよい。

・モータードライバと抵抗の配線(一個目)

続いて、モータードライバと抵抗を接続する。

利用するモータードライバはこれ。

左から 1 番ピン、2 番ピン、…、10 番ピンとなっている。

それぞれのピンの意味は以下のとおり。

ピン番号 用途 説明
1 GND GND
2 OUT1 DC モーターへの信号出力用
3 N/A 不使用のピン
4 Vref 参照用電圧入力
5 IN1 DC モーター制御用信号の入力
6 IN2 DC モーター制御用信号の入力
7 Vcc モータドライバ自体の駆動用電源
8 Vs DC モータを駆動するための電源
9 N/A 不使用のピン
10 OUT2 DC モータへの信号出力

以下、これを踏まえて配線時に各々開設していくが、

ここではとりあえず差し込むぐらいなので、

別に何も難しいことはない。

ひとまずやることとして、

1. 電源と GND ラインを作る
2. モータードライバを差し込む
3. モータードライバの 4 番ピンと電源ラインを抵抗で結ぶ

を実施すればいい。

以下、各々図解していく。

まずは電源と GND ラインを作る。

先ほど差し込んだ micro USB 電源 DIP 化キットの

VCC が差し込まれている所を電源ライン、

GND が差し込まれている所を GND ラインに各々する。

やること自体は簡単で、ブレッドボードの配線を考え、

下半分の配線ラインと上半分の配線ラインを繋ぐだけ。

実際にはこんな感じ。

次はモータードライバ。

後々の配線を考え、この辺に差し込む。

次は抵抗。

モータードライバの 4 番ピンは、Vref となっており、

いわゆる参照用電圧を入力する所となっている。

ここに raspberry pi から PWM 信号を入力すると、

参照電圧が変更となるため、DC モーターの速度調整が出来る模様。

が、今回はひとまず動かすことを最優先とするため、

抵抗を挟んでショートしないようにしつつ、

電源ラインと接続させる。

とりあえず物を差し込むのはこれぐらいで OK。

・DC モーターを動かすための配線

さて、いよいよ DC モーターを動かすために、

Raspberry Pi を含めて配線していく。

まずは GND 系の配線から。

先ほど作った micro USB 電源からの GND ラインを

モータードライバの 1 番ピンに接続する。

次に、同じく micro USB 電源からの GND ラインを

Raspberry Pi の GPIO における GND ピンに接続する。

Raspberry Pi 3 Model B のピン配置は、

公式サイトの

GPIO: Models A+, B+, Raspberry Pi 2 B and Raspberry Pi 3 B
https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/README.md

に記載がある。

このうちどこの GND に接続してもよいが、

今回はとりあえず上述のページ下部に存在する

Physical numbering

で言う所の、物理番号 39 番ピン、に接続した。

続いては電源ラインの構築。

まずは micro USB 電源 DIP 化キットの VCC ラインと、

モータードライバの 8 番ピンを繋ぐ。

これにより、モバイルバッテリーからの電力を

モータードライバ経由で DC モーターに送ることになる。

こんな感じ。

次は、モータードライバ自体を動かすための電源の取得。

これは、Raspberry Pi の 5V 電源ピンから取る。

ということで、Raspberry Pi の 5V 電源ピンと、

モータードライバの 7 番ピンを接続する。

今回は Raspberry Pi 側のピンとして、

物理番号で 4 番ピンを利用した。

これで、電源ラインと GND ラインが構築できたので、

続いて DC モーターと接続していく。

DC モーターには、モータードライバの

OUT ピン(2 番と 10 番)を各々接続する。

まぁどっちがどっちでもよい。

そしていよいよ、Raspberry Pi からの制御用信号を配線する。

ここでは、以下のとおり接続する。

モータードライバ側 ラズパイ(論理ピン番号) ラズパイ(物理ピン番号)
5 9 21
6 11 23

ここまで接続できれば、あとは実際に動かしてみるのみである。

ドキドキの瞬間だ。

■Raspberry Pi から DC モーターを制御する

一個目の配線が終了すれば、動作確認を行おう。

まずはラズベリーパイのコマンドプロンプトから、

      pi@raspberry:~$ echo 9 > /sys/class/gpio/export
      pi@raspberry:~$ echo 11 > /sys/class/gpio/export

を実行する。

もしここで、

      bash: echo: 書き込みエラー: デバイスもしくはリソースがビジー状態です

のようなエラーが出た場合、このエラーが出なくなるまで、

ラズパイ側の GIPO ピンを変更すればよい。

続いて、

      pi@raspberry:~$ echo out > /sys/class/gpio/gpio9/direction
      pi@raspberry:~$ echo out > /sys/class/gpio/gpio11/direction

を実施して、ラズパイの GPIO ピン(論理ピン番号 9 番と 11 番)を、

出力用のピンとして設定する。

その後、

・モバイルバッテリーの電源を入れる

という作業をやった後に、

      pi@raspberry:~$ echo 1 > /sys/class/gpio/gpio9/value

を実行すると、GPIO の論理ピン番号 9 番に High 信号が送られるため、

DC モーターが動いてくれるはずである。

ちなみに stop は

      pi@raspberry:~$ echo 0 > /sys/class/gpio/gpio9/value

で止まる。

これにて、raspberry pi から DC モーターを制御できたことになる。

もしここで動かない場合は、以下の点を確認してみて欲しい。

1. モバイルバッテリーはちゃんと充電されているか?
2. モバイルバッテリーの電源は上述のタイミングで入れたか?
3. モバイルバッテリーの電源投入後すぐに動かしているか?
4. 配線は間違えてないか?
5. 配線の外れ、ブレッドボードへの不十分な刺さりなどがないか?
6. 動作させるコマンドを間違えていないか?
7. ラズパイの GPIO ピン番号と接続先はあっているか?

結構ありうる話なので、しっかり確認していただきたい。

基本これで動くはずなので、何度確認しても誤りがない場合、

A. DC モーターの故障
B. モータードライバーの故障
C. モバイルバッテリーの故障
D. ラズパイ自体の故障

などが考えられる。

A は電池に直結して動くかどうかで確認できる。

B は二つあるはずなので、もう一つのモータードライバーと

入れ替えてみて動くかどうかをみればよい。

二つとも壊れているという可能性は著しく低いので、

入れ替えても動かないなら、多分これが問題ではない。

C はスマホなどに充電してみれば分かる。

これも多分ないと思う。

D の確認方法は難しいが、

サーボモーターを動かす!

など、別の方法を試してみてもダメならこれだろう。

ただ、大体動かない要因は、

・配線が間違っているか、外れている
・モバイルバッテリーからの電源が切れている

になるので、何度も確認して頂きたい。

・モータードライバと抵抗の配線(二個目)

一個目が動いてしまえば、後は簡単。

まずはモータードライバと抵抗を

一個目と同じように配置する。

続いて GND ラインの接続。

micro USB 電源 DIP 化キットの

GND ラインからとってもよいが、

今回は一個目のモータードライバに入力した GND ラインを

下側に配置した二個目のモータードライバにも入力する。

で、同様に、一個目のモータードライバに入力した

モータードライバの駆動電源である 7 番ピンと、

DC モーター駆動用電源の 8 番ピンを、

二個目のモータードライバに橋渡ししてやる。

続いては、ラズパイとの接続。

今度は GPIP の論理 22 番ピンをモータドライバの 5 番ピンに、

23 番ピンをモータドライバの 6 番ピンに接続。

モータードライバ側 ラズパイ(論理ピン番号) ラズパイ(物理ピン番号)
5 22 15
6 23 16

 

最後に DC モーターからの配線を

モータドライバの 2 番ピンと 10 番ピンに入れる。

後は一個目と同様に、以下のとおり動作確認をすればよい。

      pi@raspberry:~$ echo 22 > /sys/class/gpio/export
      pi@raspberry:~$ echo 23 > /sys/class/gpio/export
      pi@raspberry:~$ echo out > /sys/class/gpio/gpio22/direction
      pi@raspberry:~$ echo out > /sys/class/gpio/gpio23/direction
      pi@raspberry:~$ echo 1 > /sys/class/gpio/gpio22/value
      pi@raspberry:~$ echo 0 > /sys/class/gpio/gpio22/value
      pi@raspberry:~$ echo 1 > /sys/class/gpio/gpio23/value
      pi@raspberry:~$ echo 0 > /sys/class/gpio/gpio23/value

こちらも、一個目が動いているのに二個目が動かない場合、

まず疑われるのは配線間違えか配線が外れているなので、

この辺を十分再確認した方がよいと思われる。

ひとまず、これにて二個の DC モーターを

Raspberry Pi から操作出来たことになる。

なお、当サイトで紹介した配線に関しては、

RaspberryPi3で作るラジコン
https://qiita.com/imcuddles/items/c05cbea95db1f7469fed

を参考にさせていただいている。

もし分かりにくい等があれば、こちらには

配線図等も記載されているので、

参考にされればよいかと思う。



■まとめ

ひとまずこれで、

・Raspberry Pi から DC モーターを制御する

ということが出きるはずである。

これが出来れば、ラジコン戦車に限らず、

DC モーターを使ったいろんなことが出きると思う。

また、実際にものを動かせる、という喜びも感じられる。

是非ともこれで楽しんでいただきたい。

ということで、ひとまずここまでの作業をまとめておく。

ここまでの Point!・DC モーターとジャンパワイヤはハンダ付けしておこう!
・micro USB 電源 DIP 化キットもハンダ付けしておく方がよい!
・配線はまずは一個ずつやった方がよい!
・ラズパイからの動作確認は、まず /sys/class/gpio/ の操作で!
・動かない時は何より配線を再確認!後はモバイルバッテリーの電源を確認しよう!

今回は DC モーターを接続した raspberry pi 本体を

直接操作することで、DC モーターを制御している。

が、これだとラジコンとは言えない。

ということで、次回は WebIOPi を使い、

ブラウザから DC モーターを制御する

ということに挑戦していく。




Copyright (c) 2017 Webmaster of this site All Rights Reserved.
カテゴリー: ラズパイで電子工作 | タグ: , | コメントする

これからどうなる!?情報処理安全確保支援士制度


■これからどうなる!?情報処理安全確保支援士制度

2018 年 4 月 1 日、

情報処理安全確保支援士の登録者数に関する

プレスリリースが IPA からあった。

プレス発表 4月1日付け
「情報処理安全確保支援士(登録セキスペ)」
は2,206名、登録人数は9,181名に
https://www.ipa.go.jp/about/press/20180402_2.html

今回は第三回目の登録。

ということで、これまでの応募者数、登録者数等を

振り返って見ようと思う。

  1. 応募者数等の推移
  2. 合格者と登録者数の推移
  3. まとめ



・応募者数等の推移

初めに、制度が開始(2017 年春)されてからの、

・応募者数
・受験者数
・合格者数
・支援士試験合格者登録数
・総登録者数

をグラフ化してみた。

全部を並べたのでレンジが合わず、少し分かりにくいが、

応募者数
2017 年春:25,130 名
2017 年秋:23,425 名
2018 年春:23,180 名

受験者数
2017 年春:17,266 名
2017 年秋:16,210 名
2018 年春:-

合格者数
2017 年春:2,822 名
2017 年秋:2,767 名
2018 年春:-

支援士試験合格者登録数
2017 年春:844 名 = 第二回登録 674 名 + 第三回登録 170 名
2017 年秋:618 名 = 第三回登録 618 名
2018 年春:-

総登録者数
2017 年春:4,172 名
2017 年秋:2,822 名
2018 年春:2,206 名

となっている。

下がり方に差はあれど、

すべての数値が右肩下がりとなっている。



・合格者と登録者数の推移

これだとちょっと分かりにくいので、

・合格者数
・支援士試験合格者登録数
・総登録者数

を切り出してグラフ化してみたのがこちら。

初回の登録者数は

・情報セキュリティスペシャリスト

等の経過措置対象者が登録しているため、

初回がもっとも多くなっている。

合格者数と登録者数を見ると、

2017 年春期試験合格者の登録割合はおよそ 30%、

2017 年秋期試験合格者の登録割合はおよそ 22%、

となっている。

2017 年春期試験合格者は、第二回登録から

登録可能となっており、第三回登録での登録者数は

170 名増

となっている。

このため、第二回登録時での登録者の割合は、

(844 – 170) / 2,822 = 約 24%

となっている。

いずれにせよ、減ってるわけだ。

経過措置対象者の増減は見ていないので何とも言えないが、

ここで見た数字はいずれも減少しているというのが現実。

なかなか悲しい結果となっていることが分かった。

なお、第一回登録から第三回登録までの

総登録者数は、合算すると 9,200 名のはず。

しかしながら、発表によれば、9,181 名となっている。

19 名の方が、何らかの理由で、

・登録を取り消した、または取り消された

という状態になっている。

この数字自体は、正直相当少ないと思った。

もっと止める人がいると思っていたが、

一旦登録すれば、少なくとも今の所は、

ほぼ登録を維持しようとされているのであろう。

講習受講費の高さ(3 年で 14 万円)から、

登録はしたものの講習を受講せずに

登録を取り消される人が続出するかと思っていたが、

少なくとも一回ぐらいは講習を受けておこう、と

思う人が多かったということかと思われる。



・まとめ

情報処理安全確保支援士制度となってから、

今回で第三回目の登録となった。

登録者数は残念ながら減少の一途をたどっている。

支援士試験合格者の登録割合も落ちている。

なぜか?

もう何度も書いてきたからあまり書かないが、

費用対効果が悪すぎるのである。

今後どうなっていくか?

このままほとんど何もしないのであれば、

登録者数の緩やかな減少が続いていくのだと思われる。

ただ、IPA はそれでもウハウハだと思われる。

なんてったって、登録の取り消しが行われない限り、

・登録者の累計は年二回増える

ので、講習受講者は、基本年々増えていくことが想定される。

そうすると、

・登録料 2 万円程度 x 登録者数

に加え、毎年大体、

・47,000 円(3 年で 14 万円) x 登録者数

というお金が入ってくることになる。

現時点で 9,200 名弱であるから、

4 億 3 千万ぐらい入ってくる計算だ。

もちろん講習資料作成や会場準備等々、

原価 0 ではないものの、e-learning など

IPA が通常業務としてやっていることから

資料、問題を作ればよい講座もあるらしいので、

抑えようと思えば費用は抑えられるのである。

このままの状態じゃ、お先はまだまだ真っ暗かなぁ。




Copyright (c) 2017 Webmaster of this site All Rights Reserved.
カテゴリー: ブログ, 情報処理安全確保支援士 | タグ: , | コメントする

サイト開設からの軌跡(十ヶ月経過)


■サイト開設からの軌跡(十ヶ月経過)

3 月終了に伴い、十ヶ月が経過した当サイト。

十ヶ月もやっていると、

いろいろなことが起こるモンだと

実感した月でもあった。

ということで、誰もみていなくても、

記録は残しておこうと思う。

  1. PV 数の推移
  2. 読まれている内容
  3. 今後の予定
  4. 所感

PV 数の推移

この十ヶ月における Page View 数、訪問者数、および記事数の推移は以下の通り。

一ヶ月目(2017 年 06 月)
PV 数 0023、一日平均 PV 数 001、訪問者数 017、記事数 約 15 記事
二ヶ月目(2017 年 07 月)
PV 数 0124、一日平均 PV 数 004、訪問者数 046、記事数 約 20 記事
三ヶ月目(2017 年 08 月)
PV 数 0228、一日平均 PV 数 007、訪問者数 074、記事数 約 20 記事
四ヶ月目(2017 年 09 月)
PV 数 0533、一日平均 PV 数 017、訪問者数 250、記事数 約 08 記事
五ヶ月目(2017 年 10 月)
PV 数 1280、一日平均 PV 数 041、訪問者数 599、記事数 約 08 記事
六ヶ月目(2017 年 11 月)
PV 数 1690、一日平均 PV 数 056、訪問者数 854、記事数 約 16 記事
七ヶ月目(2017 年 12 月)
PV 数 2546、一日平均 PV 数 082、訪問者数 1355、記事数 約 22 記事
八ヶ月目(2018 年 01 月)
PV 数 4107、一日平均 PV 数 132、訪問者数 2015、記事数 約 17 記事
九ヶ月目(2018 年 02 月)
PV 数 4673、一日平均 PV 数 166、訪問者数 2322、記事数 約 14 記事
十ヶ月目(2018 年 03 月)
PV 数 4928、一日平均 PV 数 159、訪問者数 2577、記事数 約 14 記事

記事更新頻度は依然として二日に一回程度。

3 月はようやく、ラジコン戦車化を実現。

いやぁ、長かった。

このサイトを開設したときから、

最低でも、

Raspberry Pi でラジコン戦車

までは作りたい!

と思っていたので、なんとか達成できてよかった。

とはいえ、これまでの作業をまとめた、

Raspberry Pi でブラウザから操作できるラジコン戦車を作る!

に関しては、まだ記事作成を着手したばかり。

さっさと作っていかないと。

しかし、今月は結構ショックだった。

多少とはいえ、一日の平均 PV 数が下がったのだ。

これまで右肩上がりで上がっており、

今月は最低でも 200 越え!

とか期待してたのに、超がっくり。

どうも、google の検索アルゴリズム変動により、

特に

情報処理安全確保支援士関係

の順位が大きく下がったっぽい。

3 月中旬までは、毎日とは言わないが、

結構頻繁に 1 日 200 PV を越えていた。

300 PV も伺おうか、という日もあったのに、

下旬に近くなると、100 PV を割る日も出てくる始末。

100 PV 未満なんていつぶり?という位だったので、

結構ショックは大きい。

今月は何とか回復してほしいものである。



読まれている内容

先月の PV 数 Top 3 は、

専用カメラモジュールを使う

ライブカメラ(監視カメラ)を作る!

WebIOPi で遠隔操作(インストール編)

二位と三位が入れ替わったが、大きな変動はない。

が、一位の PV 数が、月間で 200 PV 増。

いつ書いた記事だよ、って感じだが、ありがたい話。

そして、google の検索順位変動の影響をもろに受けた、

情報処理安全確保支援士制度、大丈夫!?

は 5 位から 10 位にまでに陥落。

情報処理安全確保支援士への道

も 4 位から 8 位に落ちていた。

この辺を補いきれなかったのが PV 数減の

主要因なんだろうなぁ。

今後の予定

毎回代わり映えしないが、進捗確認の意味も込めて。

■Blog
・セキュリティ+ラズパイ関連ニュース(継続)

■セキュリティ
・OWASP ZAP の使い方(未)

まだ着手できてない。

いつまでかかっているのか、という話だが、

ラジコン戦車化に目処はついたので、

まとめ記事を記載し次第、セキュリティに戻ろうと思う。

・Metasploit の使い方(未)

Windows PC を買って、やられサーバーである

Metasploitable3

を VM 上で立ち上げて、それに対して使ってみる、

というのを考えているが、結局今月も PC すら買ってない。

うー。早く買わないと。

・CTF 関連(未)
全然だめだなー。

・Bug Bounty Program(未)
今のところ、夢のまた夢です。

■linux
・HTTPS/FTPS 化(未)
・SSH 公開鍵設定(未)

この辺はやられ環境を再構築する際に、かな。

■電子工作
・UART 設定(未)
もう、正直忘れたが・・・。

何とか思い出して書こう。

・ラジコン戦車化(ほぼ完)
なんとか完成までさせられて、

現在まとめ記事作成中。

結局、肝となる DC モーター制御の所すら

まだ書けていないが、早めに終わらそう。

・OpenCV の利用(新)
折角、監視カメラ付きラジコン戦車までできたから、

OpenCV で顔認識にも取り組んでみようか、と思い始めている。

まだ妄想レベル。

■情報処理安全確保支援士
・記事再整理(継続)
サイト再整理と合わせてリライト予定。

■その他
・サイト再整理(未)
ラジコン戦車化のまとめ記事が完成したら、

徐々に取り組んでいこうと思う。



所感

3 月はかなり凹んだ。

2 月も月末の減り具合に凹んだが、

3 月に入って回復から増加に転じていたため、

一旦安心していたのに、更なる減少だ。

だめだ、もう終わりか、と興味を失いつつあった。

とはいえ、諦めずにもう少し様子を見ようと思う。

何より、まだ当サイトに記載したいことを

全部記載したとは言い難い。

見られていようがいまいが、

やりきってから終焉を迎える様にしたい。
*終焉を迎えないに越したことはないのだが。

とりあえずラジコン戦車が完成したのは大きい。

そんな所までできるのか?と思っていたのが、

実際に出来たというだけでも感動。

まとめ記事の作成にも入れたし、まずはこれを完成させよう。

また、その後はセキュリティ関連を拡張及び再整備しながら、

OpenCV などにもチャレンジしたいと思い出している。

そうこうしているうちに、

次に作るもの

をまた妄想していければと思っている。




Copyright (c) 2017 Webmaster of this site All Rights Reserved.
カテゴリー: ブログ | タグ: | コメントする

Raspberry Pi でブラウザから操作できるラジコン戦車を作る! – Raspberry Pi の設定 –


■Raspberry Pi の設定

Raspberry Pi で

・ブラウザから操作できるラジコン戦車

を作るシリーズ第三回目。

今回は、ラジコン戦車として動かすために必要な、

Raspberry Pi の初期設定

について記載していこうと思う。

ひとまずやることは以下のとおり。

なお、これらが終わった後も、

・専用カメラモジュールの利用可能化
・WebIOPi による操作可能化

などなど、各種設定はまだまだ必要になる。

が、これらに関しては各機能を実現する際に

記載しておこうと思う。



■OS のインストール

必要なものを揃えたら、

まずは Raspberry Pi 自体を動かせる状態にする。

具体的には、OS のインストールを行えばよい。

これに関しては、当サイト内の

OS のインストール

をみて頂ければよいと思う。

なおこの際、注意していただきたい点がある。

今回のラジコン戦車化では、

ブラウザから操作するに当たって、

ラズパイ自体を WiFi アクセスポイントにする。

この方法についても、当サイト内の

WiFi アクセスポイント化

に記載しているが、これは、

2016-11-25-raspbian-jessie

を含むそれ以前の Raspbian Jessie での実現方法である。

Jessie の前バージョンである、Wheezy や、

2018 年 3 月時点での最新版である Stretch では、

設定方法が異なる。

そして、Stretch で WiFi アクセスポイント化する方法は

あるにはあるようだが、私は現在動作確認等できていない。

よって、当サイトをみながらラジコン戦車化する場合には、

ラズパイにインストールする OS として、

Raspbian Jessie

を選択する必要がある。

ここで、上述した

OS のインストール

では、

ラズベリーパイの OS を公式サイトからダウンロードする

という手段をとっているが、この方法では、

現時点での最新版である Stretch しか取得できない。

よって、Jessie を取得するには、

https://downloads.raspberrypi.org/raspbian/images/

から取得する必要がある。

当サイトでは、

https://downloads.raspberrypi.org/raspbian/images/raspbian-2016-11-29/

に置いてある

2016-11-25-raspbian-jessie.zip

を利用した。

これ以降のバージョンでは

どこまでなら WiFi の設定が同じでいけるか

を確認できていないため、その点はご容赦頂きたい。

Raspbian Jessie の zip ファイルさえ取得できれば、

後は

OS のインストール

における、

■microSD カードへの格納

以降の記述にのっとって、OS をインストールすればよい。



■初期設定

OS のインストールが終了すれば、

OS インストール直後の初期設定

に記載した内容にそって、初期設定を行っておく。

なお、SSH の有効化に関しては、

OS のインストールで記載した OS を入れている場合、

最初から有効になっているので、特に必要ない。

また、新規 user の追加についても、今回は行わず、

初期アカウントである pi ユーザーで実行していく。

なお、初期設定のみだと、OS のメニュー表記など、

言語設定は英語のままである。

日本語化したい場合は、

日本語環境の構築

をみていただければと思う。

■WiFi アクセスポイント化

ブラウザからラジコン戦車化を操作するには、

・ラズパイと操作用のパソコン、スマホ等を同じネットワークに繋ぐ
・スマホやパソコンでブラウザを立ち上げる
・ブラウザにラズベリーパイの IP address を打ち込む

等とすることで実現できる。

が、このままだと、

・毎回毎回ラズパイの IP address を調べる必要がある
・ネットワーク環境がない or 接続できない所では動かせない

等々、色々と制約が出来てしまう。

折角作って、誰かに見せようと持っていったとしても、

これらの障壁があると動かせなくなってしまうのだ。

こういった問題を解消するためには、

・Raspberry Pi 自体を WiFi アクセスポイントにしておく

ということが重要。
*IP address の固定化も含めて。

これにより、ラジコン戦車をどこに持っていっても、

スマホがあれば動かせる

という状況になる。

よって、WiFi アクセスポイント化はやっておいた方がよい。

具体的な方法については、

WiFi アクセスポイント化

に記載しているので、こちらを参考にしていただければと思う。

まとめ

今回は、ラジコン戦車を作るにあたり、

・Raspberry Pi 自体を動かすための準備

について記載した。

基本的には、当サイト内ですでに記載済みの内容を

いくつか実現すればよいだけ。

ただし、WiFi アクセスポイント化に当たっては、

OS のバージョンに気をつける必要があるため、

ここには注意が必要。

次回はいよいよ、DC モーターの制御に入っていきたいと思う。

ここまでの Point!・OS は Raspbian Jessie を使おう!
・後は当サイト内の記載内容に沿って設定すれば OK!




Copyright (c) 2017 Webmaster of this site All Rights Reserved.
カテゴリー: ラズパイで電子工作 | タグ: , | コメントする

Raspberry Pi でブラウザから操作できるラジコン戦車を作る! – 準備するもの その 2 –


■準備するもの – その 2 –

前回は、まず、

・Raspberry Pi 本体を動かすために必要なもの

を準備した。

ラズパイで戦車を作るには、他にも、

・動力源となる DC モーターやギアボックス
・それらを配線するための各種道具や工作用器具
・車体となるもの

などが必要となる。

よって今回は、準備するものの第二弾として、

・ラジコン戦車として動かせるようにするもの

について記載する。

具体的に必要なものは、以下のとおりとなっている。

■動力源として必要なもの

  1. DC モーター付きギアボックス
  2. モータードライバー

■動力源を動ける様にするために必要なもの

  1. ジャンパワイヤ
  2. ブレッドボード
  3. 抵抗
  4. はんだごて
  5. micro USB 電源 DIP 化キット

■車体となるもの

  1. 車輪
  2. ユニバーサルプレート
  3. スペーサー

以下、各々について詳しく説明していく。



DC モーター付きギアボックス

まずは DC モータ付きギアボックス。

これが唯一の動力源となる。

ラジコン戦車の動作としては、最低限、

・前進
・後退
・右旋回
・左旋回
・停止

が出来ないといけない。

特に、旋回動作を行うためには、

右旋回:右側車輪を後退方向に、左側車輪を前進方向に進める。
左旋回:右側車輪を前進方向に、左側車輪を後退方向に進める。

という動作が必要になる。

このため、DC モーター二つと、

それに対応できるギアボックスが必要となる。

これを実現するために、今回利用したのはこれ。

タミヤ 楽しい工作シリーズ No.168 ダブルギヤボックス 左右独立4速タイプ (70168)

タミヤ 楽しい工作シリーズ No.168 ダブルギヤボックス 左右独立4速タイプ (70168)
by カエレバ

これ一つあれば、組み立て方法次第で 4 段階の速度を選択できる。

実物はこんな感じ。

組み立て方法については、追って記載していく。

なお、これを購入すれば、DC モーターもちゃんと 2 個ついてくる。

なので動力源としてはこれで十分。



モータードライバー

今回のラジコン戦車では、

ラズベリーパイ本体にある GIPO を使い、DC モーターを制御する。

この際、GPIO を直接 DC モーターにつないでしまうと、

どうも GPIO から出力できる電流の限界を越えてしまい、

ラズパイ自体が壊れてしまう可能性が高い模様。

ということで、こういった事態を避けつつ、

DC モーターを制御するためには、

モータードライバー

を使う。

今回使ったのは、これ。

ラズパイで作ろう!ゼロから学ぶロボット製作教室電子部品セット その2(連載第4回向け)

ラズパイで作ろう!ゼロから学ぶロボット製作教室電子部品セット その2(連載第4回向け)
by カエレバ

 

これを使うことで、ラズパイからの High/Low/PWM 信号を

DC モーターの正回転、逆回転、停止、速度調整などとして

利用することが出来る。

実物(ジャンパワイヤは除く)はこんな感じ。

これも必ず必要な部品なので、揃えておく必要がある。

なお、私の場合、

配線時に必要となるジャンパワイヤが必要だったこともあり、

上述のものを購入したが、

ジャンパワイヤなどは結構揃っているならば、

秋月電子にいけば 2 個 300 円ぐらいで購入できる模様。

秋月電子通商
http://akizukidenshi.com/catalog/g/gI-02001/

ネット通販だと送料がかかるため、結局 amazon 等で

買うのと変わりないが、直接お店にいけるとか、

別のものと合わせて購入する、等があれば、

秋月で購入した方が安く済むかもしれない。



ジャンパワイヤ

Raspberry Pi から DC モーターを動かすためには、

Raspberry Pi の GPIO から、

後述するブレッドボードを経て、

DC モーターまでを配線しないといけない。

また、DC モーターと電源も配線でつなぐ必要がある。

その際に必要となるのが、これ。

Aukru 3本セット ブレッドボード・ジャンパーワイヤー ジャンパー線 / ケーブル オス-オス/ オス-メス/ メス-メス Arduino Raspberry pi 用
by カエレバ

 

ラズベリーパイの GPIO とブレッドボードを接続するためには、

メス – オスのジャンパワイヤが最低 6 本必要。

ブレッドボード上で配線を構築するには、

オス – オスのジャンパワイヤが最低 7 本必要。

ブレッドボード上の配線と DC モーターを接続するためには、

オス – オスのジャンパワイヤが追加で 4 本必要。

メス – メスのジャンパワイヤは不要だが、

まぁあっても大して邪魔にはならないし、

今後他にも電子工作をする場合等は使うかもしれないので、

とりあえず上述のセットがあればよいと思う。



抵抗

DC モーターを動かす際、

モータードライバーを使う、

と述べたが、これを使うにあたっても、

配線をショートさせないために、10KΩの抵抗がいる模様。

私が購入したのはこれ。
SODIAL(R) 100 x 1 / 4W 250V 10K Ohmアキシャルリード炭素膜抵抗

SODIAL(R) 100 x 1 / 4W 250V 10K Ohmアキシャルリード炭素膜抵抗
by カエレバ

 

結局二本しか使わないので、こんなにいるのか、という話だが、

まぁしょうがない。

あと、10KΩじゃなくてもいいのかもしれないが、

ひとまずこれで動いたので、ここではこれを紹介する。



ブレッドボード

DC モーター、モータードライバー、電源、ラズパイを

各々接続するためには、先ほど紹介したジャンパワイヤに加え、

それを差し込んでジャンパワイヤ同士などをつなぐための

ブレッドボード

が必要になる。

私が購入したのはこれ。

Rasbee SY-170 ミニブレッドボード カラフルブレッドボード 5個 [並行輸入品]

Rasbee SY-170 ミニブレッドボード カラフルブレッドボード 5個 [並行輸入品]
by カエレバ

 

正直 5 枚も要らない。

というか、実際一枚しか使っていない。

が、普通のブレッドボードより小さいため、

車体に載せるのに便利がよい。

あと、あったらあったで、

他のものを作るときに使えばよいか、

ということもあり、とりあえずこれを購入。

購入してみておもったのだが、

配線は多少やりにくく、密集してしまうものの、

取り立てて大きな不便はなかった。

また、やはり車体に搭載した結果を考えると、

普通のブレッドボードよりもこちらの方でよかったと思う。



はんだごて

ブレッドボードとジャンパワイヤがあれば、

大体の配線は実施できる。

なので、はんだごてを使わなくても、

動くものは作れなくはない。

ただ、現実的にやってみると、やはり

DC モーターとジャンパワイヤ(オス – オス)

の接続がすぐに外れてしまう。

セロハンテープで止めてみたりしたが、

DC モーターが動かずに配線を見直したりする際、

結構な確率で外れてしまっており、

それに気づくまでに結構時間を浪費する、

といったことが頻繁に起こって、イライラした。

本当ははんだごてまで買いたくはなかったのだが、

致し方なく調べてみると、800 円程度で

USB 電源、かつちょっと大きなシャーペン程度の

大きさのものがあったので、これならばと思い、購入。

買ったのはこれ。

15秒で使える!! 高出力 8W こて先 3mm コンパクト 安全スイッチ ハンダ USB給電式 半田こて 半田ごて
by カエレバ

 

実物はこちら。

実際に使ってみたが、USB 電源なので結構気軽に使えるし、

なにより、「電子工作やってます感」満載になる。

利便性と自己満足の両方の観点から、

持っていないならば買っておいた方がよいだろう。

なお、はんだ自体(写真中のばねのようなもの)は

上述のはんだごてセットの中に付属しており、

ラジコン戦車を作るにはこの量で十分。

なので、(私はそれを知らずに購入してしまったが)

別途はんだを購入する必要は特にないので注意が必要。
*他の用途で購入するなら別によいが。



micro USB 電源 DIP 化キット

DC モーターの電源としては、以下のような、

単三電池 4 本を直列に接続できる電池ボックス

Haobase 電池ホルダー 電池 ホルダー 4×1.5V 単三電池ケース 単3形*4本 6V用 ボックス スイッチ カバー 4本
by カエレバ

 

を使うのが一般的。

ただ、私はひねくれものなので、

・そうしょっちゅうラジコン戦車を動かさないと思う
・そうするといざ動かそうと思ったら電池切れとかいやだ
・電池を取り替えるのにいちいち車体をばらすのも面倒
・ラズパイ用モバイルバッテリーは必須だから、それを利用したい

ということから、

・DC モーターの電源をモバイルバッテリーから取得する

ということを実現したかった。

で、これをやろうと思うと、

・ブレッドボード上に micro USB の挿し口を作る

ということを実現しないといけない。

これを実現してくれるのが、micro USB 電源 DIP 化キット。

【ノーブランド品】メス マイクロ USB → DIP 5ピン ピンボード 2.54mm マイクロ USB 10個
by カエレバ

 

実物はこんな感じ。

正直な所、10 個も要らないし、

ハンダ付けは必要だし、
*こちらは実はハンダ付けなしでも一応使える

とは思ったのだが、はんだごては購入したし、

何か失敗した時にはスペア代わりに使えるし、

ということで、これを購入した。

実際、ブレッドボード上で micro USB 電源化した後、

一旦抜こうと思ったら、結構スムーズに抜けず、

元々ついていたはんだがはがれてしまう、という事態も起こった。

はんだがあるからハンダ付けしなおしてもよかったのだが、

それで壊れてもこまるので、二個目を使う、などという

状況もあったので、10 個入りのこちらを買ってよかったと思う。

なお、既に出来合いのものを使いたければ、

値段は 900 円ぐらいしてしまうが、

こういうものもあるらしい。

ブレッドボード用5V電源ボード Micro-B版 ヒューズ付き
by カエレバ

 

私は実際に使っていないのでなんともいえないが、

色々面倒そうだと思う人は、こちらを使ってもよいだろう。



車輪

最後は車体その物を作る材料。

私は初め、

タミヤ 楽しい工作シリーズ No.108 タンク工作基本セット (70108)

タミヤ 楽しい工作シリーズ No.108 タンク工作基本セット (70108)
by カエレバ

 

を購入し、作り始めた。

これには、

・各種車輪とキャタピラ、
・DC モーターとギアボックス(一個だけなので前進・後退のみ可)
・車体となる板
・電池ボックス(単三電池二本の直列接続)

が付属していたため、最初にやるにはこれがよいかと考えた。

が実際やってみると、私の頭ではどう考えても諸々搭載しきれない。

ギアボックスだけで板の前半分は使われるし、

後半分は電池ボックスでほぼ終了。

残りのラズパイやモバイルバッテリー、

配線したブレッドボードや監視カメラと合体させる際の

パンチルト可能なカメラマウントなどが載せられないのである。

ということで、最終的には後述するとおり、

車体をユニバーサルプレートに置き換えている。

で、そうなると車輪部分が必要になる。

私の場合は前述のとおり、既に購入したものから

部品として流用したが、車輪だけであれば、

以下のようなものが存在する。

タミヤ 楽しい工作シリーズ No.100 トラック&ホイールセット (70100)

タミヤ 楽しい工作シリーズ No.100 トラック&ホイールセット (70100)
by カエレバ

 

よって、車輪としてはこれを準備すればよいと思う。



ユニバーサルプレート

続いては車体そのものを作るための材料を揃える。

前述したとおり、車輪を支える車体だけでは、

・パンチルト可能なカメラマウント(監視カメラとの合体用)
・ラズベリーパイ本体
・配線したブレッドボード
・モバイルバッテリー

などが載せきれない。

よって、車輪を支える車体の上に、もう一段、

各種の装置を載せるための台が必要となる。

これを実現するため、今回は

タミヤ 楽しい工作シリーズ No.157 ユニバーサルプレート 2枚セット (70157)

タミヤ 楽しい工作シリーズ No.157 ユニバーサルプレート 2枚セット (70157)
by カエレバ

 

を利用した。

実物はこちら。

これだと、一枚目を車輪を支える下段として利用し、

二枚目をその他の装置を支える上段として利用できる。

また、車輪を支えるための部品も付属しているため、

車体として利用するにはもってこいの部品である。

よって、車体としてはこちらを購入しておけばよいだろう。



スペーサー

車輪、車体と揃ったので、十分かと思いきや、

実はそうではない。

車体部分で示した写真をみてもらえれば分かるが、

ユニバーサルプレートには、

プレートが二枚ついているにも関わらず、

これを多段化するために必要な部品が存在しない。

つまり、一枚目のプレートで一段目を作っても、

二枚目のプレートを二段目とすることがこのままでは出来ない。

これを実現するためには、

一段目(下段)の上に二段目(上段)を載せるための

柱の役割をしてくれる部品が必要だ。

これをスペーサーという。

最初は、どれぐらいの大きさのものが、

大体いくつ位必要なのか、が分からなかったので、

ひとまず以下のようなセットを購入した。

Kuman 180個 M3ねじ ナット六角スペーサー ナイロンねじ ブラック キット arduinoとRaspberry PI 3に適用回路基板 K79
by カエレバ

 

実物はこんな感じ。

値段は 1,000 — 1,500 円と、

他の部品に比べると若干高くなっている。

正直全部必要なわけではないし、

購入はだいぶ迷った。

が、結果的には購入しておいて正解。

もちろん、実際にはこれらの中身のうち

ごく一部の部品しか使っていない。

が、実際問題として、

車体に各パーツをどのように載せようか

は必ず悩む所であり、色々組み替えたりする。

その際、スペーサーを追加して下段と上段の高さを変えたり、

スペーサー自体を各パーツの支えにしたり、と

あーでもない、こーでもないと思いながら

結構いろんな部品を使ってみたくなる。

そういうときに、スペーサーやネジを

決め打ちで何個、と購入するのではなく、

こういったのセットを購入しておいたおかげで、

結果的に結構色々試すことができた。

今から買うなら、こういうセットの方が、

何かと使い勝手がよいと思う。



まとめ

前回に引き続き、今回は第二段として、

・ブラウザで操作できるラジコン戦車

を作る上で、

・ラジコン戦車を形づくるためのもの

を記載した。

今回は、

・実際に動くもの

を作るため、必要な部品がさすがに多くなっている。

しかしながら、ブレッドボードやジャンパワイヤ、

はんだごてや micro USB 電源 DIP 化キットなど、

他にも電子工作をする場合には利用可能なものも多いため、

今回すべてを使い切らなくても、あるとよいかと思う。

ここまでの Point!・動力源は DC モーター付きギアボックス、モータードライバーが必要!
・配線は、ブレッドボード、抵抗、ジャンパワイヤ、電源 DIP 化キット、はんだ、を使う!
・車体はユニバーサルプレート二枚組、多段にするにはスペーサー、後は車輪で OK!

次回は、Raspberry Pi 自体の初期設定について記載する。




Copyright (c) 2017 Webmaster of this site All Rights Reserved.
カテゴリー: ラズパイで電子工作 | タグ: , | コメントする