ロボットを作る

子供のころ、映画「STARWARS」 を観てワクワクし、ガンプラにドキドキしていた。時間が経つのも忘れてしまう、そんな時間をもう一度、取り戻すために、Raspberry pi を使って、オヤジがロボット作りに挑戦する!

やり始めてみると、なかなか思い通りに行かない。時間の経つのも忘れて悪戦苦闘中。 「こんなちっちゃな Raspberry Pi で、こんなことができるんだ」を日々実感している今日この頃。

Raspberry Pi

「第7章 I2Cデバイスの利用」に入る。



まずハンダごてを用いて、ハンダ付けを行う。
本にハンダ付けの注意点が書かれている。慎重に慎重に行う。
がががっ、怪しい付き方になってしまった。自分の不器用さに涙する。


P.161
7.1.2 Raspberry PiでI2C通信を行うための準備

だが、 /etc/modprobe.d/raspi-*   ファイルが無い。あああああ。

落ち着け俺。書籍のホームページに更新情報が載っていた気が。
おおっ、やっぱりちゃんと載っていた。

 $ sudo raspi-config

  「8 Advanced Options」を選択 
 「A7 I2C」を選択

 $ reboot 

そして、本の P.163に戻る。

 /etc/modules へ i2c-dev を追記。
 $ sudo apt-get update
 $ sudo apt-get install i2c-tools python-smbus
 $ sudo reboot

07-01-temp.py を Run! したら。。。

あれ? エラーが
-------------------
>>> 
Traceback (most recent call last):
  File "/home/pi/Desktop/raspi-sample/07-01-temp.py", line 2, in <module>
    import smbus
ImportError: No module named smbus
>>>
------------------- 

で。ググっていたら pythonのバージョンに左右されるようだ。
起動の仕方が、

 $ sudo idle3 &

で Runさせていたので、python 3.2.3 で起動し、どうやら SMbus を python 3.x で動かすには少しテクニックが必要のようだ。
あっさり、

 $ sudo idle &
 
の python 2.7.3 で、ちゃんと動いた。
 

本の第6章「AD変換によるアナログ値の利用」に入る。



半固定抵抗(矢印のつまみを回転すると抵抗値が変わる)を使って、アナログな値を生みだし、Analog to Digital変換して、Raspiに読ませることを行う。

ADコンバータは、本のとおり、MCP3208-CI/P を使用。初めうまくブレッドボードに刺さっていなかったので、プログラム起動後に読みとる値が 0と4095の2種類にだけなったので、奥までザクッと入れ込んだら、うまくいった。抜くときが心配だが。


本にも書いてあるが、ポイントとなるピンが4つ

MCP3208  Raspi
 CLK     SPI SCLK(11)
 Dout     SPI MISO(9)
 Din      SPI MOSI(10)
 CS/SHDN  SPI CE0(8)

で、そもそも SPI通信ってなんだ? 

Wikipediaによると。
Serial Peripheral Interface

信号線は 4本で構成され、一つのデバイスを接続する場合はSSを固定することで3本で接続できる。

 SCK --Serial Clock
 MISO --Master In Slave Out
 MOSI --Master Out Slave In
 SS --Slave Select

これらが、Raspi 上の SPI xxx とつながる。



本のとおり、

 1.プルダウン抵抗を外す。
 2.トグル動作

を行った。3. Cameraで、は費用の関係でcamera未購入のため、スキップした。

1. プルダウン抵抗を外す。

 まず、プルダウン抵抗が無いと、なにがまずいのか?が本では解説されている。
 プルダウン抵抗の必要性を理解した上で、実はこのプルダウン抵抗は、RasPi 内部にもあり、プログラムに追記することで利用できる。

2. トグル動作

 前回までは、タクトスイッチを 押している間⇔離してる間 で切り替わっていた動作を、押すごとに切り替わる動作を練習。
 

 

本の第5章「タクトスイッチによる入力」に入る。


前回までのLED点滅の部品と、新たに 10Ωの抵抗と「タクトスイッチ」、それにジャンパーワイヤを数本。

本の配線を見ながら接続するのだが、すでにややこしくなってきた。先が遠いのに。。。

前回のLED点滅は、RasPiのpythonプログラムからの「GPIO出力」、
今回のLED点灯は、タクトスイッチからの「GPIO入力」 

の理解でいいかな。




タクトスイッチを押している間にLEDが点灯した。
この写真を撮ろうと思ってフラッシュついたら、RasPiが死んだ。
最初、なんのことかわからず、配線間違ったとか、+ーが接触したのかとか心配したが、以前、Webで RasPi2 でそんな問題があることを読んだのを思い出した。

再現したら同じことが起きた。ガーーーーン。


 


いよいよ、電子部品を使う。
本の第3章「電子工作の予備知識およびRaspberryPiによるLEDの点灯」に入る。

最初はLED点灯から。

これも本のとおり、 330Ωの抵抗と、赤LEDをブレッドボードに繋げて、raspi の

 1 3.3V
 6 GND

のピンに接続する。おっ! LED点灯した。


DSC04891


そのまま、第4章「プログラミングによるLEDの点滅」へ。

 1 3.3V

 22 GPIO 25
へ刺しかえる。

ターミナルから、python開発環境を立ち上げる。

 $ sudo idle3 &

あとは、本のとおり、点滅のスピードを変えたり、control+Cでエラー表示させないようにしたり。

とりあえず、ひととおりやってみた。





やっと到着した!

DSC04879DSC04880

箱から出して、眺めてみる。この基盤が4000円で買える時代になった。


先に届いていたB+のクリアケースに入れようとしたが、ハンダ付けされた部分がおもっきりケースのプラスチックに当っていたので、カッターでケースの一部を削った。
DSC04883
(写真がボケて見えないか。写真の基盤左したの◎の右側の部品が当たる)



ばっちり収まったので、モニタ、キーボードたちを繋げて、NOOBS入れた microSDを刺して、いざ立ち上げる。

DSC04885 おやくそくのRaspbian を選んで進める。

DSC04886なんか進行してる。15分ほどかかった。

インストール完了後、raspi-config のブルー画面が上がるが、このまま進めると日本語が化けてやりづらい。

[Tab]キー2回⇒ Finish へ、[Ent]キー を押して一旦終了し、startxを起動して、raspi-config から
本のとおり設定をすすめる。


ログインして startx を起動!


DSC04888でた、エラー。でもこれは、本が紹介していたWebに対処法がでてた。

DSC04889ネットにもさくっと繋がった。



この本のまま進んでる。

立ち上がるとなんか感動! ワクワクする感じ。



Raspberry Pi が立ち上がった。




この本のとおり進めればできた。



日本語の表示はできたが、日本語の入力ができなかった。本の付録には「日本語入力についてはWebを参照」となっていたので、ググって別の方法でやった。

 $ sudo apt-get install task-japanese task-japanese-desktop

少々時間を要したが、インスト後に再起動したら、日本語入力できた。

ついでに、

 $ sudo apt-get update
 $ sudo apt-get upgrade

しておいた。



「Raspberry Pi で学ぶ電子工作」(講談社ブルーバックス)


この記事もRasPiから書いてる。

もうちょっと調整が必要のようだが、取りあえず一段落できた。 
これから本格的に本の内容に入っていこう。

 

実は肝心のRaspberry 本体が到着していない。




これを待っている間に OS を準備しよう。

この本を読みながら進める。ざっくりこんな感じに。

 0. microSDカードをフォーマット
 1. NOOBS をダウンロード
 2. PC上で解凍
 3. microSDカードへ書き込み

NOOBS
 Version:1.4.0
 Release date:2015-02-18



最新版は、いま 1.4.0 らしい。ファイルは zip で、737MB。うちのしょぼい回線では、ダウンロードに30分かかった。

micro SDカードは、秋葉原で買ってきた。
 SanDisk
  microSDHC UHS-I Card
  16GB/Class10

家のPCにmicroSDカードが刺せないので、眠っていた Green House のCard Reader/Writer を使って書き込み。
念のためフォーマットの練習もしておこう。
  SDformatter V4.0


準備はできた。


ずっと気になっていた Raspberry Pi でロボット作ることを考えていた。
Raspberry Piのことは気になっていて、大型書店でいろいろ本を見てきた。
いくつかの本屋を回って、何度も出なおして、時間が過ぎてしまった。

やっと、この本にたどり着いた。

「Raspberry Pi で学ぶ電子工作」 講談社ブルーバックス

この本が出版されたとき、本屋で手にとって第10章にラジコン戦車が出てきたのをみて「これだ!」と思った。
これから Raspberry Piとたわむれる人達におすすめの一冊。




↑このページのトップヘ