ATTINY85 e POT

Sep 22 2020

Preciso ler um valor de potenciômetro de um ATTINY85. Eu tenho um grande e gordo POT de 10K, mas para este caso de uso, preciso que seja muito pequeno, então usei um 2,4K recuperado, do tipo que é soldado diretamente em um PCB.

Estou usando o tinkercad para fazer o protótipo do meu projeto e estou enfrentando um problema muito estranho. Sempre que leio o POT Pin, obtenho o valor de 512 (usando o depurador)

Aqui está uma captura de tela do meu protótipo:

O objetivo é alimentar o circuito e a lâmpada (não importa o que esteja lá, considere apenas uma carga) com uma bateria de 9V, usar um regulador de 5V para alimentar o ATTINY85 e usar um transistor NPN para ligar a lâmpada / carga ou fora.

Para obter informações, toda a configuração do regulador e transistor é testada e funciona perfeitamente.

Aqui está o código que escrevi para este caso:

void setup()
{
  pinMode(PB0, INPUT);
}

int potValue = 0;

void loop()
{
  potValue = analogRead(PB0);
  delay(100);
}

Nada extravagante, certo? Agora não importa qual uso para o POT, e tentei 2,4K, 10K e até 100K, o valor lido pelo ATTINY é sempre 512.

Você vê algo errado nesta configuração? Poderia ser um bug no tinkercad? (Eu ficaria surpreso)

Eu poderia tentar compartilhar este circuito dentro do tinkercad se alguém estivesse disposto a dar uma olhada ...

EDIT: Acabei de tentar com PB2 como sugerido, mas não o valor é sempre 58:

Respostas

2 StarCat Sep 22 2020 at 20:32

A porta PB0 não é um pino ADC (entrada analógica) no ATTiny85 .

Pinos disponíveis do ATTiny85 (da folha de dados Atmel ATtiny 25, 45, 85):

Escolha PB2, PB3, PB4 ou PB5 se precisar de uma entrada analógica.

Informações adicionais: Quando integrado no TinkerCAD, o uso de PB2 como entrada analógica parece não funcionar corretamente e produz um valor fixo. Usar o PB3 funcionou corretamente, no entanto. Isso pode ser um bug no TinkerCAD.