質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Q&A

解決済

1回答

1924閲覧

LEDとカメラを同期させて撮影する

monzya1

総合スコア11

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

0グッド

0クリップ

投稿2019/06/06 10:59

質問です。RaspberrypiでLEDをPWM制御して点灯させ、タイミングを合わせてカメラで撮影しようとしているのですがタイミングが合わず点灯したタイミングで撮影できません。

もっと良い手段はあるでしょうか

python3

1import time 2import picamera 3import RPi.GPIO as GPIO 4import pigpio 5 6GPIO.setmode(GPIO.BCM) 7GPIO.setup(18,GPIO.OUT) 8 9gpio_pin0 = 18 10pi = pigpio.pi() 11with picamera.PiCamera() as camera: 12 camera.resolution = (640,480) 13 camera.shutter_speed = 800000#us 14 camera.start_preview() 15 pi.set_mode(gpio_pin0,pigpio.OUTPUT) 16 #周波数1Hz,duty比0.2 17 pi.hardware_PWM(gpio_pin0,1,200000) 18 time.sleep(3) 19 camera.capture('/home/pi/cameradata/image.jpg') 20 time.sleep(1) 21 pi.set_mode(gpio_pin0,pigpio.INPUT) 22 pi.stop() 23 camera.stop_preview() 24 25GPIO.cleanup()

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2019/06/07 08:26 編集

既にベストアンサーが選ばれているのですが、monzya1さんが何をしたかったのかを教えてもらえませんか?LEDに接続されていると思われる端子(gpio_pin0)のhardware_PWMの設定は、周期1秒、デューティー比20%となっていますから。LEDは200ms間光って、800ms間消えている、を繰り返すのでしょう。やりたかった「タイミングを合わせてカメラで撮影」というのは、1秒ごと(LEDが光っている200msの間)に撮影するというものなのですか?
guest

回答1

0

ベストアンサー

普通はカメラに合わせてLEDが点灯するようにハード的に処理するものだと思います。ソフトで、しかもLinuxのRaspberryPiで、さらにインタプリタ処理のPythonでは、ちゃんとした同期は期待できないのではないでしょうか。

投稿2019/06/06 11:40

thkana

総合スコア7610

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

monzya1

2019/06/06 11:43

つまりRaspberryPi上でLEDを動作させて同期させるよりも他のハードを用いて同期させたほうが良いということでしょうか?勉強不足で申し訳ありません
thkana

2019/06/06 11:48

私がRaspberryPiを極めていないだけかも知れませんが、私だったらこの件ではハード的に同期をとることしか考えない(ソフト的な処理は眼中にない)です。 スケジュール管理を完全に支配出来る状況のマイコンで(つまりLinuxではなく)、割り込みを使って...とかならなんとかなるのかも知れません。
monzya1

2019/06/06 11:52

なるほど、ハード的に同期をとるというのは具体的にどのような手段があるのでしょうか?また、スケジュール管理を完全に支配出来る状況のマイコンというのは市販で買える程度のものであるでしょうか?質問が多くて申し訳ありません
thkana

2019/06/06 12:12

> 具体的にどのような手段があるのでしょうか? 汎用ICをかき集めて回路を組むとか、使えるならCPLDとかFPGAとか。 カメラ側がどういう画像のとり方をしているかにLEDの点け方も合わせないといけないこともあるでしょう(画面の上半分だけ明るい、とかになったりしないよう)。 マイコンは、いわゆるマイコンをベアメタルで(あるいはRTOSで)使えばスケジュールを支配できると言うか全部面倒みなきゃいけないというか、そういうことになります。そんな複雑な仕事じゃなければ、100円クラスのマイコンでもそこそこなんとかなるかも知れません。ちゃんと設計してみないとなんとも言えませんが。
monzya1

2019/06/06 12:14

ご丁寧にありがとうございます。勉強してできるように努力します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問