tag:blogger.com,1999:blog-6785505128572129005.post3640228973542410521..comments2023-02-24T21:59:07.905+09:00Comments on カラー図解 最新 Raspberry Piで学ぶ電子工作 補足情報: 本書の補足情報(Pi Zero~Pi 4までの古い情報)Takashi Kanamaruhttp://www.blogger.com/profile/11364738618850170255noreply@blogger.comBlogger21125tag:blogger.com,1999:blog-6785505128572129005.post-40913936647148667852023-02-24T21:59:07.905+09:002023-02-24T21:59:07.905+09:00わかりました。ぜひそうしてみてください。今回の件は、かなりNET検索したのですが、どうしてもヒントが...わかりました。ぜひそうしてみてください。今回の件は、かなりNET検索したのですが、どうしてもヒントが見つからず苦労しましたが、幸いうまくいったのでレポートさせてもらった次第です。テラhttps://www.blogger.com/profile/08549770594574215847noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-11412412730177848132023-02-24T20:56:44.361+09:002023-02-24T20:56:44.361+09:00ありがとうございます。状況がよくわかりました。
この件に関して今すぐ何かを言うことはできませんが、...ありがとうございます。状況がよくわかりました。<br /><br />この件に関して今すぐ何かを言うことはできませんが、<br />今後、Raspberry Pi 4 やセンサを新規購入する際に<br />チェックしてみたいと思います。Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-15369182893082972002023-02-24T18:30:09.133+09:002023-02-24T18:30:09.133+09:00私は、表面実装パーツのハンダ付けは苦手なので、同じく秋月のモジュールを使っています。確かにこのモジュ...私は、表面実装パーツのハンダ付けは苦手なので、同じく秋月のモジュールを使っています。確かにこのモジュールには0.1μが基板に乗っていますね。再度、試してみましたがモジュールのPIN1とPIN4間(最短距離で)に1μを付けると、数字はピタット安定します。0.33μや0.47μではやや不安定さが残ります。CAPなしでは温度センサーとして使い物になりません。<br />補足ですが、3.3VをGPIOのPIN1から供給した場合とPIN17から供給した場合の差はありませんでした。以上の確認は、ブレットボードで行いました。ブレッドボートとGPIOの距離は7cmと20cmのフラットケーブルで試しましたが、この距離の影響もないようです。pi3では何の疑いのなく使えていた(16bit分解能でさえ)のですが、Pi4 にはなにか電源回路に弱点があるように思います。テラhttps://www.blogger.com/profile/08549770594574215847noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-25534750338974329552023-02-24T15:05:07.568+09:002023-02-24T15:05:07.568+09:00なるほど。やられていることのイメージが少し湧きました。
書籍では、下記の秋月電子のモジュールを使用...なるほど。やられていることのイメージが少し湧きました。<br /><br />書籍では、下記の秋月電子のモジュールを使用しています。<br /><br />https://akizukidenshi.com/catalog/g/gM-06675/<br /><br />このモジュールでは、下記PDFにあるように、<br />電源部に0.1μFのコンデンサが使われています。<br /><br />https://akizukidenshi.com/download/ds/akizuki/AE-ADT7410_aw.pdf<br /><br />このコンデンサの有無で、3と4で動作が異なる、<br />というイメージでしょうか?Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-63124614750521693362023-02-24T14:13:28.809+09:002023-02-24T14:13:28.809+09:00早速の回答ありがとうございます。私の7410の現象はPi4 だけで発生します。
Pi3B,Pi-ze...早速の回答ありがとうございます。私の7410の現象はPi4 だけで発生します。<br />Pi3B,Pi-zero, PI-zeroW ,Pi-zero2W では発生しません。2回以上、とっかえ、ひっかえテストし再現しますので、確認ミスではありません。<br />またブレッドボードではなくプリント基板ハンダ付け回路です。可能性としては、私がつい最近、秋月電子で入手した個体に何か問題があるのかもしれませんが、他のGPIOピンは正常に動作していますし、ADコンバータ(SPI接続)も正常です。パスコン1ケで解決した状態なので不良とまでは言い切れないかも知れません。<br />なお、一つだけテキストの回路と違う点があり、3.3V電源を1ピンではなく17ピンから取った事です。今となっては、なぜ17ピンから取ったのか、記憶にありません。ただこの違いに差があるようには思えません。<br />7410の表示数値はプラマイ5℃ほどバラツキますが、外部温度の変化は感じているようなので、ノイズの影響を考えました。念のためプルアップ抵抗3.3Kをつけましたが、効果はなかったですが、センサーの電源(至近)に1μのパスコンを付けたら見事に解決しました。最近ようやくPi4が出回るようになったので、私のように4日間ほど頭を悩ます人が出なけれな良いとの思いで投稿しました。<br /><br />なお、Pi3時代はBuster-OS Pi4ではBullseya-OSを使っていますが、7410のトラブルはOSをSWAPしても現象に変化はなく、どちらの場合も1μCAPが解決してくれました。私は今もRaspi 内部で3.3Vを作成する電源回路の差を疑っています。まあ<br />解決したので個人的には良い経験だったと思っています。I2CはパラレルGPIOやSPI通信と異なり多くのクロックパルスを使いますので、より電源品質に影響を受けやすいのかなと思っています。<br /><br />テラhttps://www.blogger.com/profile/08549770594574215847noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-76603722929447868662023-02-24T12:49:52.940+09:002023-02-24T12:49:52.940+09:00コメント頂きありがとうございます。
その内容に対して私の経験をもとにしたコメントを記します。
ラ...コメント頂きありがとうございます。<br /><br />その内容に対して私の経験をもとにしたコメントを記します。<br /><br />ラズベリーパイ3(以下「3」)からラズベリーパイ4(以下「4」)への<br />変更に関してです。<br />私の書籍に記した内容の範囲内では、3から4に変更することで<br />センサなどのハードウェアが動かなくなったことはありません。<br /><br />逆に、ソフトウェアやライブラリが3から4への変更で<br />動かなくなることは電子回路ではよくあることです。<br />しかし、それはソフトウェアやライブラリの変更で対応できることがほとんどです。<br /><br />以上を踏まえまして、テラさんの環境で起こっている可能性があることを想像し、<br />以下に記していきたいと思います。<br />なお、「OSインストール直後の状態」で実行することを想定しています。<br /><br />「4だけで起こりうるトラブル」と<br />「3と4の両方で起こりうるトラブル」<br />の2通りに分けて列挙していきます。<br /><br />・4だけで起こりうるトラブル(1)<br /><br />あまり頻繁に起こることではありませんが、<br />テラさんのお持ちの4にハードウェア不良があることはあり得ます。<br />私の場合、一度だけ HDMI 端子周りに不良があり、<br />4が正常動作しない経験をしたことがあります。<br /><br />・4だけで起こりうるトラブル(2)<br /><br />私は、3および4で書籍の全ての回路の動作検証をしていますが、<br />そこで使っている4は、約2年前に購入したものです。<br />最近の4の製造ロットで回路周りに何か変更があった、<br />ということは、(可能性は低いとは思いますが)ないとは言えません。<br /><br />さて、「4だけで起こりうるトラブル」の候補は以上で、<br />以下は、「3と4の両方で起こりうるトラブル」の可能性を記していきます。<br /><br />・3と4の両方で起こりうるトラブル(1)<br /><br />私が動作検証している温度センサADT7410 はやはり数年前に購入したものですが、<br />比較的新しいADT7410でトラブルがある、という可能性はないとは言えません。<br />以前、小型液晶で「製造ロットが変わったことでラズベリーパイで動かなくなった」<br />という経験をしたことがあります。<br />ただし、この場合、4だけではなく3でも動かなくなるでしょう。<br />(「3でも動かなくなる」ことに関しては以下同様です)<br /><br />・3と4の両方で起こりうるトラブル(2)<br /><br />ADT7410 は自分ではんだ付けをするキットですので、<br />その組み立てに問題があることはあり得ます。<br /><br />・3と4の両方で起こりうるトラブル(3)<br /><br />本書の場合、ブレッドボードとジャンパワイヤで回路を組むわけですが、<br />用いる GPIO を数え間違えて正しい回路ができていないことはあり得ます。<br /><br />・3と4の両方で起こりうるトラブル(4)<br /><br />ブレッドボードとジャンパワイヤで回路を組みますが、<br />ジャンパワイヤの品質が劣化し(内部で断線するなど)、<br />回路が正しく動かないことはあり得ます。<br />これは私は何度も経験しています。<br /><br />・3と4の両方で起こりうるトラブル(5)<br /><br />同様に、ブレッドボードの内部で何らかの劣化が起こり、<br />回路が正しく動かなくなることはあります。<br />これも私は何度か経験しています。<br /><br /><br />以上、思いつくトラブルを列挙してみました。<br /><br />もし3をお持ちなのでしたら、<br />3でも同じ回路を試してみると、<br />問題の切り分けになると思います。<br /><br />よろしくお願いします。<br />Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-9950831236860132332023-02-23T23:54:54.313+09:002023-02-23T23:54:54.313+09:00ここにコメントして良いのかどうか、自信がありませんが、ラズパイ本の最新版、ラズパイ4対応版に関して、...ここにコメントして良いのかどうか、自信がありませんが、ラズパイ本の最新版、ラズパイ4対応版に関して、一言、レポートさせてください。ラズパイ4はラズパイ3で解説されていた事は、全て応用できると思っていたのですが、温度センサー7410のプログラムで正しく動作しません。いろいろ頭を悩ませたのですが、プログラムではなく回路に問題がありました。結論から言うとラズパイ4でI2Cセンサーを使う場合、3.3V電源ラインにパスコンを入れないと誤動作する事がわかったのです。ですからテキストP164の回路だけでは動作しません。ラズパイ4は3より3.3Vラインの品質が良くないように思いました。テラhttps://www.blogger.com/profile/08549770594574215847noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-4944432633477473182019-11-03T22:01:09.380+09:002019-11-03T22:01:09.380+09:00金丸様
重ねて御礼申し上げます。今後もいろいろ勉強してみようと思います。金丸様<br />重ねて御礼申し上げます。今後もいろいろ勉強してみようと思います。Anonymoushttps://www.blogger.com/profile/10621142421513130475noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-88874628287656366252019-11-02T23:03:52.072+09:002019-11-02T23:03:52.072+09:00書籍については良く分かりません。
英語のサイトで良ければ、Adafruitという会社が作っている
...書籍については良く分かりません。<br /><br />英語のサイトで良ければ、Adafruitという会社が作っている<br />回路モジュールを購入すると、ライブラリとそのチュートリアルが<br />公開されているので、ご要望に近いかもしれません。<br /><br />例えば、私の<br />「実例で学ぶRaspberrry Pi電子工作」<br />という書籍で用いたサーボモータードライバーには<br />Arafruit自身による<br />チュートリアル<br />https://learn.adafruit.com/16-channel-pwm-servo-driver/python-circuitpython<br />とライブラリ<br />https://github.com/adafruit/Adafruit_CircuitPython_PCA9685<br />があります。<br />(私の書籍ではこのライブラリは使いませんでしたが)Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-13051997077198244212019-11-02T22:48:44.245+09:002019-11-02T22:48:44.245+09:00金丸様
度重なるアドバイスありがとうございました。
結局、(1)のカメラの接続でした。
これで、ほぼ...金丸様<br />度重なるアドバイスありがとうございました。<br />結局、(1)のカメラの接続でした。<br />これで、ほぼ本作の演習は終了しましたが、<br />今後、ラズパイ上でpythonを使っていろいろ勉強してみたいと思います。<br />それはpythonのプログラムそのものよりもライブラリから用途にあったモジュールを取り込み活用するといったことをより勉強したいのですが、それに合う書籍やムックあるいはwebがあれば教えていただけませんでしょうか?Anonymoushttps://www.blogger.com/profile/10621142421513130475noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-36353916171343696392019-11-02T22:06:42.113+09:002019-11-02T22:06:42.113+09:00mjpg-streamerによる映像が表示されるためには、下記の条件が満たされている必要があります。...mjpg-streamerによる映像が表示されるためには、下記の条件が満たされている必要があります。<br /><br />(1) カメラが正しく接続されていること<br />(2) カメラが有効に設定されていること<br />(3) mjpg-streamerが正しくインストールされていること<br />(4) mjpg-streamerが起動されていること<br />(5) 適切なPCやスマートフォンなどのブラウザからmjpg-streamerにアクセスしていること<br />(6) ブラウザから適切なアドレスにアクセスされていること<br /><br />それぞれが正しく実行されているか確認するためのチェック項目は下記のようになります。<br /><br />(1') 金属が露出した端子面がmicroSDカード側を向いて接続されており、<br /> コネクタが適切に押し込まれていることを確認してください。<br /><br />(2') デスクトップのメニューから「設定」→「Raspberry Piの設定」→「インターフェイス」→「カメラ」が<br /> 「有効」になっていることを確認してください。<br /><br />(3') 補足ページ「p.290:mjpg-streamerのインストールコマンド」に掲載したのコマンドを<br /> 正しく(コピーするなどして)実行したことを確認してください。<br /> /opt/mjpg-streamer/mjpg_streamer というファイルが存在すれば大抵は問題ないでしょう。<br /> 一つ目の「mjpg-streamer」はディレクトリ名、二つ目の「mjpg-streamer」はファイル名です。<br /> 二つ目の「mjpg-streamer」が存在しなければインストールに失敗しています。<br /><br />(4') mjpg-streamerの起動法は下記の2通りあります。<br /> (a) ターミナルで「sh 10-02-stream.sh」を実行する<br /> (b) /etc/rc.local に記述して自動起動する<br /> まずは(a)の手動での起動が成功するか確認しましょう。<br /> mjpg-streamerは起動済みだと思ったら、<br /> ターミナルで「ps ax | grep mjpg」実行してそれを確認してみましょう。<br /> 下記のように表示されれば起動に成功しています。細かな数字は人によって異なります。<br /> <br /> 2393 pts/0 Sl 0:00 /opt/mjpg-streamer/mjpg_streamer -i input_raspicam.so <br /> -fps 15 -q 50 -x 640 -y 480 -o output_http.so -p 9000 -w /opt/mjpg-streamer/www<br /> 2545 pts/0 S+ 0:00 grep --color=auto mjpg<br /> <br /> 一方、下記のような表示しかなければ起動に失敗しています。ここまでの内容を見直す必要があります。<br /> <br /> 2545 pts/0 S+ 0:00 grep --color=auto mjpg<br /><br />(5')「適切なPCやスマートフォンなど」とは、本書図9-1に記されているように、<br /> Raspberry Piと同じネットワークに属しているPCやスマートフォンのことです。<br /> 自信がなければ、Raspberry PiのChromiumブラウザからアクセスするのが簡単で確実ですので、<br /> まずはRaspberry PiのChromiumブラウザからのアクセスに成功することを目指しましょう。<br /> なお、「スマホからアクセス」というのが気になりましたが、スマホは本書図9-1のようにWifiで<br /> Raspberry Piと同じネットワークに続している必要があります。<br /><br />(6') 図10-8のテスト用画面を確認するためにブラウザに記すアドレスは http://xxx.xxx.xxx.xxx:9000/ です。<br /> もちろん、「xxx.xxx.xxx.xxx」の部分はRaspberry Piに割り当てられているIPアドレスで読み替える必要があります。Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-45265450632915579472019-11-02T11:00:35.136+09:002019-11-02T11:00:35.136+09:00金丸様
また質問があります。演習10.4の動作確認ができません。
:9000/にスマホからアクセ...金丸様<br /><br />また質問があります。演習10.4の動作確認ができません。<br /><br />:9000/にスマホからアクセスすると「このサイトにアクセスできません」と表示されます。<br /><br />mjpg-streamerのインストールがうまくできていないと思われるため<br />このページのご説明の通り、<br />(1) sudo rm -rf /opt/mjpg-streamer<br />(2) rm -rf mjpg-streamer<br />を実行したうえで再度インストールしておりますが同様の結果です。<br /><br />インストール後、ファイルマネージャーでopt/mjpg-streamer<br />のフォルダーを覗くとmjpg-streamer関連の一連のファイルが格納<br />されているのは確認しました。<br /><br />また、rc.localへの10-02-stream.shについての追記は実施済みです。<br /><br />ご教示お願い致します。<br />Anonymoushttps://www.blogger.com/profile/10621142421513130475noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-1225988355231512582019-10-04T22:46:02.836+09:002019-10-04T22:46:02.836+09:00金丸様 無事に実行できました。ありがとうございました。金丸様 無事に実行できました。ありがとうございました。Anonymoushttps://www.blogger.com/profile/10621142421513130475noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-74830050242581043972019-10-02T23:56:02.176+09:002019-10-02T23:56:02.176+09:00恐らく旧版(白黒版)のサポートページから古いサンプルファイル(raspi-sample.zip)をダ...恐らく旧版(白黒版)のサポートページから古いサンプルファイル(raspi-sample.zip)をダウンロードされたのでしょう。<br /><br />以下のページから、新版(カラー版)用のサンプルファイル(raspi1-sample.zip)をダウンロードし、ファイルを展開しなおしてください。<br />http://bluebacks.kodansha.co.jp/books/9784062579773/appendix/<br /><br />ダウンロードしたファイルの名前に数字の「1」が含まれる方が新しいファイルです。<br /><br />なお、ダウンロードしたファイルを展開して出てくるファイルの名前は旧版、新版で共通となっています。<br /><br />ですから、今お手元にある旧版のサンプルファイル、すなわち名前が<br />01~10から始まるファイルおよびフォルダ、およびtest.mp3<br />を全て削除してから新版のファイルを展開するのが安全です。Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-32776806171339667942019-10-02T21:47:21.532+09:002019-10-02T21:47:21.532+09:0050の手習いで最近ラズパイ3を購入、金丸様の本で楽しんでいます。
さて質問がございます。8.6.2...50の手習いで最近ラズパイ3を購入、金丸様の本で楽しんでいます。<br /><br />さて質問がございます。8.6.2の演習で08-04-servo.pyを走らせると下記の通りのエラーとなります。WiringPiのインストールもこの補足に従い、管理者権限で実行しているつもりですが同様のエラーとなります。<br />考えられる原因をご教示いただけませんでしょうか?<br /><br />Traceback (most recent call last):<br /> File "/home/pi/08-04-servo.py", line 4, in <br /> import wiringPi2 as wiringPi<br /> File "/usr/lib/python3/dist-packages/thonny/backend.py", line 305, in _custom_import<br /> module = self._original_import(*args, **kw)<br />ModuleNotFoundError: No module named 'wiringPi2'Anonymoushttps://www.blogger.com/profile/10621142421513130475noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-68838706206617087512019-07-21T11:41:59.262+09:002019-07-21T11:41:59.262+09:00>もし、SG90をRaspberry Piから取り外した状態でも
>パルス幅が安定しない...>もし、SG90をRaspberry Piから取り外した状態でも<br />>パルス幅が安定しないのならば、Raspberry Pi側の<br />>問題であると思います。<br /><br />SG90の信号線を外してラズベリーパイのPWM波形を確認<br />してみたところ、正しい波形が出力され、当該SG90を接続<br />すると波形が先に申し上げてようにおかしくなりました。<br />どうやら先生のご推測の通り、SG90が破損していて、PWM<br />波形がSG90の負荷により乱れていたようです。予備のSG90<br />を接続してみたところ波形の乱れはなく、正常に動作しま<br />した。ありがとうございました。<br /><br /><br />勉強方法について、おっしゃる通り誰かが書いた<br />プログラムを理解したり、それを可能な範囲で改変して<br />みたりするのがよさそうですね。私事ですが現在30代半ば<br />で組み込みエンジニアへの未経験転職を検討しており焦って<br />効率のよい方法がないかお伺いしてしまいました。やはり<br />最終的には独学で一歩一歩前進ですね、ありがとうございます。<br /><br />蛇足ですが10章のキャタピラ模型完成しました、説明通り<br />に作っただけとはいえ、マイコンでこんな物が作れるという<br />のは感動しました。引き続きテキストのソース理解や改変を<br />して精進します。ありがとうございました。bov3https://www.blogger.com/profile/01260367823064615352noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-91956688135941879522019-07-19T15:07:53.457+09:002019-07-19T15:07:53.457+09:00そういえば、もう一つ気になったのですが、
> パルス幅が2.4msと2.0msを交互に繰り返...そういえば、もう一つ気になったのですが、<br /><br />> パルス幅が2.4msと2.0msを交互に繰り返していました。<br /><br />や<br /><br />> オシロで見るとパルス幅1.45msと2msを交互に繰り返していました。<br /><br />は、Raspberry PiにSG90を接続した状態で観測したのでしょうか?<br /><br />もし、SG90をRaspberry Piから取り外した状態でも<br />パルス幅が安定しないのならば、Raspberry Pi側の問題であると思います。Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-32564890686039306172019-07-19T14:47:21.025+09:002019-07-19T14:47:21.025+09:00まずはサーボモーターについてのご質問から。
個人的な意見ですが、SG90は値段が安い(400円)か...まずはサーボモーターについてのご質問から。<br /><br />個人的な意見ですが、SG90は値段が安い(400円)かわりに<br />品質を犠牲にしているところがありますので、<br />トラブルが起こりやすいパーツだと思います。<br /><br />例えば、私は以前amazonでSG90の10個セットを複数回購入しましたが、<br />1個か2個は不良品が含まれており、捨てざるを得ませんでした。<br /><br />また、長期運用をしているとすぐに壊れて交換する必要がある、<br />という評判も耳にします。<br /><br />ではなぜSG90を使うかというと、<br />一個あたり数千円する高品質なサーボモーターを<br />使った演習をするのはハードルが高くなるためです。<br />そのため、多くの書籍・Webサイトでは<br />SG90を学習用として紹介しています。<br /><br />書籍ではこのことを<br />「壊れやすいが安価な商品を学習用に使い倒す、<br />くらいの気持ちで利用する」<br />と表現しました。<br /><br />さて、以上を踏まえてコメントです。<br /><br />>41行目 servo_minを36→26<br />>42行目 servo_maxを102→122<br /><br />この変更については問題ないと思います。<br /><br />私の手元にある複数個のSG90で試したところ、<br />どのSG90でも稼働範囲は約180度に広がりました。<br /><br />ただし、個体差はあり、いくつかのSG90では、<br />-90度または90度に大きく動かしたとき<br />モーターがビリビリと震える現象が見られました。<br />ですので、あまり大きな角度へと動かさない方が<br />SG90は安定であると考えられます。<br /><br />なお、「モーターがビリビリと震える現象」が<br />見られたとき、PWM信号をオシロスコープで<br />確認したところ、波形は安定なままでした。<br />ですから、私の場合の「モーターがビリビリと震える現象」は<br />モーター内部の機械的な問題と考えられます。<br /><br />ご質問で気になったのですが、<br /><br />> 結果、回転角度は前より広がった気がするのですが、サーボモータの角度<br />> が小刻みに震える現象が発生してしまいました。<br />> (中略)<br />> wiringpi.pwmWrite(18, 74)<br />> (中略)<br />> 結果wiringpiのPWM出力メソッドだけでも小刻み現象が改善されず、<br /><br />上記の「小刻みに震える現象」は<br />サーボモータを(-90度や90度だけではなく)どの角度に<br />セットしても震えるようになった、ということでしょうか?<br /><br />もしそうだとして、さまざまな現象があり得るので断定はできませんが、<br />SG90が壊れた可能性もあるのでは、と思います。<br /><br />といいますのも、私がSG90をamazonで10個単位で購入した際、<br />「壊れている」と判断して捨てていたSG90も、<br />「何をしてもSG90が震えている」という状態だったからです。<br /><br />ただ、新たにSG90を買いなおすのはお金のかかることですので、<br />私としては「壊れている」と断定はできませんことをご了承ください。<br /><br />また、他の可能性として、<br />「実例で学ぶRaspberry Pi電子工作」<br />https://raspibb2.blogspot.com/2015/12/blog-post.html<br />「p.296:6脚ロボットの安定性について」に記してあるように、<br />モーター用乾電池の本数を3本にして電圧を下げた場合にSG90が安定する<br />可能性がないとは言えません。<br /><br />ただし、この場合も乾電池3本用電池ボックスが必要になり、<br />お金がかかってしまいますので、ご判断はお任せします。<br /><br />次に、学習方法についてです。<br />こちらはなかなか難しい質問です。<br /><br />プログラミングの知識はもちろん必要なのですが、<br />電子工作をする際には他にも必要な知識があります。<br /><br />個人的には、「数値の10進数、2進数、16進数の相互変換」の知識は<br />必須ではないかと思っています。<br /><br />例えば、旧書籍の下記ページのコメント欄の末尾で、<br />https://raspibb.blogspot.com/2014/11/raspberry-pi.html<br />私と読者の方がLCD(AQM0802)へ与える命令について<br />データシートをもとに議論していますが、その議論を理解するには<br />2進数と16進数の相互変換の知識が不可欠です。<br />(なお、上記のLCDのデータシートは下記で入手可能です。<br />http://akizukidenshi.com/catalog/g/gP-06669/<br />)<br /><br />他には、データシートを参考にゼロからプログラムを書くのは<br />難しいので、誰かが書いたプログラムを理解することから始めるのが<br />良いと思います。<br /><br />例えば、Adafuit製センサなどを買うと、公式サイト(英語)に<br />チュートリアルやサンプルがありますので、<br />それらの動くサンプルをもとに勉強する、というのは良いと思います。<br />例えば<br />https://learn.adafruit.com/adafruit-16-channel-pwm-servo-hat-for-raspberry-pi/using-the-python-library<br />では、サーボモータを動かすためのボードの使用法やプログラムが解説されています。<br /><br />ここまで書いてから気が付いたのですが、<br />「独学以外で」と記されていましたね。<br /><br />コミュニティ活動など活発にされている方もいると思いますが、<br />最終的には個人の力(=独学)になるのでは、と個人的には思っています。<br />(ただし、この点は人によって意見が異なるでしょう)<br />Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-13577393657531307802019-07-18T23:48:17.180+09:002019-07-18T23:48:17.180+09:00最近RaspberryPiを購入し、金丸様の著書で楽しく勉強させて頂いており
ありがとうございます。...最近RaspberryPiを購入し、金丸様の著書で楽しく勉強させて頂いており<br />ありがとうございます。質問が2点ございます。<br /><br />■1.P210 8.6.2 サーボモータの角度制御について<br />サーボモータはSG90を使ったのでサポートページのサンプルソース<br />08-04-sevo.pyで動作する事を確認しましたが、回転角が180°ではなく<br />160°くらいしか回転しませんでした。<br /><br />SG90のデータシートをみると、0°でDuty比7.25%(1.45ms)、+90°で<br />12%(2.4ms)、-90°で2.5%(0.5ms)とあったので、08-04-servo.pyの<br />修正を下記の通りしました。<br /><br /><変更点><br />41行目 servo_minを36→26<br />42行目 servo_maxを102→122<br /><br />結果、回転角度は前より広がった気がするのですが、サーボモータの角度<br />が小刻みに震える現象が発生してしまいました。<br /><br />PWM波形をUSBオシロスコープで見たところ、例えば+90°の位置の場合<br />パルス幅が2.4msと2.0msを交互に繰り返していました。<br /><br />原因切り分けのために、servo_duty_hwpwm関数を使わず、メイン処理の<br />while文に0°となるPWM波形出力コマンドのみで下記のよう実行しました。<br /><br /><メイン処理部><br />while True:<br />wiringpi.pwmWrite(18, 74) ※7.25ms/100*1024<br />sleep(0.2)<br /><br />結果wiringpiのPWM出力メソッドだけでも小刻み現象が改善されず、<br />オシロで見るとパルス幅1.45msと2msを交互に繰り返していました。<br />解決策があればご教示頂けないでしょうか?<br /><br />ちなみに動作環境はRaspberry Pi 3B+、NOOBS Lite V3.1、<br />Thony Python IDEです。<br /><br /><br />■2.組み込みプログラムの勉強の仕方について<br />本書内のreadadc、setup_7032、read_adt7410などのオリジナル関数<br />ですが、コードを眺めてやっている事は何となく分かります。<br />が、自作や修正はできません。初学者に最初は必要ないと本にも<br />ありましたが、ADT7410を13bitではなく16bitで読み取ったり、<br />8x2LCDの上部アイコンを表示させたりなどなど、色々やってみたい<br />事はあるのですがデータシートを見たり、WEB検索しても難しくてやり方が<br />分からずもどかしい思いをしています。本書の関数変更からやってみようと<br />思ってますがちょっと今はハードルが高そうで挫折しそうです。<br /><br />レベルの低い質問で恐縮ですが、独学以外で組み込みSWはどういう<br />勉強をしていけばスキルアップができるでしょうか?<br />(セミナーや本、コミュニティ、メンターを探す、とりあえず難しい<br /> 事はスキップしてできる演習の量をこなすなど)bov3https://www.blogger.com/profile/01260367823064615352noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-16105180851369746502018-04-14T10:09:36.860+09:002018-04-14T10:09:36.860+09:00行って頂いたインストール作業により、SDカードにはOSであるRaspbianが書き込まれた状態になっ...行って頂いたインストール作業により、SDカードにはOSであるRaspbianが書き込まれた状態になっています。ですから、Raspberry Piを使う場合は常にOSインストール済のSDカードを取り付けておく必要があります。<br /><br />SDカードを取り付けずにRaspberry Piの電源を入れると、おっしゃる通り、ディスプレイには何も表示されません。これは、Raspberry PiにOSが存在しないためです。この場合、そのまま電源を取り外してください。<br /><br />また、Raspberry PiにSDカードを抜き差しする場合は、行って頂いたように、Raspberry Piから電源を取り外した状態で行う必要があります。<br /><br />さて、「再度SDカードへの書き込みからやり直したほうが良い」かどうかです。<br /><br />一度そのSDカードでOSは起動したようですので、そのOSインストール済SDカードをさした状態でRaspberry Piに電源を入れれば、何かは表示されるのではないでしょうか?(虹色の四角形であるとか、縦にスクロールする文字列など)<br /><br />何も表示されない場合、SDカードを取り付けていないのと同じ状態、すなわちSDカードが認識されていない状態に思えます。また、OSがインストールされていない空のSDカードを取り付けても、やはりディスプレイには何も表示されないでしょう。<br /><br />OSインストール済SDカードを取り付けた状態でOSが起動したならば問題ありません。<br />しかし、何かが表示されたもののそれが途中で止まってしまった場合、SDカードにOSを再インストールする必要があることが多いです。その場合、一度「SDメモリカードフォーマッター」という無料ソフトでSDカードをフォーマットしてからでないとOSの再インストールはできませんのでご注意ください(書籍にも補足ページに記述があります)。<br /><br />さらに、私は最近経験していませんが、Raspberry Piと相性の悪いSDカードが存在するそうです。OSの起動が途中で止まるようなケースがある場合、異なるメーカーのSDカードを試した方が良いのですが、今回の場合に該当するかはわかりません。<br /><br />以上、お試しください。Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6785505128572129005.post-72765677169835432602018-04-14T07:44:40.168+09:002018-04-14T07:44:40.168+09:00ラズベリーパイ初心者です
本書の手順に従って、2.4.9の電源を切る方法まで進め、電源を切ったあと、...ラズベリーパイ初心者です<br />本書の手順に従って、2.4.9の電源を切る方法まで進め、電源を切ったあと、SDカードを本体から取り外しました。再びラズベリーパイが起動するか確認のため、SDカードを取付ないまま、電源を本体に差し込みましたが、ディスプレイには何も表示されませんでした。そこで電源を外して、今度はSDカードをを取り付けた状態で電源を入れましたが、ディスプレイには何も表示されませんでした。2度目に起動するときはもうセットアップに使用したSDカードは不要なのでしょうか?それとも、SDカードは本体に取り付けたままにするのでしょうか?<br />また、現状、再度SDカードへの書き込みからやり直したほうが良いのでしょうか?是非ともご教示ください。使用機種はPI3Bです。<br />よろしくお願いします。tomohttps://www.blogger.com/profile/08125249532426527802noreply@blogger.com