raspberry piから給電して
・近接センサ_LBR-127HLD
・ADコンバータ_MCP3208
を動かしています。
近接センサのエミッタ側からADコンバータの入力を得ています。
ひとまずちゃんとした出力になっているか、Thonnyで以下のコードを書いて試してみました。
物を近づけたり遠ざけたりすると0~1の間で出力が返ってくるのですが、
30秒程度経つとフリーズしてしまいctrl+cも利かなくなってしまいます。
ただし、raspberry pi自体が操作できない訳ではなく、Interruptのボタンを押すとエラーは出ますがちゃんと終了できます。
コードか配線が間違っているのでしょうか。教えていただけないでしょうか。
pyhton3
1from gpiozero import MCP3208 2import RPi.GPIO as GPIO 3import time 4 5while True: 6 time.sleep(1) 7 print(MCP3208(channel = 0).value)
<2019/12/12/17:31_追記>
どこでエラーが発生しているか確認するためにあちこちにprint文を入れました。
python3
1from gpiozero import MCP3208 2import RPi.GPIO as GPIO 3import time 4 5GPIO.setmode(GPIO.BCM) 6GPIO.setup(21,GPIO.OUT) 7 8while True: 9 time.sleep(1) 10 print(MCP3208(channel = 0).value) 11 if MCP3208(channel = 0).value > 0.01: 12 GPIO.output(21,GPIO.HIGH) 13 print('low') 14else: 15 print('error') 16 17GPIO.cleanup() 18print('not_true')
shellには以下のように少しだけ動いてからエラーがでました
python3
10.0006104260774020265 2low 30.0006104260774020265 4low 50.0006104260774020265 6low 70.0006104260774020265 8low 90.0023196190941277006 10low 110.004517152972774996 12low 130.0006104260774020265 14low 150.0059821755585398595 16low 170.015993163227933094 18high 190.015016481504089851 20high 210.0006104260774020265 22low 230.0006104260774020265 24low 250.0006104260774020265 26low 270.0006104260774020265 28low 290.0006104260774020265 30low 310.0006104260774020265
ここでフリーズしてしまったのでctrl+cを打つと、
python3
1Exception ignored in: <bound method SharedMixin.__del__ of SPI(closed)> 2Traceback (most recent call last): 3 File "/usr/lib/python3/dist-packages/gpiozero/mixins.py", line 137, in __del__ 4 super(SharedMixin, self).__del__() 5 File "/usr/lib/python3/dist-packages/gpiozero/devices.py", line 122, in __del__ 6 self.close() 7 File "/usr/lib/python3/dist-packages/gpiozero/devices.py", line 82, in close 8 old_close() 9 File "/usr/lib/python3/dist-packages/gpiozero/pins/local.py", line 102, in close 10 self.pin_factory.release_all(self) 11 File "/usr/lib/python3/dist-packages/gpiozero/pins/__init__.py", line 85, in release_all 12 with self._res_lock: 13 File "/usr/lib/python3/dist-packages/thonny/shared/thonny/backend.py", line 133, in signal_handler 14 raise KeyboardInterrupt("Execution interrupted") 15KeyboardInterrupt: Execution interrupted 16KeyboardInterrupt: Forced reset 17>>>
と表示されました。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/16 01:38
2019/12/16 03:01
2019/12/16 05:26
2019/12/17 00:35