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,
Tags:
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...
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por