Raspberry Piで10個のサーボモーター動かしてみた
久々のRaspberry Piねたです。
思うところがあって、多チャンネルサーボ制御がRaspberry Piで出来ないか、試してみることにしました。
まず買ったのはこれ。”PCA9685”という多サーボ制御用ボード。ついでにジャンパ線も買っておきました。
購入したのはSWITCH SCIENCEというところ。ここしか売ってないようです。
PCA9685搭載16チャネル PWM/サーボ ドライバー (I2C接続) - スイッチサイエンス
ところでこのPCA9685、まずはんだ付けしないといけないという難問に直面します。
こんな感じにばらばらです。
がんばって半田ごて握って作りました。うちにある半田ごて/はんだが精密機器用でよかった。
最初の4列分はかなり大変でしたが、だんだんと慣れてきます。
サーボコネクタ、電源用コネクタを無事つけ終えました!やったー!!
・・・と思いきや、ややコネクターがゆがんでます。
これでも使えるため問題はないのですが、ちょっとみっともないですね・・・
Raspberry Piにつなぐ線はジャンパ線を直接このPCA9685につけました。
どうやってつけたらいいのかが分からなかったんですが、たまたま日経Linux 6月号に
こういう回路図が載っておりました。
これを参考に配線。
Raspberry Piのビデオ出力端子側を上にして、
・ PCA9685の”GND”は上段左から7つ目
・ ”SCL”は下段左から3つ目
・ ”SDA”は下段左から4つ目
・ ”VCC”は下段左から9つ目
にそれぞれ挿します(挿すのはこの4本のみ、512MBのRev.Bモデルの場合)。
電源はいろいろ試しました(5V 1~2Aが必要)が、結局上のように百均で売ってる携帯電話充電用ケーブルをぶった切ってつけました。
大抵赤線が+極のはずなので、赤線をPCA9685の+極のほう(上の写真では青コネクターの右側の端子)に挿してネジで締めます。
あとは、iPad用充電器など、1A以上供給可能なUSB ACアダプタにUSBコネクタを挿して使います。
サーボはSG90ってやつを購入。
小型で安いサーボ、10個でなんと3,990円!
一つあたり400円です。かなり小さい。
さて、ハードウェア準備は整いましたが、Raspberry PiでこのPCA9685を動かすには少々準備が必要。
もちろん、Raspberry Piが必要。Raspbianのインストールもしなきゃいけませんが、こちらは以下を参照。
Raspberry Piを買ってしまいました!!: EeePCの軌跡
以降の手順を以下に。
◆I2C有効化編
まずI2Cを使えるようにしなきゃいけないそうです。
なぜかRaspbianのデフォルトは、I2Cデバイスが無効になってるそうなので、これを有効にします。
以降のやり方はこちらを参照しました。
adafruit-16-channel-servo-driver-with-raspberry-pi.pdf
PCA9685をRaspberry Piにつないでテストするまでの手順。英語でかかれてます。がんばって読みました。
まずエディタで/etc/modprobe.d/raspi-blacklist.conf を開きます。
sudo vi /etc/modprobe.d/raspi-blacklist.conf
私は”viエディタ使い”なのでviを使ってますが、一般には”nano”がよく使われるようです。
ラズベリーパイ、raspbian の nano エディタ?の使い方を少々 - ラズベリーパイで遊ぶよ~!
こちらを使う場合は”vi”のところを”nano”とするだけです。
エディタでraspi-blacklist.confを開いたら、
#blacklist i2c-bcm2708
のところで、頭文字の”#”を消します。
blacklist i2c-bcm2708
として保存。
つづいて、 /etc/modules に”i2c-dev”と”i2c-bcm2708”を追加します。
sudo vi /etc/modules
で最終行に
i2c-dev
i2c-bcm2708
と書き込み保存。
ここで一旦再起動します。
◆必要なソフトインストール編
Raspberry Piにサーボを動かすのに必要なものをインストールしていきます。
と、その前に、以下の呪文を実行しておいたほうがよさそうです。
sudo apt-get update
sudo apt-get upgrade
以下の作業でインストールがうまくいかないときは、これを唱えておくと直るようです。
さて、まずはi2c-toolsをインストールします。
sudo apt-get install i2c-tools
I2Cをチェックするためのツールです。なくてもいいかもしれませんが、一応入れておきます。
python(パイソン)というのを使うので、こちらもインストール。
sudo apt-get install python-smbus
さらに”git”というのも使うので、これも入れます。
sudo apt-get install git
このgitを使って、サーボを動かすためのドライバをインストールします。
git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
インストールが終わったら、サンプルコードの入ったディレクトリに移動しておきます。
cd Adafruit-Raspberry-Pi-Python-Code
cd Adafruit_PWM_Servo_Driver
ここで、Adafruit_PWM_Servo_Driver.pyを編集します。
sudo vi Adafruit_PWM_Servo_Driver.py
ちょっとしたの方に”self.i2c = Adafruit.I2C(address)”という行があるので、この”address”の部分を”adress,1”と書き換えておきます(新しいRaspberry Pi Rev.Bの場合、Rev.Aモデルの方は後ろが”0”です)。
これで準備完了。
◆サーボ起動編
いよいよサーボ起動です。
PCA9685の青い電極につないだUSBコネクタをUSB ACアダプターに挿します。
ここで「ジッ」という音が鳴ったらOK。何も音がならない場合は、電極が逆につながってるか、電力不足かのどちらかです。ケーブルが壊れてる、PCA9685の半田付け不良って場合もあります。
SG90サーボを一個取り付けます。つけるところはID 0のところ。
PCA9685を青い電源コネクターの部分を上にしたときに、一番左のサーボコネクタに挿します。
サーボコネクターの茶色がGND(青い電極を上にしたときの、一番下の列)になるように挿します。
とりあえず、この状態で
sudo python Servo_Example.py
と打ち込みます。
サーボが一定周期で動き出したら成功。
止めるときは”CTRL”と”C”を押してください。
◆複数サーボ動作編
このままでは1つしかサーボが動かないため
調子に乗って10個動かせるように”Servo_Example.py”を書き換えます。
まず、Servo_Example.pyをコピーします。
sudo cp Servo_Example.py Servo_Example2.py
コピーしたコードを編集します。
sudo vi Servo_Example2.py
最後の方に”pwm.setPWM(0,0,servoMin)”とpwm.setPWM(0,0,servoMax)”とがありますが、
これを上のようにそれぞれ8つコピーして、最初の数字を1、2、・・・、9と変更します。
この”Servo_Example2.py”をpythonで実行すると、10個のサーボがいっせいに動作します。
なかなかどうして、圧巻ものです。
今回はとりあえず動作テストまで。
これを自在に動かせるようにしたいですね。ついでにブラウザ上で制御できるようにしたいと思っております。
で、こんなものを何に使うのか?
それは今後のお楽しみ。
« 低価格デバイス向けWindows 8.1配布開始 | トップページ | 偏頭痛の悩み解決!?なヘッドバンド”Cefary” »
「おもちゃ系」カテゴリの記事
- 最近買った小物類(2024.06.23)
- 東京オートサロン、CARGO BASE & 秋葉原へ行ってきました(2024.01.13)
- 毎年恒例のヴィレッジヴァンガード福袋を買ってきました(2024.01.02)
- 大須に行ってきました(2023.12.23)
- 人生初、幕張メッセに行ってきた(2023.10.28)
「Raspberry Pi・Arduino・電子工作」カテゴリの記事
- 名古屋 大須へ行ってきました(2024.04.28)
- Raspberry Pi 5用電源購入(2024.04.19)
- Interface 2024年5月号はRaspberry Pi 5特集(2024.03.26)
- Raspberry Pi 5とPCがつながらなかった理由は「プライバシーセパレーター機能」のせいでした(2024.03.12)
- Raspberry Pi 5に日本語LLM(ELYZA-Japanese-Llama-2-7b-fast-Instruct)を入れてみた(2024.03.10)
コメント
« 低価格デバイス向けWindows 8.1配布開始 | トップページ | 偏頭痛の悩み解決!?なヘッドバンド”Cefary” »
git clornのところをうってみても反応がありません
投稿: matubara | 2014年8月21日 (木) 10時37分
git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
インストールが終わったら、サンプルコードの入ったディレクトリに移動しておきます。
cd Adafruit-Raspberry-Pi-Python-Code
↑のところよくわからないです。助けてください。返信待ってます。早めに見てください。
投稿: 1コメの者です。 | 2014年8月21日 (木) 12時56分
電源はいろいろ試しました(5V 1~2Aが必要)が、結局上のように百均で売ってる携帯電話充電用ケーブルをぶった切ってつけました。
上の画像を拝見したのですが切ってどこに何をつけたか、追記してもらえませんか?
悪戦苦闘しております。∑(=゚ω゚=;)
投稿: 1コメの者です | 2014年8月21日 (木) 14時02分
こんにちは、matsubaraさん。
返事遅れてすいません。まず確認ですが、「git clone 〜」のところは通過できたんでしょうか?
gitというのは、サイトからソースコードを取ってくるコマンドです。
上の記事ではちょうど改行されてて、「t」だけが離れてしまってるかもしれません。正しいアドレスは
https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
です。最後のgとtの間にスペースが入っていないことを確認してください。
電源コードですが、PCA9685上の青いコネクターがあります。ネジが2本付いてて、これを緩めて携帯充電コードの線をはさんで締め付けます。
百均の充電コードで、たまに赤がマイナスになってるものもあるらしいですんで、うまくいかない時は逆にして見るのも手です。
投稿: arkouji | 2014年8月22日 (金) 08時36分
返信感謝いたします。電源の方は解決しました。
https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.gitを打ち込んだ後どうするのか
詳しく教えていただけませんか?
こちらもお礼が送れて申し訳ございません。
投稿: 1コメの者です | 2014年8月26日 (火) 22時19分
こんにちは、matubaraさん。
git https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git と打ち込んでEnterキーを押した後に、ずらずらっとなにやら文字が流れませんでしたか?
Enterキーを押しても反応が無い場合は、うまくデータをゲットできていないと思われます。
もし文字が流れていたなら、
ls
とタイプしてみると、 Adafruit-Raspberry-Pi-Python-Code という名前のディレクトリが出来ているはずです。
cd Adafruit-Raspberry-Pi-Python-Code
とタイプすれば、そのディレクトリ内に入ることが出来ます。
投稿: arkouji | 2014年8月27日 (水) 18時14分
うまくいきました!
ありがとうございます。
投稿: 1コメの者です | 2014年8月28日 (木) 14時37分
僕はロボットをこの記事を見て動かせるのではないかと思っております。
今の進行具合ですと、電源ケーブルをぶったぎって、サーボがジッと音がするというのは確認してます。(PCA9685の電源がなぜかつかない)
ジャンパ線(♀*♀)を自作して繋げてみると、ラズベリーパイの電源が落ちます。これは接触不良ですかね?買ったほうがいいのではないかと思っておりますが...。
追記ですがlsと打つと→Adafruit-Raspberry-Pi-Python-Code Desktop ocr_pi.png python_games test.txtこれは成功ではないのかと思っております。
動作テストまで行ってないのですが、ここから先何かいいアイデア等があれば教えていただきたいです。ラズベリーパイマスターを目指します。
投稿: 1コメの者です | 2014年8月28日 (木) 14時51分
pi@raspberrypi:~$ sudo python Servo_Example.py
python: can't open file 'Servo_Example.py': [Errno 2] No such file or directory
sudo python Servo_Example.pyを打ち込んだ結果↑のようになりました。
改善策を教えてください
投稿: 1コメの者です | 2014年8月28日 (木) 15時53分
こんにちは、matsubaraさん。
sudo python ./Servo_Example.py
ではいかがでしょうか?
投稿: arkouji | 2014年8月28日 (木) 22時04分
sudo python ./Servo_Example.pyと入力すると、以下の、メッセージが出ました。
python: can't open file './Servo_Example.py': [Errno 2] No such file or directory
どこかやり方が間違えている可能性が高いですかね・・・::?
返信が1週間ばかり遅れて申し訳ないです
投稿: 1コメの者です | 2014年9月 5日 (金) 13時00分
こんにちは、matsubaraさん。
pythonを実行するディレクトリに”Servo_Example.py”はありますか?
”ls”と入力しディレクトリ内のファイル一覧を表示し、そこに”Servo_Example.py”がなければ上のようなNo such file or directoryといわれてしまいます。
なお、”./”とは自分の今いるディレクトリと同じ階層のファイルであることを示してます。
投稿: arkouji | 2014年9月 5日 (金) 19時11分
Servo_Example.pyをどこで打てばいいんでしょうか?
改善策お願いします
投稿: 1コメの者です | 2014年9月 9日 (火) 15時10分
こんにちは
”address”の部分を”adress,1”と書き換えておきます
という部分で、".1"という文字をLXterminalで追加書き換えができません。
Linux超初心者です。
すみません、よろしくお願いします。
投稿: mana | 2014年9月22日 (月) 22時22分
こんにちは、manaさん。
そのLXterminal上で使われているエディタってなんでしょうか?ターミナルというより、エディタによって挿入操作の方法が変わります。
私が使うのは viエディタというものすごく簡素で使いづらい(でも軽量でどんなLinuxにも実装されてる)ものを使っておりますが、viでいけばカーソルキーを”address”の最後のsの上に移動し、”a”のキーを押して”,1”と入力。最後にESCキーを押します。
一般的に、Raspberry Pi(のOS Raspbian)で推奨されてるエディタは”nano”というエディタだそうです。
https://sites.google.com/site/linuxnomemo/mint-use/nano
こちらであれば、多少はWindowsのエディタに近いといわれてるそうです。
さて、このRaspberry Piネタですが、やはりLinuxをある程度扱うことが出来ないと少々つらいと思われます。
せっかく買ったRaspberry Piなので、一度Linuxを勉強する事をお勧めいたします。最初は市販の書籍に頼るのがよろしいかと。
Linuxのコマンドラインやファイル操作、エディタの起動・編集・終了、そして”権限”という概念がある程度理解できないと(上の記事でもいちいち”sudo”とつけていますが、その意味)、おそらくこの記事はしんどいと思われます。
Raspberry Piで電子工作やプログラム作成を扱ったムック本はいろいろあります。このあたりを一冊読んでみると大体基本的な操作が可能となります。
投稿: arkouji | 2014年9月23日 (火) 20時50分
早々のご返事ありがとうございます。
本業は電気屋(変電所等の強電)、趣味はラジコン、以前からトラ技のような世界に憧れておりラズベリーパイとこのPWM制御基板に飛びついた訳です。
ハードは弱電となっても容易に理解できるのですが、それを制御するプログラムは全くの素人で勉強するいい機会と思った訳です。
おっしゃる通りもうちょっとより道した方がよさそうです。
ちなみにnanoを使い、問題の追加書き換えはできました。
今度はサーボを一つ繋いで、sudo python Servo_Example.pyを実行したところ
Trackback (most recent call last)
File "Servo_Example.py",line 3, in
from Adafruit_PWM_Servo_Drriver import PWM
File "/home/pi/Adafruit-Raspberry-Pi-Python-Code/Adafruit?PWM_Servo_Driver/Ada
fruit_PWM_Servo_Driver.py", line 43
self.i2c = Adafruit_I2C(address.1)
SyntaxError: invalid syntax
と表示されサーボが動きませんでした。
すみません、ここまではどうしてもできるようにしたいのです。
ご指南よろしくお願いします。
投稿: mana | 2014年9月24日 (水) 22時39分
こんにちは、manaさん。
コードを見ると、”Adafruit_I2C(address,1)”が”Adafruit_I2C(address.1)”となっており、1の前の記号がカンマ(,)ではなくピリオド(.)になってます。カンマの方が正解ですね。
なお、この電子工作の行き着いた先は以下のねたです。
https://arkouji.cocolog-nifty.com/blog/2014/07/raspberry-pi-ab.html
私は電子工作、プラモデルが苦手なので、こんな出来になってしまいました。砲塔の動作が速すぎるので、もうちょっとプログラムも改良したいところでしたが、参考文献が英語ばかりで、この辺りが限界でした。このRaspberry Piに関する情報はまだまだ日本では少ないですね。
投稿: arkouji | 2014年9月25日 (木) 22時16分
こんにちは
お陰様で無事動きました。ありがとうございます。少し感激です。
まだ、なんでこのコマンドなんだろう?みたいな感じなので、これから少しずつ勉強しようと思います。
ありがとうございました。
投稿: mana | 2014年9月26日 (金) 21時45分
こんにちは、manaさん。
おめでとうございます。思い通り動かすにはまだまだ壁はありますけど、まずはハードが正常という確認ができただけでも大きな前進です。頑張ってください。
投稿: arkouji | 2014年9月27日 (土) 15時09分
こんにちわ。
pi@raspberrypi:~$ sudo python ./Servo_Example.py
File "./Servo_Example.py", line 14
pwm = PWM(0x40, debug=True)
^
IndentationError: unexpected indent
エラーが出てるのはわかるのですが、どのようなエラーかわかりません。
ご指摘お願いします
投稿: | 2014年10月 3日 (金) 14時59分
こんにちは、??さん。
このエラーの意味は、どうやら”インデントを空けろ”という意味だそうです。
http://aheadonestep.blogspot.jp/2008/03/python.html
pythonという言語の特徴で、for ~文ではインデントをつけないといけないようですね。
とりあえず、14行目の頭にスペースを入れてはどうでしょうか?
投稿: arkouji | 2014年10月 3日 (金) 22時05分
こんにちは。
14行目は↓が表示されており
# bmp = PWM(0x40, debug=True)
# bmp = PWM(0x40, debug=True)
としてみましたが、同様のエラーを吐きました。
何か改善策はないでしょうか・・・?よろしくお願いします。
投稿: | 2014年10月 6日 (月) 12時23分
こんにちは、??さん。
まず確認ですが、
http://raspuser.blog.fc2.com/blog-entry-8.html
の最初のほうにありますが、
sudo i2cdetect -y 1
というコマンドを入力すると、どうなるでしょう?
横の”40:”、縦”0”のところに”40”という数字が出てくるはずですが、これが表示されないと、何らかのトラブルが考えられます。
もしこのチェックがクリアできていれば・・・原因が分かりませんね。なんでしょう?
ただコメントの文章を見る限り、14行目の「# bmp = PWM(0x40, debug=True)」というのは、コメントアウトされている行ですんで、その下あたりにある「pwm = PWM(0x40, debug=True)」という文字列が14行目のような気がします。
このエラーを起こしている14行目を消して、改めて「pwm = PWM(0x40, debug=True)」と打ち直すとどうなるでしょうか?
過去の経験で、どういうわけかまれに見えない文字が入っていて、それが悪さすることがありました。この場合、行ごと消して、その行を打ち直すだけで直ります。なにかゴミが入っていることもありえますね。
投稿: arkouji | 2014年10月 6日 (月) 19時37分
こんにちは
sudo i2cdetect -y 1を実行した結果、以下のようになり表示されてると思います。
pi@raspberrypi:~$ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: 30 31 32 33 34 35 36 37 38 39 3a UU 3c 3d 3e 3f
40: 40 41 42 43 44 45 46 47 48 49 4a 4b UU UU 4e 4f
50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
70: 70 71 72 73 74 75 76 77
pwm = PWM(0x40, debug=True)を打ち直してみましたが、変わらず以下のエラーのままでした。
File "Servo_Example.py", line 14
pwm = PWM(0x40, debug=True)
^
IndentationError: unexpected indent
またスペースも明けてみましたが、駄目でした。何か解決に結びつく方法はないでしょうか?
質問してばかりで申し訳ございません。
投稿: | 2014年10月 7日 (火) 16時08分
こんにちは、??さん。
まずi2cdetectの実行結果ですが、すべてのアドレスに値が表示されてるというのがちょっと変ですね。
このコマンドでは、接続されてるアドレス以外はすべて"--"(ハイフン)が表示されるはずです。
PCA9685以外をRaspberry Piにつないでいないとすると、こんな風にはならないはずです。アドレス40のところに"40"と表示されるだけです。
上の"I2C有効化"は実行されましたでしょうか?あるいは、配線は正しいでしょうか?
お使いのRaspberry Piが256MB版(有線LANコネクターが付いてないRaspberry Pi)の場合は、配線の仕方などが変わります。
思いつくのはこれくらいでしょうか?
投稿: arkouji | 2014年10月 8日 (水) 05時28分
初めまして、質問したいことがありますのでここにコメントさせて頂きます。
git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.gitをインストールしようとすると、プロキシのせいでうまくインストールができません。
改善策を教えていただきたいです。
投稿: 田中政勝 | 2014年10月25日 (土) 22時04分
こんにちは、田中政勝さん。
プロキシサーバーのURL、ポートIDなどが分かれば、以下の記事を参考に使うことが出来るようです。
http://sushichop.blogspot.jp/2013/09/git.html
$ git config --global http.proxy http://proxy.example.com:8080
$ git config --global https.proxy http://proxy.example.com:8080
のように、プロキシサーバーとポートIDを設定すればいいみたいです。
(proxy.example.comがプロキシサーバーのURLで、8080というのがポートID。Windowsをお使いなら、コントロールパネルのインターネットオプション - 接続 に書かれているはずです)
投稿: arkouji | 2014年10月25日 (土) 22時18分
$ git config --global http.proxy http://proxy.example.com:8080
$ git config --global https.proxy http://proxy.example.com:8080
と打って見ましたが同様にエラーでインストールできませんでした。
上記の文を打ったことでエラーを出すまでの時間は短縮されたように感じました。
改善策を教えていただけないでしょうか?
投稿: 田中政勝 | 2014年10月26日 (日) 13時34分
git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
を何度も実行したのですが、サンプルコードが見当たらないです。
PACKファイルの中にあるのでしょうか?
投稿: 川﨑 | 2016年7月 8日 (金) 14時50分
こんにちは、川崎さん。
この記事中のコードのアドレスの最後の一文字がどういうわけか全角の”t”になってるらしく、このためこの記事のものをコピペするとうまくいかないようになってます。すいません。何度か直してるんですが・・・
https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
こちらのアドレスを使うといかがでしょうか?
投稿: arkouji | 2016年7月 8日 (金) 21時00分
コメントで全角文字になってますと書いても
質問される方は見ませんから、本文を修正した方が
早いです。
そに手の質問をする方は、コマンドラインの基本すら
知らない方ばかりなので、説明しても疲弊するだけです
投稿: mokekyo | 2016年7月10日 (日) 15時20分
こんにちは、mokekyoさん。
おっしゃる通りのことはすでに過去に何度もやってるんですが、どういうわけか記事を保存すると最後のtが何度やっても全角文字にされてしまうんです。結構困ってるんですよね。
ココログの仕様で何かバグがあると思うんですが、回避方法も見つからず、結局コメント欄で訂正するしかないのが現状です。
投稿: arkouji | 2016年7月10日 (日) 17時38分
既に対応を考えてらしたんですね、
失礼いたしました。
記述に特別な事があるようにも見えませんが
改行後に丁度ファイル名がくるようになっているので
gitコマンドの後にスペースを多めにいれて改行する
箇所を変更してみてはいかがでしょう。
他のosでも既に書き換えをされていたりするのでしょうから
ブラウザを変更してみるとかも良いかもしれません
既に実行済みの場合は、その程度かとデュすられても
仕方ありませぬ
投稿: mokekyo | 2016年7月10日 (日) 18時10分
早い返信ありがとうございます。
記事をこぴぺはしてなくて、コマンドからインストールは出来るのですがそのファイルの中に「Adafruit_PWM_Servo_Driver.py」が見当たらない状態です。
投稿: 川﨑 | 2016年7月12日 (火) 16時40分
個別に対応もいいですが時間がかかるので
回答をした部分を本文に追記してあげると
負担が少なくなるかもですね>arkoujiさん
質問からgitの設定が理解出来てない、
取得後フォルダができることが認識出来てない
のようなので、その辺りの説明を詳しくしてあげれば
いいかなと思います。
ここを見る人は他のページを参照するような事は
されないでしょう。したら、そんな質問されmせんし
投稿: mokekyo | 2016年7月13日 (水) 15時56分
こんにちは、川崎さん。
最近、アドレスが変わったようです。
上のコマンドでインストールすると「README.md」というのがあると思いますが、そこに書かれています。
今は
git clone https://github.com/adafruit/Adafruit_Python_PCA9685
とやると必要なドライバがダウンロードできて、
cd Adafruit_Python_PCA9685
sudo python setup.py install
でインストール開始。「examples」というディレクトリができるので、その中にある「simpletest.py」というのが「Adafruit_PWM_Servo_Driver.py」に相当するスクリプトのようです。
一度ご確認ください。
投稿: arkouji | 2016年7月13日 (水) 20時16分
初めまして。こちらのサイトを参考に複数制御に取り組んできたのですが、どうしてもこのエラーが発生して上手くいきません。どうか教えていただけないでしょうか。
エラー文です。
Traceback (most recent call last):
File "/root/Desktop/Adafruit_PWM_Servo_Driver/Servo_Example.py",
line 3, in
from Adafruit_PWM_Servo_Driver import PWM
File "/root/Desktop/Adafruit_PWM_Servo_Driver/Adafruit_PWM_Servo_Driver.py",
line 5, in
from Adafruit_I2C import Adafruit_I2C
File "/root/Desktop/Adafruit_PWM_Servo_Driver/Adafruit_I2C.py", line 34
except IOError, err:
^
SyntaxError: invalid syntax
投稿: KYOSHI | 2017年4月25日 (火) 17時41分
こんにちは、KYOSHIさん。
ググってみると、2通りの可能性があるようです。
一つはインデントのつけ方が悪い場合にこういうエラーが出ることがあるらしいですが・・・ただ、エラーを出しているのが元々のドライバーに含まれているコードなので、多分違うかなぁと。
もう一つは「except IOError,err:」のコードはPython 2用のコードらしいんですが、もしかしてPython 3で実行していないかということ。Python 3の場合は「except IOError as err:」という風に書くらしいです。
しかしいちいちドライバ側のコードを書き直すわけにいかないので、Python 3でPython 2のコードを使うために”six”というのを使う方法があるらしいです(未確認)
sudo pip install six
とした後に、プログラムコードへ
import six
と一行加えるといけるらしいとのこと。
あるいはPython 2.6あたりで実行するしかなさそうです。
今のところ、これくらいでしょうか?お試しください。
投稿: arkouji | 2017年4月25日 (火) 21時36分