Boa tarde, tenho um problema... Meu sensor me informa uma variavel de valor inteiro x, preciso transformar esse valor em metros cubicos. Por exemplo:
Tenho 1500 kg de um material, isso representa 1m^3 . No arduino mostrara 1.0 certo?
Tenho 750kg do mesmo material, mostrará 0.5 no arduino, até ai está perfeito! Porém, quando esse valor ultrapassa, no arduino, 3,42 ele retorna a -3,42 e conta a partir daí! Preciso de uma forma que contorne esse limite de float..
Ex.:
int peso2;
float mediaFinal;
float peso3;
peso2 = peso; //Peso é a váriavel inteira que armazena o peso.
peso3 = (float) peso2; //transformo peso 2 em float, virando peso 3.
mediaFinal = (peso3/1500);
Como contornar isso?
Tags:
Boa tarde GR,
Não conheço seu sketch completo, mas o teste que fiz aqui, não deu problema não.
Veja o resultado
peso: 5230
media: 3.49
peso: 5230
media: 3.49
peso: 5230
media: 3.49
peso: 5230
media: 3.49
peso: 5230
media: 3.49
Se for colocar seu sketch aqui faça assim:
Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo
com o seu sketch.
RV
Boa noite,
Esta difícil de entender.
Mas creio que esteja usando um módulo de balança . Qual?
O problema pode estar no uso incorreto desse módulo.
O float não tem esse limite...
Na linha: (peso3/1500) o ideal seria usar (peso3/1500.0) isso força o float.
Mas ta tudo certo.
Uma possibilidade é a rotina que escreve não estar float ou algo assim.
Ref:
https://www.arduino.cc/reference/pt/language/variables/data-types/f...
Boa tarde EHM, eu forcei o float e deu certo! Porém, quando ele chega a 11.0 ele volta a -11.0, ou seja, o problema persiste porém a grandeza foi aumentada! Alguma ideia do que pode ser?
Obs.: Obrigado pela atenção!
Boa tarde Gabriel,
Se quer ajuda, envie o sketch e detalhes da sua montagem, como circuitos usados, diagrama da montagem, etc.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por