- ATtiny85'i USB aracılığıyla Programlamak için Gerekli Bileşenler
- ATtiny85 Mikrodenetleyici IC - Giriş
- Arduino Uno Kullanarak ATtiny85 üzerinde Flashing Boot-loader
- ATtiny Programcı için Devre Şeması
- Digispark Sürücülerini Yükleme
- ATttiny85'i Programlamak için Arduino IDE'yi Ayarlama
ATtiny ailesi, AVR pazarındaki en küçük mikro denetleyicilerin bir serisidir. Bu mikro denetleyiciler, Arduino platformunda bulunan kitaplıkların çoğunu kullanabilir. ATtiny85 mikrodenetleyici çipi 8-pin, 8-bit, AVR mikro denetleyicidir. Küçük boyutu ve düşük güç tüketimi, küçük ayak izine ve düşük güç gereksinimine sahip taşınabilir projeler için mükemmel bir eşleşme sağlar. Ancak kodunuzu çipe almak, mikro denetleyici kartları gibi herhangi bir USB arabirimi olmadığı için biraz zor olabilir.
Önceki eğitimimizde, ATtiny85'i Arduino Uno kullanarak programladık. Ancak Attiny85'i Arduino'ya bağlamak ve Arduino'yu ISP olarak kullanmak zor ve zaman alıcı olabilir. Bu eğitimde, bir ATtiny85 Programlama panosu oluşturacağız, böylece onu diğer mikro denetleyici panoları gibi doğrudan eklenti yapabilir ve programlayabiliriz.
ATtiny85'i USB aracılığıyla Programlamak için Gerekli Bileşenler
- Arduino UNO (Sadece bootloader yüklenirken ilk defa)
- ATtiny85 IC
- USB A-tipi Fiş Erkek
- 3 Direnç (2 × 47Ω ve 1 × 1kΩ)
- 3 Diyot (2 × Zener Diyot ve 1 × IN5819 Diyot)
- 8-Pin IC Tabanı
- Breadboard
- Atlama Telleri
ATtiny85 Mikrodenetleyici IC - Giriş
Atmel'in ATtiny85'i, Gelişmiş RISC Mimarisine dayalı yüksek performanslı, düşük güçlü 8-bit mikro denetleyicidir. Bu mikro denetleyici çip, 8KB ISP flash bellek, 512B EEPROM, 512 Bayt SRAM, 6 genel amaçlı G / Ç hattı, 32 genel amaçlı çalışma kaydı, karşılaştırma modlu bir 8 bit zamanlayıcı / sayaç, bir 8 bit yüksek hızlı zamanlayıcı / sayaç, USI, dahili ve harici Kesmeler, 4 kanallı 10-bit A / D dönüştürücü, dahili osilatörlü programlanabilir bekçi uygulaması zamanlayıcısı, üç yazılımla seçilebilir güç tasarrufu modu ve çip üzerinde hata ayıklama için debugWIRE. ATtiny85 Pinout aşağıda verilmiştir:
Çipin G / Ç pinlerinin çoğunun birden fazla işlevi vardır. Her bir pin için ATtiny85 pin açıklaması aşağıdaki tabloda verilmiştir:
Pin No. |
Pin Adı |
Pin Açıklaması |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: Pin Değiştirme Kesmesi 0, Kaynak5 SIFIRLA: Pimi Sıfırla ADC0: ADC Giriş Kanalı 0 dW: WIRE G / Ç hatalarını ayıklama |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: Pin Değiştirme Kesmesi 0, Kaynak3 XTAL1: Kristal Osilatör Pimi1 CLKI: Harici Saat Girişi ADC3: ADC Giriş Kanalı 3 |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: Pin Değiştirme Kesmesi 0, Kaynak 4 XTAL2: Kristal Osilatör Pimi 2 CLKO: Sistem Saat Çıkışı OC1B: Zamanlayıcı / Sayaç1 Karşılaştır B Maç Çıkışı ADC2: ADC Giriş Kanalı 2 |
4 |
GND |
Zemin Pimi |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: SPI Ana Veri Çıkışı / Bağımlı Veri Girişi DI: USI Veri Girişi (Üç Tel Modu) SDA: USI Veri Girişi (İki Tel Modu) AIN0: Analog Karşılaştırıcı, Pozitif Giriş OC0A: Zamanlayıcı / Sayaç 0 Match A çıktısını karşılaştır AREF: Harici Analog Referans PCINT0: Pin Değiştirme Kesmesi 0, Kaynak 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: SPI Ana Veri Girişi / Bağımlı Veri Çıkışı DO: USI Veri Çıkışı (Üç Tel Modu) AIN1: Analog Karşılaştırıcı, Negatif Giriş OC0B: Zamanlayıcı / Sayaç 0 Match B Çıktısını Karşılaştır OC1A: Zamanlayıcı / Sayaç1 Karşılaştırma A Çıkışı PCINT1: Pin Değiştirme Kesmesi 0, Kaynak 1 |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: Seri Saat Girişi USCK: USI Saati (Üç Tel Modu) SCL: USI Saati (İki Tel Modu) ADC1: ADC Giriş Kanalı 1 T0: Zamanlayıcı / Sayaç0 Saat Kaynağı INT0: Harici Kesme 0 Girişi PCINT2: Pin Değiştirme Kesmesi 0, Kaynak 2 |
8 |
VCC |
Besleme Gerilimi Pimi |
Arduino Uno Kullanarak ATtiny85 üzerinde Flashing Boot-loader
İçin Arduino olmadan ATtiny85 programlama, öncelikle bir Arduino UNO tahta kullanarak içine bir bootloader yüklemek zorunda kalacak, bu tek seferlik bir süreçtir ve bu yapıldıktan sonra, tekrar UNO kurulu ihtiyacım olmayacak. Önyükleyici, programlanması gereken mikro denetleyicide çalışan özel bir programdır. Program verilerinizi mikro denetleyiciye yüklemenin en uygun yollarından biri bir önyükleyici kullanmaktır. Önyükleyici, MCU'nun üzerine oturur ve gelen talimatları gerçekleştirir ve ardından mikro denetleyicinin belleğine yeni program bilgilerini yazar. Bir mikro denetleyicide bir önyükleyicinin yanıp sönmesi, mikro denetleyiciyi programlamak için özel harici donanım (Programlama Kartları) ihtiyacını ortadan kaldırır ve bir USB bağlantısı kullanarak onu doğrudan programlayabilirsiniz. Digispark ATtiny85anakart, orijinal olarak Bluebie tarafından yazılmış "micronucleus tiny85" önyükleyiciyi çalıştırır. Önyükleyici, Digispark'ta önceden programlanmış koddur ve Arduino IDE tarafından programlanabilmesi için bir USB cihazı olarak hareket etmesine izin verir. Aynı digispark attiny85 önyükleyicisini ATtiny85 üzerinde de flaş edeceğiz.
Arduino Uno ve Arduino IDE kullanarak önyükleyiciyi ATtiny85'e yüklemek için adım adım bir kılavuz aşağıda verilmiştir:
Adım 1: Arduino Uno'yu ISP olarak Yapılandırma:
ATtiny85 sadece bir mikro denetleyici olduğundan, programlanacak bir ISP (Sistem İçi Programlama) gerektirir. Bu yüzden ATtiny85'i programlamak için, önce Arduino Uno'yu ATtiny85 için bir programcı olarak hareket edecek şekilde ISP olarak yapılandırmamız gerekir. Bunun için Arduino Uno'yu Laptop'a bağlayın ve Arduino IDE'yi açın. Bundan sonra, Dosya> Örnek> ArduinoISP'ye gidin ve Arduino ISP kodunu yükleyin.
Adım 2: ATtiny85'te Flashing Boot-loader için Devre Şeması:
ATtiny85'te Flashing Boot-loader için tam şema aşağıda verilmiştir:
Arduino'nun Reset ve GND pini arasına 10 µf kapasitör bağlanmıştır. Bağlantıların tamamı aşağıdaki tabloda verilmiştir:
ATtiny85 Pimi |
Arduino Uno Pimi |
Vcc |
5V |
GND |
GND |
PIN 2 |
13 |
PIN 1 |
12 |
PIN 0 |
11 |
Sıfırla |
10 |
Şimdi Arduino Uno'yu dizüstü bilgisayara takın ve Arduino IDE'yi açın. Uno'nun hangi COM bağlantı noktasına bağlı olduğunu bulun. Benim durumumda, COM5.
Bundan sonra, verilen bağlantıdan ATtiny85 Boot-loader dosyalarını indirin. " Burn_AT85_bootloader.bat " dosyasını açın ve Uno'nuzun bağlı olduğu COM bağlantı noktası numarasıyla "PCOM5" COM bağlantı noktası numarasını değiştirin. Çıkmadan önce değişiklikleri kaydedin.
Şimdi düzenlenen " Burn_AT85_bootloader.bat " ve " ATtiny85.hex " dosyalarını Arduino IDE kök klasörüne (C: \ Program Files (x86) Arduino) taşıyın.
Bundan sonra, " Burn_AT85_bootloader.bat " üzerine sağ tıklayın ve " Yönetici Olarak Çalıştır" ı seçin. Önyükleyicinin yanıp sönmesi yaklaşık 5 ila 6 saniye sürer. Her şey yolunda giderse, "AVRdude bitti. Teşekkürler. Devam etmek için herhangi bir tuşa basın…" mesajını almalısınız.
Bununla, Boot-loader başarıyla ATtiny85 Chip'e yüklenir. Şimdi USB'yi ATtiny85 ile bağlamanın zamanı geldi, böylece onu doğrudan programlayabiliriz. ATtiny85'i USB üzerinden programlamak için devre şeması aşağıda verilmiştir:
ATtiny Programcı için Devre Şeması
Şematik Digispark ATtiny85 kart şemasından alınmıştır, ancak ATtiny85 için bir programcı oluşturmayı hedeflediğimiz için, yalnızca Erkek USB Fişini ATtiny85 ile bağlarız.
R3, IC'nin Vcc ve PB3 pinleri arasına bağlanan bir çekme direncidir ve toplam USB arabirimi koruması için Zener Diyotları (D1-D2) eklenir. Performans panosundaki tüm bileşenleri lehimledikten sonra, aşağıdaki gibi görünecektir:
Digispark Sürücülerini Yükleme
ATtiny85'i USB kullanarak programlamak için, dizüstü bilgisayarınızda Digispark Drivers yüklü olmalıdır, yoksa yukarıda verilen bağlantıyı kullanarak indirebilirsiniz. Ardından, zip dosyasını çıkarın ve sürücüleri yüklemek için " DPinst64.exe " uygulamasına çift tıklayın.
Sürücüler başarıyla yüklendikten sonra, ATtiny85 kartınızı dizüstü bilgisayara takın. Şimdi Windows'unuzdaki Aygıt Yöneticisine gidin ve ATtiny85 aygıtı "libusb-win32 aygıtları" altında "Digispark Bootloader" olarak listelenecektir. Aygıt yöneticisinde 'libusb-win32 aygıtlarını' bulamazsanız, Görüntüle'ye gidin ve 'Gizli Aygıtları Göster'i tıklayın.
ATttiny85'i Programlamak için Arduino IDE'yi Ayarlama
ATtiny85 Kartını Arduino IDE ile programlamak için önce Arduino IDE'ye Digispark kart desteğini eklememiz gerekir. Bunun için Dosya> Tercihler'e gidin ve aşağıdaki bağlantıyı Ek Kartlar Yöneticisi URL'lerine ekleyin ve 'Tamam'ı tıklayın.
Bundan sonra, araçlar> Pano> Pano Yöneticisi'ne gidin ve 'Digistump AVR'yi arayın ve en son sürümü yükleyin.
Kurduktan sonra, artık Pano menüsünde 'Digispark' başlıklı yeni bir giriş göreceksiniz.
Şimdi, dosya> Örnekler> Temeller'e gidin ve Blink örneğini açın.
Oradaki pin numarasını LED_BUILTIN'den 0'a değiştirin.
Şimdi Tools -> Board'a geri dönün ve “ Digispark (Default - 16mhz) ” panosunu seçin. Ardından Arduino IDE'deki yükleme düğmesine tıklayın.
Not: ATtiny85 kartını bilgisayara yalnızca Arduino IDE “Şimdi cihazı ekle” mesajını görüntülediğinde bağlayın.
Kod yüklendikten sonra, ATtiny85'e bağlanan LED yanıp sönmeye başlamalıdır.
Kendi ATtiny85 Arduino Programlama kartınızı bu şekilde oluşturabilirsiniz. Aynı şekilde çalışan bir video aşağıda verilmiştir. Herhangi bir sorunuz varsa, yorum bölümüne bırakın. Diğer teknik sorularınız için forumlarımızda bir tartışma başlatabilirsiniz.