実現したいこと
Raspberrypi4 を使用しています。
一定時間HC-SR04で距離を測定したいです。
36,000秒の間、毎秒csvに時間と距離を記録
上記の動作を目的としております。
以下のプログラムを起動中、2時間程でエラーメッセージもなく動作しなくなりました。
数秒~1時間程度は問題なく動作するのですが、
2時間程度経つと何の表示もなく動かない状態になります。
原因と対策をご教授いただければ幸いです。
発生している問題・エラーメッセージ
エラーメッセージ
なし
該当のソースコード
import time import RPi.GPIO as GPIO import datetime import csv PIN_TRIG = 24 PIN_ECHO = 25 SPEED_OF_SOUND = 33145 def init_GPIO(): GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(PIN_TRIG, GPIO.OUT) GPIO.setup(PIN_ECHO, GPIO.IN) def calc_distance(): GPIO.output(PIN_TRIG, GPIO.LOW) time.sleep(0.5) GPIO.output(PIN_TRIG, True) time.sleep(0.5) GPIO.output(PIN_TRIG, False) while GPIO.input(PIN_ECHO) == 0: signaloff = time.time() while GPIO.input(PIN_ECHO) == 1: signalon = time.time() time_passed = signalon - signaloff distance = SPEED_OF_SOUND * time_passed / 2 return distance init_GPIO() for measure in range(32400): distance = f'{calc_distance():.3f}' today = datetime.date.today() today = str(today).replace('-','') with open(today + 'data.csv','a') as f: now = datetime.datetime.now() recordtime = '{0:%H:%M:%S}'.format(now) writer = csv.writer(f) writer.writerow([recordtime,distance]) f.close() print(recordtime,distance) GPIO.cleanup()
Python3
1 2### 補足情報(FW/ツールのバージョンなど) 3 4・Raspberrypi4 B 5・HC-SR04
