2016-03-29 29 views
-1

誰かがこのarduinoコードをPythonコードに翻訳するのを助けてくれますか?arduinoからpythonにコードを変換

#define BUFFLEN 3 

byte buffer[] = { 0x05, 0x0D, 0x02, 0xFF, 0x10, 0xAA } 

for (byte i=0; i < BUFFLEN; i++) { 
    val = analogRead(A0); 
    val = constrain(val,0,1023); 
    buffer[i*2] = (byte)(i<<2) | highByte(val); 
    buffer[i*2+1] = lowByte(val); 
} 

おかげ

+0

アイデアのどの部分をaあなたはPythonで表現する方法を不明ですか? – 6c1

+0

@ 6c1タイプ0x00のバイト配列の作り方、バイト配列のすべての単一のインデックスに対処する方法、整数変数(val)の高低を得る方法を知らない – codeforge

答えて

0

次のコードはどうしたら、その場合のpythonを使用してデータを処理し、その後、シリアルポートを介してデータをキャプチャするpyserialライブラリを使用することができます。

import serial 
import struct 

ser = serial.Serial('COM6',9600) #put the port number and the communication rate 


BUFFLEN = 3 #constant 

buffer = [ 0x05, 0x0D, 0x02, 0xFF, 0x10, 0xAA ] #array 

i=0 #initialize control variable 

def clamp(n, minn, maxn): 
    return max(min(maxn, n), minn) 

while (i < BUFFLEN): 
    val = ser.read() 
    val = clamp(val,0,1023) 
    buffer[i*2] = (i<<2) or struct.pack('<h', val) 
    buffer[i*2+1] = struct.pack('>h', val) 
    i+=1 #increment 

しかし、arduino IDEからシリアルにデータをキャプチャして印刷することを忘れないでください。

関連する問題