関係者殿
yama286です
『最新RaspberryPiで学ぶ電子工作』金丸隆志著(講談社)
1.いきさつ
年明けより上記本で勉強している初心者です。
1~7章は実機でうまくいきました。8章のLEDのPWM制御もうまくいきました。
8.5のPWM信号によるDCモータの速度制御もうまくいきました。
ところが8.6のサーボモータの角度制御 08-04-servo.py を実行すると
で下記エラーが出てうまくいきません。
ImportError:No module named 'wiringpi'
2.内容
画像の貼り付け方がまだわかりませんので詳細を書きします。以下はTH Thonnyの画面の一部です。
------------------------------------------------------------------
1)プログラム
行番は左の数字です
1 # -- coding: utf-8 --
2 import RPi.GPIO as GPIO
3 from time import sleep
4 import wiringpi
5
6
7 # MCP3208からSPI通信で12ビットのデジタル値を取得。0から7の8チャンネル使用可
8 def readadc(adcnum, clockpin, mosipin, misopin, cspin):
9 if adcnum > 7 or adcnum < 0:
10 return -1
11 GPIO.output(cspin, GPIO.HIGH)
12 GPIO.output(clockpin, GPIO.LOW)
13 GPIO.output(cspin, GPIO.LOW)
14
15 commandout = adcnum
16 commandout |= 0x18 # スタートビット+シングルエンドビット
17 commandout <<= 3 # LSBから8ビット目を送信するようにする
中間省略
81 GPIO.cleanup()
2)Shell メッセージ
%Run 08-04-servo.py
Traceback (most recent call last):
File "/home/pi/bluebacks/08-04-servo.py", line 4, in <module>
import wiringpi
File "/usr/lib/python3/dist-packages/thonny/backend.py", line 317, in _custom_import
module = self._original_import(*args, **kw)
ImportError: No module named 'wiringpi'
3)Assistant メッセージ
ImportError: No module named 'wiringpi'
backend.py, line 317
No specific suggestions for this error (yet).
Let Thonny developers know
Search the web
上記2)Shell メッセージ及び3)Assistant メッセージに示すように
No module named 'wiringpi'
というエラーメッセージが出てしまいます。
3.疑問点1
冒頭にも書きましたが、8章のLEDのPWM制御もうまくいきました。ここでは
RPi.GPIOを利用しています。今回の8.6のサーボモータの角度制御から
wiringPiを使用しています。プログラムを動かす前にターミナルで9行のコマンド を入れました。
しかしswig2.0コマンドが見つかりません
というものが出てうまくいきません。市販の本の通りにやってもなぜうまくいかな いのかわかりません。
ただ初心者ですので、何かミスをしているのかもしれません。
4.試したこと
1)webでいろいろ調べてやっているうちに、3.で示した”swig2.0コマンドが見つか
りません”は出なくなりました。
2)wiringpi_wrap.cというファイルに原因があります。という記事があり下記のよ うにviエディタで修正しました。下記行を追加しました。
#define PyString_FromStringAndSize(x,len)PyUnicode_FromStringAndSize(x,len)
3)その後 import wiringpi2 を実行することになっていたので、実行するとエ ラーは出ませんでした。
4)wiringPiのコマンドラインテストを実施
gpio -g mode 18 out
gpio -g write 18 1 LED 点灯
gpio -g write 18 0 LED 消灯
以上のようにgpioコマンドは正常の動作していると思われます。
5.疑問点2
その後、問題の08-04-servo.py を実行するとNo module named 'wiringpi'が出 てしまいます。
上記4-4)のgpioの出力制御はうまくいっているのに、なんで上記エラーが出るの でしょうか?
6.依頼事項
まだどこか抜けているところがあると思います。
以上よろしくご教授お願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/08 11:39
2019/04/08 16:23
2019/04/09 05:43
2019/04/09 07:31
2019/04/13 00:54