Ir para conteúdo
Fórum Script Brasil

Kelvin Henrique

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre Kelvin Henrique

Kelvin Henrique's Achievements

0

Reputação

  1. vlw, declarando um dos valores como float resolveu o problema, muito obrigado
  2. estou utilizando para um projeto um sensor de pressão e temperatura i2c em um raspberry pi zero w, porem o sensor me entrega um valor em binario, que deve ser transformado em decimal e feito algumas contas matematicas para assim pegar o valor final de pressão. o problema que estou tento é que, realizando essa formula no python 3 recebo sem maiores problemas o valor da temperatura, porem no python 2 o valor vem todo errado em uma analise mais profunda percebi que o problema esta na forma como o python realiza a conta, aparentemente o python 2 não consegue mostrar um valor "quebrado" como resultado de uma conta, por exemplo, se eu fizer 5 / 2, no python2 o resultado é 2, enquanto no python3 o resultado é 2.5 existe algum meio que fazer com que o python2 calcule igual o python3 ?? (preciso usar o python2) a parte do meu codigo que pega o valor em binario, converte para decimal e realiza a conta é a seguinte: pi = pigpio.pi() h = pi.i2c_open(1, 0x78) pi.i2c_write_device(h, [0xAC]) time.sleep(0.2) (b, d) = pi.i2c_read_device(h, 6) pi.i2c_close(h) pi.stop() p1 = bin(d[1])[2:].zfill(8) #BridgeDat1 p2 = bin(d[2])[2:].zfill(8) #BridgeDat2 p3 = bin(d[3])[2:].zfill(8) #BridgeDat3 t1 = bin(d[4])[2:].zfill(8) #TempDat1 t2 = bin(d[5])[2:].zfill(8) #TempDat2 press = p1+p2+p3 dpress = int(press, 2) Pressure = (((((dpress/12305550)*100)*6)/100)-2.2)*1.042 temp = t1+t2 dtemp = int(temp, 2) Temperature = (((dtemp/65536)*190)-40)*0.954
×
×
  • Criar Novo...