ATTINY85 dan POT
Saya perlu membaca nilai potensiometer dari ATTINY85. Saya memiliki POT 10K yang besar dan gemuk tetapi untuk kasus penggunaan ini saya membutuhkannya yang sangat kecil jadi saya menggunakan yang telah diselamatkan 2.4K, jenis yang disolder langsung ke PCB.
Saya menggunakan tinkercad untuk membuat prototipe proyek saya dan saya menghadapi masalah yang sangat aneh. Setiap saya membaca dari POT Pin, saya mendapatkan nilai 512 (menggunakan debugger)
Berikut tangkapan layar prototipe saya:
Tujuannya adalah untuk menyalakan rangkaian dan lampu (tidak peduli apa yang ada, anggap saja itu hanya beban) dengan baterai 9V, gunakan regulator 5V untuk menyalakan ATTINY85 dan gunakan transistor NPN untuk menyalakan lampu / beban atau mati.
Sebagai informasi, seluruh pengaturan regulator dan transistor telah diuji dan bekerja dengan baik.
Berikut adalah kode yang saya tulis untuk kasus ini:
void setup()
{
pinMode(PB0, INPUT);
}
int potValue = 0;
void loop()
{
potValue = analogRead(PB0);
delay(100);
}
Tidak benar-benar mewah? Sekarang tidak peduli apa yang digunakan untuk POT, dan saya mencoba 2.4K, 10K dan hingga 100K, nilai yang dibaca oleh ATTINY selalu 512.
Apakah Anda melihat ada yang salah dalam penyiapan ini? Mungkinkah itu bug di tinkercad? (Aku akan terkejut)
Saya dapat mencoba dan membagikan sirkuit ini di dalam tinkercad jika seseorang mau melihatnya ...
EDIT: Saya baru saja mencoba dengan PB2 seperti yang disarankan tetapi nilainya tidak selalu 58:
Jawaban
Port PB0 bukan pin ADC (input analog) pada ATTiny85 .
Pin yang tersedia dari ATTiny85 (dari lembar data Atmel ATtiny 25, 45, 85):
Informasi tambahan: Saat dibangun di TinkerCAD, menggunakan PB2 sebagai input analog sepertinya tidak bekerja dengan benar dan menghasilkan nilai tetap. Namun, penggunaan PB3 bekerja dengan benar. Ini mungkin bug di TinkerCAD.