ATTiny13A için kod derleme hatası

Gokrtl

Gökhan Kartal (TeknoDay)
Staff member
Katılım
27 Şubat 2019
Mesajlar
11,180
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.

C:
#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:
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
5,659
Mesajlar
97,343
Üyeler
2,438
Son üye
İbrahimSönmez

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top