Boa Tarde pessoal,
Estou precisando fazer um codigo que basicamente vai, receber o numero do encoder, verificar se ele é maior ou menor do que ele era antes e executar uma condição para cada situação...
Ex:
IF numero recebido > numero recebido anterior
{ X }
IF numero recebido < numero recebido anterior
{ Y }
alguem tem uma sujestão? ainda nao escrevi o codigo, mas estive pensando e acho que minha duvidas vão ficar em como vou fazer para ele "saber" o numero recebido anterior...
Tags:
Oi CA, boa tarde.
Salve o valor anterior em outra variável.
Rui
sim! estive pensando melhor agora tambem, e acho que para nao causar conflito, devo fazer ele atribuir o valor da variavel atual com a variavel anterior depois de passar pelo programa.
Ex:
int var_atual
int var_anterior
"monitore" var_atual
if var_atual > var_anterior
{x}
if var_atual < var_anterior
{y}
var_anterior == var_atual
assim ele vai começar a fazer o loop do código com a variavel do ultimo ciclo...
Amigo... estou com uma dificuldade semelhante.
Estou tentado armazenar a valor anterior.
(...)
int compara_val, val;
val = analogRead (A0);
if (campara_val>val) {Executa uma função N }
if (campara_val<val) {Executa uma função Z }
compara_val = val;
Porém, quando monitoro na porta serial, ambas as variáveis recebem o mesmo valor. Ele não armazena o valor da variável anterior.
Alguém poderia ajudar?!
Boa noite AS,
experimente inicializar as variáveis no inicio.
int compara_val = 0;
int val = 0;
RV
Segue o arquivo em anexo amigo.
Parece correto.
O led corresponde ao esperado ?
Diria que ele varia, atua, depois o valor estabiliza e passa a ser igual.
Se vier um valor igual (repetido) naturalmente as duas variaveis vão receber o mesmo valor (atual é sim igual ao anterior).
Sem novidade.
Se vc quer que seja armazenado apenas os valores anteriores diferentes do atual precisa colocar essa condição no codigo.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por