ATTINY85 e POT

Sep 22 2020

Ho bisogno di leggere un valore del potenziometro da un ATTINY85. Ho un grosso POT da 10K ma per questo caso d'uso ho bisogno che sia molto piccolo, quindi ne ho usato uno da 2.4K recuperato, del tipo che viene saldato direttamente su un PCB.

Sto usando tinkercad per prototipare il mio progetto e sto affrontando un problema molto strano. Ogni volta che leggo dal PIN POT, ottengo il valore di 512 (utilizzando il debugger)

Ecco uno screenshot del mio prototipo:

L'obiettivo è alimentare il circuito e la lampada (non importa cosa ci sia, consideralo solo un carico) con una batteria da 9V, utilizzare un regolatore da 5V per alimentare l'ATTINY85 e utilizzare un transistor NPN per accendere la lampada / carico o spento.

Per informazione, l'intera configurazione del regolatore e del transistor viene testata e funziona a meraviglia.

Ecco il codice che ho scritto per questo caso:

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

int potValue = 0;

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

Non è una vera fantasia, vero? Ora non importa quale sia l'uso per il POT, e ho provato 2.4K, 10K e fino a 100K, il valore letto da ATTINY è sempre 512.

Vedi qualcosa che non va in questa configurazione? Potrebbe essere un bug in tinkercad? (Sarei sorpreso però)

Potrei provare a condividere questo circuito all'interno di tinkercad se qualcuno volesse dare un'occhiata ...

EDIT: ho appena provato con PB2 come suggerito ma non il valore è sempre 58:

Risposte

2 StarCat Sep 22 2020 at 20:32

La porta PB0 non è un pin ADC (ingresso analogico) su ATTiny85 .

Pin disponibili dell'ATTiny85 (dalla scheda tecnica Atmel ATtiny 25, 45, 85):

Scegli PB2, PB3, PB4 o PB5 se hai bisogno di un ingresso analogico.

Informazioni aggiuntive: quando integrato in TinkerCAD, l'utilizzo di PB2 come ingresso analogico non sembra funzionare correttamente e produce un valore fisso. Tuttavia, l'utilizzo di PB3 ha funzionato correttamente. Questo potrebbe essere un bug in TinkerCAD.