Attiny 13'ün çıkış akımındaki sorunun kaynağı ne olabilir?

Başlatan zuzunin, 09 Mart 2019, 16:50:41

zuzunin

Sorunum bu mikro denetleyicinin basit bir led yakma işleminde çıkışının normal bir şekilde çalışması, ancak adc okuyarak led yaktırma işleminde ise çok sönük bir şekilde çalışması. Her iki durumda da çıkış voltajı aynı olmasına rağmen çıkış akımları aynı değil. Bu  sorunu daha önce yaşamış birisi var mı? Yazılımdan kaynaklı olabilir mi?

Tek bir pinden adc okuyarak adc değerine göre ifadeyi (1) veya (0) yaptırıyorum. Acaba hesaplamam çok arada bir değer kaldığı için mi çıkışı sönük görüyorum? Yazdığım kod çalışıyor tek sıkıntım çıkıştaki led'in çok sönük yanması. Transistör ile sürmek için yeterli bir akım sağlanıyor ancak 1 tane led'i yakacak kadar enerji yok çıkışta.

void degis::me()
{
  int x = (1024/100)*_tol;
  int adc = analogRead(_pin);
  if(adc > 512+x || adc < 512-x){
  _ifade = 1;
  }else{
  _ifade = 0;
  }
}


Led fotoğraftaki kadar yanıyor direnç değerimde sıkıntı yok.



Kabil ATICI

Çıkışı osilaskop veya lojik analizör gibi cihazla izle. eğer elinde bu yoksa örneğin 0.5 saniye gibi bir gecikme koyarak çıkışı gözle. LED yanıp sönüyor olabilir. if ifadesi içindekileri parantezlere ayır.
ambar7

leblebitozu

adc'den tek okuma ile stabil bir değer alman çok zor, 10,50,100 vs. yeterli adet okuma yapıp ortalamasını almanı tavsiye ederim.

zuzunin

Cevaplarınız için teşekkür ederim. Sorunun kaynağı  çıkış bacaklarını void setup() kısmında belirtmediğim içinmiş.

const int ledPin = 1;
const int ledPin2 = 0;
oku(3); 

void setup()
{
  pinMode (1, OUTPUT);   // Programda belirtmediğim pinler. 
  pinMode (0, OUTPUT);   // Programda belirtmediğim pinler. 
 int okuvalue = oku.rtv(); 
  oku.tolerance(8);
}