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

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

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

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

Q&A

解決済

1回答

320閲覧

python3で関数に代入する数値に可変する値を使いたいです

calpis123

総合スコア15

Python 3.x

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

0グッド

0クリップ

投稿2018/10/30 13:01

編集2018/10/31 07:43

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()

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

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

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

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

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

otn

2018/10/30 13:42

「可変する」→「変化する」?
calpis123

2018/10/30 13:47

あ、ここなんて表現していいかわからなかったんですけど、代入されてる値を自分で自在にツマミを回して変えることが出来るようにしたいってことです!
guest

回答1

0

ベストアンサー

その値を読むときに関数を呼んで更新すればいいだけでしょう。

投稿2018/10/30 13:09

y_waiwai

総合スコア87719

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

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

calpis123

2018/10/30 13:49

ご回答ありがとうございます! そのやり方は考えられていなかったので助かりました。 やってみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問