Arduino İle ATtiny Programlama -1
İhsan Kehribar’ın tasarlamış olduğu Little Wire‘da da kullanılan ATtiny85, 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. Bu yazıda ATtiny85, ATtiny45’i Arduino ile programlamak için neler yapmamız gerekir bunlara bakacağız. Bu bağlantıdaki videoyu izleyerek neler yapabileceğimizi daha kolay anlayabiliriz. Görüdüğümüz gibi basit programları çalıştırmak için uygun mikrodenetleyicilerdir.
ATtiny’ler ucuz olup; ebay’dan yaklaşık 2-3 $, Türkiye’den ise yaklaşık 7-8 Tl’ye edinebilirsiniz. ATtiny45 ve ATtiny85’in sekiz adet bacağı vardır. Ayrıca çok benzerdirler. ATtiny85’in belleği ATtiny45’in iki katıdır. Bu da ATtiny85 ile daha karmaşık programları saklayabileceğimiz anlamına gelir. ATtiny’i programlamak için Arduino çekirdek kütüphaneleri kullanılır.
Gerekli olan malzemeler:
–Arduino Uno/Duemilanove
-ATtiny45 veya ATtiny85
-10 uF kapasite
-Breadboard ve jumper kablolara ihtiyacamızı var.
Ayrıca software olarak Arduino Version 1.0.1 veya 0022 kullanılabilir. Arasındaki farka değineceğiz.Şimdi Arduino’muz ile ATtiny’i programlamaya başlayabiliriz. İlk önce Arduino’muzu ?in-system programmer? (ISP)’ye dönüştürmemiz gerekiyor. Bunun için şu basamakları izleyelim:
– Arduino programını çalıştıralım.
– Example menüsünden ArduinoISP sketch’i açalım.
-Şimdi burada versiyon olarak 1.0.1 kullanıyorsak upload etmeden önce ArduinoISP ‘de küçük bir değişiklik yapmalıyız; heartbeat() fonksiyonunun içerisindeki delay(40);’ı bulalım ve bunu delay(20); ile değiştirelim.
– Arduino’yu bağladığımız Serialport’u seçelim.
-ArduinoISP sketch’i upload edelim.
Arduino ile ATtiny bağlantılarını Fritzing ile çizelim. Bundan önce ATtiny ‘e göz atalım.

Bağlantılarımızı çizdiğimiz gibi yapalım. Burada bağlantıları gerçekleştirirken kapasitenin şerit kısmının eksi olduğunu unutmayalım bunu Ground’a bağladık. Kapasite Arduino’nun resetlermesini önler (bootloader’ı başlatan). Bu da Arduino IDE‘si ile ArduinoISP (bootloder değil)’nin sketch’i upload ederken haberleşmesini sağlar.
Arduino ve ATtiny için kullandığımız bağlantılar:
-ATtiny Pin 2 – Arduino Pin 13 (diğer programlayıcılarda SCK)
– ATtiny Pin 1 – Arduino Pin 12 ( diğer programlayıcılardaMISO)
-ATtiny Pin 0 – Arduino Pin 11 (diğer programlayıcılarda MOSI )
-ATtiny Reset Pin – Arduino Pin 10 (diğer programlayıcılarda RESET )
Aşağıdaki Arduino tarafından desteklenen komutları ve bağlantılarını bulabilirsiniz.
- pinMode()
- digitalWrite()
- digitalRead()
- analogRead()
- analogWrite()
- shiftOut()
- pulseIn()
- millis()
- micros()
- delay()
- delayMicroseconds()
- SoftwareSerial
İleri ki yazılarda bu yöntemi kullanarak bir kaç çalışma yapacağız. Örneğin bir ATtiny’nin bir pwm pin’ine led bağlayarak bir Blink yapabilirsiniz. Bu bağlantıdaki videoyu izleyerek neler yapabileceğimizi daha kolay anlayabiliriz. Bir kere upload ettikten sonra ATtiny kendi başına, Arduino bağlantısı olmadan bu işlemleri gerçekleştirebilir hale gelebilir. İyi çalışmalar.
