前提・実現したいこと
python→arduinoのシリアル通信で値を送り、arduino側で処理をしたいです。
現状、pythonからは
ser.write((str(0)).encode('ascii')) ser.write((str(X)+'\n').encode('ascii')) #Xはint型の数値
と送っています。
arduinoでは、このプログラムだとシリアルモニタに値が表示されますが、
void loop() { if (Serial.available() > 0 ) { int data = (int) Serial.read(); Serial.write(data); } }
このように、計算してから表示しようとすると、文字化けします。
void loop() { if (Serial.available() > 0 ) { int data = (int) Serial.read(); int X = data * 6 ; Serial.write(X); } }
また、
int data = (int) Serial.read(); if (data == 0) 以下Lチカのプログラム
と書いてみたら、0を送っているのに、if文が実行されませんでした。
文字として送信しても、受信するときにintを付けておけば、勝手に数字になるのかと思っていましたが、多分違うようで...
受信したものを数字として扱う方法(≒計算が出来るようになる方法)を教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。