Boa noite, pessoal queria saber se tem como fazer a comparação de 8 sensores ldr tcrt5000, pq se for escrever comparaçao por comparaçao vou ter que fazer 64 que é o total de possibilidades.

if((sensor_a > valor_corte)&&(sensor_b > valor_corte)&&(sensor_c > valor_corte)&&(sensor_d > valor_corte)&&(sensor_e > valor_corte)&&(sensor_f > valor_corte)&&(sensor_g > valor_corte)&&(sensor_h > valor_corte))

...x64

Tem algum jeito de fazer a comparação simplificada?

Exibições: 350

Responder esta

Respostas a este tópico

Você esta usando para fazer um seguidor de linha?

Sim com sensores trct5000.

Oi CH, bom dia,

via a sua duvida e fiquei pensando se haveria possibilidade de melhorar-la.

Ai resolvi escrever um código de teste para ver o resultado.

Ficou  assim:

Você  coloca o seu if em uma função e chama a função toda vez que quiser testar a condição.

Escrevi este código pra teste e funcionou ok.

Você pode fazer funções diferentes pra cada condição, e aí chama a função qdo precisar fazer o teste.

Esta é uma possibilidade de fazer isto, você pode tentar também com matriz.

Espero ter ajudado.

Rui

Código pra teste anexo

Anexos

Rui obrigado pela ajuda, mas o problema é que o seguidor de linha quando está em cima da linha ele dá um valor maior que 700 em um sensor que é o valor de corte assim eu sei qual sensor está em cima da linha, assim as vezes alguns estão e outros não tornando 64 possibilidades disso ocorrer.

Então veio a preguiça de escrever, o tanto que o código ficaria grande ,esse tanto de possibilidades o que também me deixaria confuso de tanto > e < ficaria perdido . 

Será se existe uma função pra esse problema? ou vou ter que escrever essas 64 possibilidades?

Obrigado por sua ajuda vc é 10!

CH, não entendi muito claramente sua necessidade:

O valor de corte é um pra cada sensor?

Porque 64 possibilidades se são 8 sensores?

Uma combinação de 8 sensores com "AND"  só teria uma possibilidade de ocorrer, e será qdo todos

valores forem maior que valor_corte,  qualquer outra combinação não atenderá o "AND" e não

realizará o if.

Detalhe um pouco mais a sua lógica para que possamos pensar em soluções.

Rui

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço