在我最近的項目中,我希望將數據從Arduino傳輸到Python。它已經完成了。如何將值存儲在來自arduino的列表(python)中?
在這裏,我的Arduino代碼:
float TPS_MIN = 0.00;
float TPS_MAX = 5.00;
float MAP_MIN = 0.85;
float MAP_MAX = 1.90;
float LOAD_MIN_TPS = 2.00;
float LOAD_MAX_TPS = 10.00;
float LOAD_MIN_MAP = 9.69;
float LOAD_MAX_MAP = 82.18;
float m1, m2;
float y1, y2;
float TPS[] = {0, 0.4, 0.8, 1.2, 1.6, 2, 2.4, 2.8, 3.2, 3.6, 4, 4.4, 4.8, 5};
float MAP[] = {0.85, 0.95, 1.05, 1.15, 1.25, 1.35, 1.45, 1.55, 1.65, 1.75, 1.85, 1.9};
int i;
int j;
void setup()
{
Serial.begin(9600);
}
void loop()
{
m1 = (LOAD_MAX_TPS - LOAD_MIN_TPS)/(TPS_MAX - TPS_MIN);
for(i = 0; i < 14; i++)
{
y1 = m1 * (TPS[i] - TPS_MIN) + LOAD_MIN_TPS;
Serial.println(y1);
}
m2 = (LOAD_MAX_MAP - LOAD_MIN_MAP)/(MAP_MAX - MAP_MIN);
for(j = 0; j < 12; j++)
{
y2 = m2 * (MAP[j] - MAP_MIN) + LOAD_MIN_MAP;
Serial.println(y2);
}
delay(10000000);
}
而且這是我的Python代碼:
import serial
arduino = serial.Serial('COM12', 9600, timeout = .1)
while True:
data = arduino.readline()
if data:
print data
和輸出(蟒蛇殼):
2.00
2.64
3.28
3.92
4.56
5.20
5.84
6.48
7.12
7.76
8.40
9.04
9.68
10.00
9.69
16.59
23.50
30.40
37.31
44.21
51.11
58.02
64.92
71.82
78.73
82.18
現在,我想將此值存儲在列表中。我不知道它是如何完成的。提出一些建議。
您應該提供**預期行爲的例子**,因爲我們無法讀懂您的想法。命題*「但所有數據存儲在一個變量中」*和* <<我如何區分不同數組中的所有數據>> *可以說是不明確的。你可以從這個'TPS = [] LOAD = [] ... TPS.append(data.split()[2])開始'LOAD.append(data.split()[5])' –
@PatrickTrentin好吧,讓我用另一個例子來解釋。 – Hasan
你改變了幾次你的輸出,因爲它現在你只有一個值的流..你想他們都在同一個數組? –