arduinoから受信した数値データをpythonで再計算してarduinoに送り返す作業をしようと考えています.現在は,arduino⇔PC間をBluetoothで接続し,arduino→PCへprintln()のデータを送受信することが出来ました.
困っていることは,arduinoから受信した数値をfloatに変換してpythonで演算できないことです.
arduino側
1. 2. 3. 4void loop(){ 5 Serial1.println(2.53); 6} 7
python側
1with serial.Serial('COM7', 115200, timeout=0) as ser: 2 while True: 3 c = ser.readline() 4 val_decoded = repr(c.decode())[1:-5] 5 print(float(val_decoded)*6) 6
arduino側は単に2.53(値は適当)を送信しているだけです.
python側は2.53を受信し,それをfloatに変換して演算したいのですが,下記エラーが発生します.
error
1 print(float(val_decoded)) 2ValueError: could not convert string to float: ''
各変数の中身は以下の通りです.
print(c): b'2.53\r\n'
print(type(c)): <class 'bytes'>
print(val_decoded): 2.53
print(type(val_decoded)): <class 'str'>
strからfloat変換はfloat()をかませればいいと思っていたのですが,うまくいきません.調べてみたのですが見当がつかなかったので質問いたしました.
どうかご教授いただきたいです.
よろしくお願いいたします.
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/24 15:13