Olá Senhores,

após quebrar a cabeça achando que era meu circuito, verifiquei um comportamento anormal na minha placa NANO.

Estou usando 6 potenciômetros de 5K nas entradas A1 a A6.

Ele funciona somente as três primeiras. Achei que fosse circuito e desconectei A1, A2 e A3 e desta forma A4, A5 e A5 funcionaram.

Tentei utilizar alimentação externa achando que fosse problema de alimentação via USB, mas sem sucesso.

Não vejo erro no código, ou tem algo a ser fazer na programação ou no circuito.

Resumindo funciona 3 de 6. Todas juntos não rola!

Em anexo o code de testes.

Obrigado,

Exibições: 553

Responder esta

Respostas a este tópico

Veja com o multimetro qual a tensão em cada um dos ports. Um port com tensão superior ao limite pode gerar problemas com consequencias imprevisiveis.

Quando vc fala "não funciona" o que quer dizer ? Que le 0, que lê 1023, qual o valor que vc lê e qual esperava ?

Na verdade vc não tem n Ads e sim apenas um com uma chave comutadora antes dele. Logo que vc faz a comutação (escolhe um canal diferente do usado anteriormente) pode ocorrer um erro de leitura. A principio a biblioteca já se vira para resolver esse problema, mas tentaria ler umas 3 vezes cada entrada. Se resolver vc sabe que era isso.

Boa tarde TO.

Só para um teste, experimente colocar um delay de 15 após a leitura de cada uma entrada analogica.

Ex: delay (15);  , e depois conta o resultad do teste pra gente.

RV

Ta esquisito. Se vc ligou potenciometros, pq ele marca só minimo ou máximo ?

Esse pino que indica sempre maximo (A6), medindo no pino da placa, se possivel no pino do microcontrolador, quanto dá ?

Esse que fica zero (A4), idem, quanto dá ?

Tente fazer:

AI4 = map(analogRead(A4), 0 , 1023, 0, 300); //temperatura de 0-60º

AI4 = map(analogRead(A4), 0 , 1023, 0, 300); //temperatura de 0-60º

AI4 = map(analogRead(A4), 0 , 1023, 0, 300); //temperatura de 0-60º

Sim, repetir 3x a mesma linha. Só pra saber se muda o resultado. Isso elimina a possibilidade da chave que comuta a entrada estar demorando. Se for depois se faz de modo mais polido.

Bom dia TO,

Para fins de teste, inverta todos fios que chegam nos analogicos no arduino. 

Assim. Ligue o que está em A1 ligue em A6, o que está em A2 em A5 e assim por diante, e conte o

resultado pra gente. Mas mantenha a programação.

RV

Boa tarde, não analisei todo o código.

Um chute - aumente o Buffer para 128 .

char buff [64];

Ueh, agora que vi, parece que faltou vc definir os pinos como entrada.

pinMode(A1, INPUT); ...

Ref:

https://www.arduino.cc/reference/en/language/functions/digital-io/p...

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço