Bonjour à tous, actuellement en alternance j'ai du mal avec un programme python pour mettre en oeuvre un magnétomètre :
def getdata_angle (addr):
heading=0
b.write_byte(addr, 0x41)
data_block = b.read_i2c_block_data(addr,2)
k = heading
heading = (data_block[0]*2**8 + data_block[1]) / 10
if ((heading-k)>180) :
heading=heading-360
return heading
def Anglemesure (echant,addr):
b = smbus.SMBus(1)
a=0
n=0
total_angle =0
while(a !=1 ):
while (n < echant):
getdata_angle(addr)
total_angle += heading
n+=1
print ('Angle en degres' , total_angle/echant)
a=1
Anglemesure(10,0x21)
Désolé on ne parvient pas à voir les indentations.
Le problème que j'ai est que je n'arrive pas à récupérer la valeur retournée par la première fonction afin de m'en servir dans la deuxième , si quelqu'un peut m'aider.
En vous remerciant.
Remplace
getdata_angle(addr)
total_angle += heading
Par
total_angle += getdata_angle(addr)