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!
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!
Arduino IDE yerine AtmelStuido da kullanabilirsiniz.
ATtiny85 Özellikleri
Özellik | Değer |
---|---|
Mikroişlemci | 8-bit AVR |
Flash Bellek | 8 KB (6 KB kullanılabilir) |
SRAM | 512 byte |
EEPROM | 512 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ürleri | PDIP, SOIC, TSSOP, QFN |
GPIO Pinleri | 6 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ği | Yazılım ile taklit edilebilir |
USART Desteği | Yazılım UART (Software Serial) |
Timer | 1 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ör | 8 MHz |
Watchdog Timer | Dahili |
Brown-out Dedektörü | 2.7V – 5.5V aralığında |
Programlama Arayüzü | ISP (In-System Programming) |
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;
İndirdiğimiz .zip klasörümüzü herhangi bir yere çıkaralım;
İşletim sisteminiz 32bit ise “DPinst.exe”yi, 64bit ise “DPinst64.exe”yi kuralım.
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
Kartın Arduino IDE’ye Eklenmesi
Kart yöneticisi kısmından, “Digistump AVR Boards” isimli paketi kuralım.
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”
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;
” 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’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.