Arduinoとラズベリーパイ3をUSBで接続しています。Arduino側からはポテンショメーターからの電圧の変化をデジタル化した数値がただ垂れ流しになっているところをラズベリーパイ側で拾ってその数値をPythonで関数を定義した時に代入して使いたいと思っています。
そこで、ポテンショメーターのツマミを回すことで数値が変わるのをリアルタイムで関数に代入している所に反映させてみたいのですがそういったことは出来るのでしょうか?
現在はプログラムを走らせた瞬間に最初に取得された値のみが関数に代入されて使われる形になっており以降ツマミを回して値を変えても反映されることは無いです。
どういった形でプログラムを書けば代入する値が可変するようになりますか?
以下が自作してみたコードです
import RPi.GPIO as GPIO
import serial
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(14, GPIO.OUT)
GPIO.setup(15, GPIO.OUT)
GPIO.setup(18, GPIO.OUT)
p = GPIO.PWM(18, 1)
Hz = 500
ser = serial.Serial('/dev/ttyACM0', 9600, timeout = None)
line = ser.readline()
num = (int(line.strip().decode('utf-8')))
p.start(int(num/10))
while True:
p.ChangeDutyCycle(int(num/10))
p.ChangeFrequency(Hz)
time.sleep(0.001)
GPIO.output(14, True)
GPIO.output(15, False)
time.sleep(0.001)
ser.close()
GPIO.cleanup()
回答1件
あなたの回答
tips
プレビュー