ATtiny85 Nedir? ATtiny85 Programlama

Atmel’in üretmiş olduğu 8-bit işlemcidir. 8K program aralığı, 6 I/O hattı (Input/Output) ve 4 kanal 10 bit ADC.  Harici 20MHz kristal ile çalışmaktadır ve devre üzerinde programlama özelliğine sahiptir. ATtiny85’i ;  Atmega 18 ve  Atmega16’yı programladığımız  çeşitli paralel programlayıcılar ile programlayabileceğimiz gibi Arduino ile de programlayabiliriz, tamamen ihtiyaç doğrultusunda kullanılabilecek bir yapıya sahip, düşük fiyatı ile yeni projenizin kalbi olmaya hazır!

ATtiny85 Pinout
ATtiny85 Pinout

Fakat kodumuzu işlemciye yüklerken çok farklı bir yöntem izliyoruz! Lütfen içeriğimizi dikkatle inceleyerek yapın, olabilecek hata mesajları için bizlerle iletişime geçmekten çekinmeyin, yazımızın en alt tarafında bazı hata mesajları için çözümler sunduk bunun yanında yorumlarla gelen hatalarada yardımcı olduk!

ATtiny85 Nedir? ATtiny85 Programlama attiny85,attiny85 nedir

Arduino IDE yerine AtmelStuido da kullanabilirsiniz.

ATtiny85 Özellikleri

ÖzellikDeğer
Mikroişlemci8-bit AVR
Flash Bellek8 KB (6 KB kullanılabilir)
SRAM512 byte
EEPROM512 byte
Saat Hızı1 MHz – 20 MHz (harici osilatör)
Çalışma Voltajı2.7V – 5.5V
Pin Sayısı8 pin (6 GPIO)
Paket TürleriPDIP, SOIC, TSSOP, QFN
GPIO Pinleri6 adet çok amaçlı I/O pini
Analog Giriş4 adet 10-bit ADC kanalı
PWM Çıkış2 adet 8-bit PWM kanalı
Dijital Giriş/Çıkış6 dijital pin (konfigüre edilebilir)
I²C ve SPI DesteğiYazılım ile taklit edilebilir
USART DesteğiYazılım UART (Software Serial)
Timer1 adet 8-bit Timer, 1 adet 16-bit Timer
Uyku ModlarıIdle, ADC Noise Reduction, Power-down, Power-save, Standby, Extended Standby
Enerji Tüketimi (Aktif Modda)1 MHz’de ~0.3 mA
Enerji Tüketimi (Power-down)~0.1 µA
Dahili Osilatör8 MHz
Watchdog TimerDahili
Brown-out Dedektörü2.7V – 5.5V aralığında
Programlama ArayüzüISP (In-System Programming)

ATtiny85 Nedir? ATtiny85 Programlama attiny85,attiny85 nedir

Belirtmekte fayda var enim kullandığım cihaz, klonlanmış bir Digispark. Resmi olarak piyasada Digispark tarafından tanıtılmış 2 çeşit kart modeline sahip. Birisi direk bilgisayar veya benzeri cihzalarda daha doğrusu USB F girişi bulunan cihazlara direk takılırken diğeri MICRO USB soketi bulundurmakta. Bunun dışında tüm özellikleri aynıdır, benim kullandığım model, MICRO USB modei olduğu için elime geçen ilk MICRO USB TO USB kabloyu kullandım.

ATtiny85 İçin İlk Hazırlık;

Windows için gerekli Digispark driverı buradan indirelim;

ATtiny85 Nedir? ATtiny85 Programlama attiny85,attiny85 nedir

İndirdiğimiz .zip klasörümüzü herhangi bir yere çıkaralım;

ATtiny85 Nedir? ATtiny85 Programlama attiny85,attiny85 nedir

İşletim sisteminiz 32bit ise “DPinst.exe”yi, 64bit ise “DPinst64.exe”yi kuralım.

ATtiny85 Nedir? ATtiny85 Programlama attiny85,attiny85 nedir

Kurulumu tamamladığızmıda kontrol etmek için “Aygıt Yöneticisi”ni açalım ve gerekli driverın kurulduğundan emin olalım.

Sonrasında Arduino IDE sine gerekli kart dosyalarını indirmek için şu yolu izleyelim;

Arduino IDE > Dosya > Tercihler

Ek devre kartları yöneticisi URL’sine girip bu URL’yi yazıyoruz

http://digistump.com/package_digistump_index.json

ATtiny85 Nedir? ATtiny85 Programlama attiny85,attiny85 nedir

Kartın Arduino IDE’ye Eklenmesi

Kart yöneticisi kısmından, “Digistump AVR Boards” isimli paketi kuralım.

ATtiny85 Nedir? ATtiny85 Programlama attiny85,attiny85 nedir

URL işlemi bittikten sonra “Tamam” butonu ile kaydedip, Arduino IDE sini kapatıp tekrar açıyoruz.

ATtiny85 için gerekli kartların gelip gelmediğini kontrol ediyoruz ve programlayıcıyı “USBasp” seçtiğimizden emin oluyoruz

Arduino IDE > Araçlar > Kart > Digispark (Default – 16.5mhz) ve Programlayıcı: “USBasp”

ATtiny85 Nedir? ATtiny85 Programlama attiny85,attiny85 nedir

Buraya kadar bütün hazırlıklarımız tamam, artık kodumuzu yüklemeye başlayabiliriz fakat Arduino veya diğer mikroişlemcilerden alıştığımız bir yöntemle değil!

Dikkat etmeniz gereken nokta şu; Kodumuzu ATtiny85’e yüklerken kartımız bilgisayara takılı olmaması gerekiyor “yükle” tuşuna kart takılı değilken bastığımızda bize kartımızı takmamızı isteyecek;

ATtiny85 Nedir? ATtiny85 Programlama attiny85,attiny85 nedir

” Running Digispark Uploader…
   Plug in device now… (will timeout in 60 seconds) “

Bu yazıyı gördükten sonra ATtiny85’i bilgisayarın USB portuna takıyoruz ve otomatik programlanıyor devamında ise  şöyle bir geri dönüşle işlemin tamamlandığını anlıyoruz;

ATtiny85 Nedir? ATtiny85 Programlama attiny85,attiny85 nedir

ATtiny85’e Kod Yüklerken Yaşanabilecek Problemler;

  • Kart Tanımama Problemi;

“Aygıt Yöneticisi” kısmına geri dönüp Görünüm > Gizli Aygıtları Gösteri işaretleyin, alta indiğinizde “libusb-win32devices” kısmının altında “Digispark Bootloader” cihazı belirecek, sağ tıklayarak “Sürücüyü güncelleştir”e basıyoruz devamında “Sürücü yazılımı için bilgisayarımı tara” seçeneği ile ilk başta indirdiğimiz driver klasörünü seçiyoruz, problemimiz ortadan kalkmış oluyor.

  • “Reconnect Your Card” Problemi;

Bu hata genelde yükleme esnasında kartın bağlantısı koptuğunda meydana geliyor, aynı işlemleri tekrar edip, tekrar yüklemeyi deneyebilirsiniz, sonuç alamıyorsanız; bilgisayarınızın başka bir portunda tekrar deneyin.

ATtiny85 Mikrodenetleyicisinib Farklı Yönleri

1. Boyut ve Fiziksel Özellikler: ATtiny85, küçük boyutlu bir mikrodenetleyicidir ve sadece 8 pin içerir. Bu özelliği, onu yer kısıtlaması olan projeler için mükemmel bir seçim yapar. Fiziksel olarak, PDIP, SOIC, TSSOP ve QFN gibi çeşitli paket türlerinde mevcuttur. Bu esneklik, projede kullanılan alanı en aza indirirken farklı montaj gereksinimlerine uyum sağlar.

2. Performans ve Hız: ATtiny85, 8-bit bir mikrodenetleyici olup, 1 MHz ile 20 MHz arasında çalışma hızına sahiptir. Harici bir osilatör kullanılarak işlemci hızını 20 MHz’e kadar artırmak mümkündür. Bu hız, genellikle düşük güçlü uygulamalar ve basit kontrol sistemleri için yeterlidir. Ancak, karmaşık işlemler ve yüksek işlem gücü gerektiren projelerde daha yüksek performanslı mikrodenetleyicilere ihtiyaç duyulabilir.

3. Bellek ve Depolama: ATtiny85, 8 KB flash bellek sunar; ancak, bunun yalnızca 6 KB’lik kısmı kullanıcı verisi için kullanılabilir. Bu, küçük projeler için ideal olsa da daha büyük programlar için sınırlayıcı olabilir. 512 byte SRAM ve 512 byte EEPROM depolama alanları da ek olarak veri depolama için kullanılır. EEPROM, yazılımda kalıcı verilerin saklanması için uygundur.

4. Enerji Verimliliği: ATtiny85, düşük güç tüketimi ile öne çıkar. Özellikle uyku modlarında çok düşük enerji tüketir. Power-down modunda yalnızca ~0.1 µA tüketimle çalışabilir. Bu özelliği, batarya ile çalışan ve uzun süreli görevler için enerji verimliliği sağlayan projelerde büyük avantajdır. Ayrıca, farklı uyku modları (Idle, ADC Noise Reduction, Power-save) kullanılarak enerji yönetimi daha da optimize edilebilir.

5. I/O ve Giriş/Çıkış Özellikleri: ATtiny85, 8 pinli bir yapıya sahip olduğundan, sadece 6 pinini dijital giriş/çıkış olarak kullanabilirsiniz. Bu pinler çok amaçlıdır ve dijital sinyalleri, PWM sinyallerini, analog girişleri veya SPI/I2C protokollerini taşıyabilir. 4 adet 10-bit ADC kanalı sayesinde analog sensörler ile çalışmak mümkündür. Ayrıca, 2 adet 8-bit PWM çıkışı ile motor kontrolü ve LED dimleme gibi uygulamalar yapılabilir.

6. Programlama ve Yazılım Desteği: ATtiny85, ISP (In-System Programming) arayüzü ile programlanabilir. Arduino IDE ile uyumluluğu sayesinde, yazılım geliştirme süreci daha kolay ve kullanıcı dostudur. Arduino platformu, ATtiny85 için kütüphaneler ve destek sunarak, yazılım geliştirmeyi hızlandırır. Bu mikrodenetleyici, daha basit uygulamalar için yazılım geliştiren mühendisler ve hobiler için mükemmel bir platformdur.

7. Protokoller ve İletişim: ATtiny85, I2C ve SPI protokollerini yazılım ile taklit edebilir. Bu, mikrodenetleyicinin diğer cihazlarla iletişim kurmasına olanak tanır. Ayrıca, USART (yazılım UART) desteği de vardır, bu sayede seri iletişim sağlanabilir. Ancak, bu protokollerin donanımsal olarak yerleşik olmaması, bazı projelerde yazılımla bu protokollerin taklit edilmesi gerektiği anlamına gelir.

8. Güvenlik Özellikleri: ATtiny85, dahili bir Watchdog Timer ve Brown-out dedektörüne sahiptir. Watchdog Timer, sistemin doğru şekilde çalışıp çalışmadığını izler ve bir hata durumunda mikrodenetleyiciyi sıfırlar. Brown-out dedektörü ise, voltaj düşüşlerini tespit eder ve sistemin düzgün çalışmadığı durumlarda mikrodenetleyiciyi kapatır. Bu özellikler, güvenli ve sağlam bir sistem tasarımı sağlar.

9. Kullanım Alanları: ATtiny85, özellikle düşük maliyetli ve basit projelerde tercih edilir. En yaygın kullanım alanları şunlardır:

  • IoT Cihazları: Düşük enerji tüketimi ve küçük boyutları ile IoT projelerinde yaygın olarak kullanılır.
  • LED Kontrolü: PWM çıkışları sayesinde LED dimleme ve renk değiştirme uygulamaları için uygundur.
  • Sensör Tabanlı Uygulamalar: ADC özellikleri, analog sensörlerle çalışmaya olanak tanır.
  • Motor Kontrolü: PWM çıkışı ile küçük motorların hız ve yön kontrolü sağlanabilir.
  • Taşınabilir Cihazlar: Küçük boyutları, taşınabilir cihazlarda kullanım için idealdir.
  • Kişisel Elektronik Projeler: Hobi projeleri ve kişisel elektronik cihazlarda tercih edilir.

10. Avantajlar ve Dezavantajlar:

  • Avantajlar:
    • Küçük boyut ve düşük maliyet.
    • Düşük güç tüketimi ve uzun batarya ömrü.
    • Kolay programlama ve Arduino IDE uyumluluğu.
    • Geniş bir topluluk desteği.
  • Dezavantajlar:
    • Sınırlı bellek ve işlem gücü (daha büyük projeler için yeterli olmayabilir).
    • I/O sayısının sınırlı olması (8 pinli yapı).
    • Harici protokollerin yazılım taklitlerine ihtiyaç duyulması.

Sonuç:

ATtiny85, enerji verimliliği ve küçük boyutlarıyla ideal bir mikrodenetleyicidir. Ancak, düşük bellek ve sınırlı işlem gücü, daha büyük ve karmaşık projeler için dezavantaj oluşturabilir. Bu mikrodenetleyici, basit projeler ve hobiler için mükemmel bir seçimdir, özellikle taşınabilir ve düşük maliyetli cihazlarda kullanımı yaygındır.

Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.