Boa Tarde
Pessoal estou com o seguinte problema com o display, estou transmitindo um dado numérico gerado por um sensor ultrassônico através do modulo RF o mesmo é recebido no modulo receptor e transferido para o display na posição (6,0), o meu problema começa ai: Quando tenho um valor lido de 4 digitos e logo após retorno para um valor de 1 digito os 3 ultimos digitos ficam presos no display não apagado os mesmo, os mesmo só mudam quando outro valor de 4 digitos e escrito por cima. Soluciono isso dando um reset no display. Queria saber se existe alguma maneira de limpar essa posição do display.
EX.: 1º informação Enviada = 3560
1º Informação recebida = 3560
1º informação Lida = 3560
2º Informação enviada = 1
2º Informação recebida =1
2º informação Lida = 1560
Desde já grato.
Tags:
Você já tentou escrever o caractere de espaço na posição do números, antes de escrever um novo valor?
...
lcd.setCursor(6,0);
lcd.print(" ");
lcd.setCursor(6,0);
lcd.print(LeituraSensor);
...
mais ou menos isso neh?
Bom dia:
O código seria esse:
void loop(){
uint8_t message[VW_MAX_MESSAGE_LEN];
uint8_t msgLength = VW_MAX_MESSAGE_LEN;
lcd.setCursor(6,0);
lcd.print(" ");
if (vw_get_message(message, &msgLength)) {
for (int i = 0; i < msgLength; i++){
lcd.setCursor(6,0);
lcd.write(message[i]);
}
}
}
Não tive sucesso com esse codigo apenas o 2 e o 3 digito apaga e permace apagado e o 4 digito continua fixo.
Você deve mudar algumas linhas de lugar...
void loop(){
uint8_t message[VW_MAX_MESSAGE_LEN];
uint8_t msgLength = VW_MAX_MESSAGE_LEN;
if (vw_get_message(message, &msgLength)) {
for (int i = 0; i < msgLength; i++){
lcd.setCursor(6,0);
lcd.print(" ");
lcd.setCursor(6,0);
lcd.write(message[i]);
}
}
}
Vai na fé que agora da certo rsrsrsrrs
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por