ATTiny13A için kod derleme hatası

Gokrtl

Gökhan Kartal (TeknoDay)
Staff member
Katılım
27 Şubat 2019
Mesajlar
12,202
Daha önce bu kodları ATTiny13A ya yükleyebiliyordum. Şimdi bazı güncellemeler olmuş herhalde bir türlü doğru yazılışı bulamadım.
LM35 sıcaklık sensörünü analog pinden okumaya çalışıyorum ama sürekli derleme hatası veriyor. Alan yetmiyor diyor.

Kod:
#define led 0
#define role 1
#define lm35 A2
// LM35 Sıcaklık Sensörü
//analog_pin_t lm35 = A2;
//const int lm35 = A2;
float voltaj_deger = 0;
int sicaklik = 0;
int gelen_veri = 0;
/////////////////////////

void setup() {
  pinMode(led, OUTPUT);
  pinMode(lm35, INPUT);
  pinMode(role, OUTPUT);

  digitalWrite(role, LOW);
  digitalWrite(led, LOW);
}

void loop() {
  // LM35 Sıcaklık Sensörü
  for (int i = 0; i < 350; i++) // daha kararlı ortalama bir sonuç almak için 300 kez okuma yapma
  {
    gelen_veri = gelen_veri + analogRead(lm35);
    //delay(1);
  }

  gelen_veri = gelen_veri / 350;
  voltaj_deger = (gelen_veri / 1023.0) * 5000;
  sicaklik = voltaj_deger / 10.0;
  //////////////////////////////////////////////////////

  if (sicaklik <= 75)
  {
    digitalWrite(role, HIGH);
    digitalWrite(led, HIGH);
  }
  else if (sicaklik >= 80)
  {
    digitalWrite(role, LOW);
    digitalWrite(led, LOW);
  }
  else
  {

  }
}

Ürettiği Hata;

Çalışmanız programın 1082 bayt (105 %) saklama alanını kullandı. Maksimum 1024 bayt.text section exceeds available space in board

Global değişkenler belleğin 2 byte kadarını (3%) kullanıyor. Yerel değişkenler için 62 byte yer kalıyor. En fazla 64 byte kullanılabilir.
Sketch too big; see https://support.arduino.cc/hc/en-us/articles/360013825179 for tips on reducing it.
ATtiny13 kartı için derleme hatası.
 
Burada benim anladığım kadarıyla daha kararlı okuma için for döngüsünü 350 defa çalıştırması ATTiny'i şişiriyor.
Bu döngüyü kaldırıp tek sefer okuma yaparsam kodu kabul ediyor. For döngüsünü kabul edebileceği değeri tespit etmek için küçülttüm ama 2 tur bile dönmesini kabul etmiyor. Sadece 1 kez okumaya izin veriyor.

Böyle tek okuma ne kadarlık bir sapma yapabilir? sağlıklı olur mu sizce?
 
Muhtemelen float değişkenindendir. kayan nokta aritmetiği karmaşıktır, fazla kod gerektirir.
 
Muhtemelen float değişkenindendir. kayan nokta aritmetiği karmaşıktır, fazla kod gerektirir.
Float'ı integer'a çevirmeye çalışacağım.
Nasıl bir beynim varsa, ara verdiğim de neredeyse kod yazmayı unutmuşum yav. :kizgin3:
 

Forum istatistikleri

Konular
7,356
Mesajlar
124,390
Üyeler
2,982
Son üye
merthkm

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top