Arduino Leonardo
Leonardo’yu diğer bir çok arduino modelinden ayıran en büyük özellik; Atmega32u4 üzerinde dahili usb haberleşme özelliğinin olmasıdır. Bu şekilde 16u2 gibi ikinci bir usb-seri dönüştürücü işlemcisine gerek yoktur. Bu sayede sanal com portun (CDC) dışında leonardo bilgisayara mouse, klavye gibi bağlanarak kullanılabilir.

Arduino Leonardo Teknik Özellikler
- Mikrodenetleyici ATmega32u4
- Çalışma Gerilimi 5V
- Giriş Gerilimi (önerilen) 7-12V
- Giriş Gerilimi (limit) 6-20V
- Dijital I/O Pinleri 20 (7 tanesi PWM çıkışı, 12 tanesi analog giriş)
- Analog Giriş Pinleri 12
- Her I/O için Akım 40 mA
- 3.3V Çıkış için Akım 50 mA
- Flash Hafıza 32 KB (ATmega32u4) 4 KB kadarı bootloader tarafından kullanılmaktadır
- SRAM 2.5 KB (ATmega32u4)
- EEPROM 1 KB (ATmega32u4)
- Saat Hızı 16 MHz
- Uzunluk 68.6 mm
- Genişlik 53.4 mm
- Ağırlık 20 g

Güç
Arduino Leonardo gücünü usb üzerinden veya harici güç kaynağından alabilir. Harici güç kaynağı AC-DC adaptör olabileceği gibi bataryada olabilir. Adaptör kart üzerindeki 2.1mm merkez-pozitif güç soketinden bağlanabilir. Batarya kart üzerindeki GND ve Vin pinleri üzerinden bağlanabilir.
Kartın çalışması için sürekli olarak usb’nin bağlı olması şart değildir. Kart sadece adaptör veya batarya ile çalıştırılabilir. Bu sayede kart bilgisayardan bağımsız olarak çalıştırılabilir.
Harici güç kaynağı olarak 6-20V arası kullanılabilir. Ancak bu değerler limit değerleridir. Kart için önerilen harici besleme 7-12V arasıdır. Çünkü kart üzerinde bulunan regülatör 7V altındaki değerlerde stabil çalışmayabilir. 12V üstündeki değerlerde de aşırı ısınabilir.
Leonardo kartının üzerindeki mikrodenetleyicinin çalışma gerilimi 5V’dur. Vin pini veya güç soketi üzerinden verilen 7-12V arası gerilim kart üzerinde bulunan voltaj regülatörü ile 5V’a düşürülerek karta dağılır.
Güç pinleri aşağıdaki gibidir:
- VIN: Harici güç kaynağı kullanılırken 7-12V arası gerilim giriş pini.
- 5V: Bu pin regülatörden çıkan 5V çıkışı verir. Eğer kart sadece usb (5V) üzerinden çalışıyor ise usb üzerinden gelen 5V doğrudan bu pin üzerinden çıkış olarak verilir. Eğer karta güç Vin (7-12V) veya güç soketi (7-12V) üzerinden veriliyorsa regülatörden çıkan 5V doğrudan bu pin üzerinden çıkış olarak verilir.
- 3V3: Kart üzerinde bulunan 3.3V regülatörü çıkış pinidir. Maks. 50mA çıkış verebilir.
- GND: Toprak pinleridir.
- IOREF : Arduino kartlar üzerindeki bu pin, mikrodenetleyicinin çalıştığı voltaj referansını sağlar. Kartın giriş / çıkış pinlerinin çalıştığı voltajdır. Leonardo için bu değer 5 V tur.

Hafıza
Atmega32u4 32 KB’lık flash belleğe sahiptir (4 KB kadarı bootloader tarafından kullanılmaktadır). 2.5 KB SRAM ve 1 KB EEPROM’u bulunmaktadır.
Giriş ve Çıkış
Arduino Leonardo ‘da bulunan 20 tane dijital giriş / çıkış pininin tamamı, pinMode(), digitalWrite() ve digitalRead() fonksiyonları ile giriş ya da çıkış olarak kullanılabilir. Bu pinler 5 V ile çalışır. Her pin maksimum 40 mA çekebilir ya da sağlayabilir ve 20-50 KOhm dahili pull – up dirençleri vardır. Ayrıca bazı pinlerin özel fonksiyonları vardır:
- Seri Haberleşme, 0 (RX) ve 1 (TX): TTL Seri veri alıp (RX), vermek (TX) için kullanılır. Dikkat edilmesi gereken nokta, Serial sınıfı leonardo üzerindeki USB (CDC) haberleşmesinde kullanılır. Pin 0 ve 1 pinleri üzerindeki seri haberleşme için Serial1 sınıfı kullanılmalıdır.
- Harici Kesme, 3 (interrupt 0), 2 (interrupt 1), 0 (interrupt 2), 1 (interrupt 3), 7 (interrupt 4): Bu pinler yükselen kenar, düşen kenar veya değişiklik kesmesi pinleri olarak kullanılabilir. Ayrıntılı bilgi için attachInterrupt() fonksiyon sayfasını inceleyebilirsiniz.
- PWM, 3,5,6,9,10,11 ve 13: 8-bit çözünürülükte PWM çıkış pinleri olarak kullanılabilir.
- SPI, ICSP Header’i üzerinde: Bu pinler SPI haberleşmesi için kullanılır. Dikkat edilmesi gereken nokta ICSP header’ı üzerindeki SPI pinleri kart üzerindeki başka hiç bir pine bağlı değildir. Yani uno’daki gibi bu pinler 10,11,12 ve 13. pinlere bağlı değildir. Eğer SPI haberleşmesi yapan bir shied kullanacaksanız, bu shield üzerinde 3×2 pinlik ICSP header’ı olması gerekiyor. Yoksa bu shield leonardo ile kullanılamaz.
- LED, 13: Leonardo üzerinden 13. pine bağlı olan dahili bir led bulunmaktadır. Pin HIGH yapıldığında led yanacak, LOW yapıldığında led sönecektir.
- Analog, A0-A5 ve A6-A11(aynı zamanda 4,6,8,9,10 ve 12. dijital pinler): Leonardo 12 tane 10-bit çözünürlüğünde analog giriş pinine sahiptir. Bu pinlerden A0-A5 arasında olanlar uno’da olduğu gibi analog pin kısmındadır. A6-A11 arasındakiler ise dijital pin kısmındadır ve sırasıyla dijital 4,6,8,9,10 ve 12. pinlere bağlıdır. Bu pinler kartın altında belirtilmektedir. Tüm analog pinler dijital giriş ve çıkış içinde kullanılabilir. Pinlerin ölçüm aralığı 0-5V’dur. AREF pini ve analogReference() foksiyonu kullanılarak alt limit yükseltilip, üst limit düşürülebilir.
- I2C, 2 veya SDA pini ve 3 veya SCL pini: Bu pinler I2C haberleşmesi için kullanılır. Bu pinler uno üzerinde A4 ve A5 pinlerine bağlıydı. Leonardo da ise pin 2 ve 3’e bağlıdır.
- AREF: Analog giriş için referans pini.
- Reset: Mikrodenetleyici resetlenmek istendiğinde bu pin LOW yapılır. Reset işlemi kart üzerinde bulunan Reset Butonu ile de yapılabilir.
Arduino leonardo ile Atmega32u4 arasındaki pin haritalaması sayfayını inceleyebilirsiniz.
Haberleşme
Arduino Leonardo’nun bilgisayarla, başka bir arduino veya mikrodenetleyici ile haberleşmesi için bir kaç farklı seçenek vardır. Atmega32u4, 0 (RX) ve 1 (TX) pinleri üzerinden UART TTL (5V) seri haberleşme imkanı sunar. 32u4 usb üzerinden bilgisayara bağlanarak sanal bir com port açar ve serial (CDC) haberleşme yapmaya imkan sağlar. Arduino bilgisayar programı içerisinde barındırdığı seri monitör ile arduino ile bilgisayar arasında text temelli bilgilerin gönderilip alınmasını sağlar. Leonardo ile bilgisayar arasında usb üzerinden haberleşme olduğu zaman kart üzerinde bulunan RX ve TX ledleri yanacaktır.
Leonardo üzerinde donanımsal olarak bir adet seri port bulunmaktadır. Ancak SoftwareSerial kütüphanesi ile bu sayı yazılımsal olarak arttırılabilir.
Atmega32u4 aynı şekilde I2C ve SPI portlarıda sağlamaktadır. Arduino bilgisayar programı ile gelen Wire kütüphanesi I2C kullanımını, SPI kütüphanesi de SPI haberleşmesini sağlamak için kullanılır.
Leonardo bilgisayara mouse, klavye gibi tanıtılabilir ve Keyboard and Mouse sınıfları ile kullanılabilir.
Programlama
Arduino Leonardo kartı Arduino bilgisayar programı (Arduino IDE) ile programlanır. Programda Tools > Board sekmesi altında Arduino Leonardo’yu seçip programlamaya başlayabilirsiniz. Ayrıntılı bilgi için referans ve temel fonksiyonlar sayfasını inceleyebilirsiniz. Arduino Leonardo üzerindeki Atmega32u4 üzerine bootloader denilen özel bir yazılım yüklü gelir. Bu sayede kartı programlarken ekstra bir programlayıcı kullanmanıza gerek yoktur.Haberleşme orjinal AVR109 protokolü ile sağlanır.
Bootloader yazılımı bypass edilerek kart doğrudan mikrodenetleyicinin ICSP header’i üzerinden ISP programlayıcı ile programlanabilir (Referans).
Usb Aşırı Akım Koruması
Arduino Leonardo üzerinden bulunan resetlenebilir sigorta bilgisayarın usb portunu kısa devrelerden veya aşırı akım tüketimi durumlarından korumaktadır. Kart bilgisayar usb portu üzerinden 500mA’den fazla akım çektiğinde kart otomatik olarak usb’den aldığı gücü koruma amacıyla kesmektedir. Fazla akım durumu veya kısa devre ortadan kaldırıldığında sigorta normal konuma döner ve tekrar bağlantı kurulur.
Leonardo’nun klasik Arduino kartlarına avantajları ve farkları
Daha Fazla Dijital Pin

- D14 – MISO – PB3
- D15 – SCK – PB1
- D16 – MOSI – PB2
- D17 – SS – PB0

Daha Fazla Ve Daha İyi Pwm Pin
Leonarda 1 tane fazla PWM pinine sahipmiş gibi görünse de (Leonardo 7, Uno 6 PWM’e sahip) , ATmega32U4 çok güçlü zamanlayıcılara (timer) sahip. Uno’dakile ek olarak timer4 zamanlayıcısı fark yaratmaktadır. 1×8-bit, 2×16-bit ve 1×10-bit yüksek hızlı (64MHz) zamanlayıcı. Toplamda 9 adet bağımsız zamanlayıcılı çıkış pini olan Leonardo’da, bu pinlerden 2 tanesi paylaşımlı olduğu için kalan 7 tanesi PWM olarak kullanılabilir.
- D3: 8-bit timer0
- D5: 16-bit timer1&3
- D6: 10-bit timer4
- D9: 16-bit timer1&3
- D10: 16-bit timer1&3
- D11: 8-bit timer0
- D13: 10-bit timer4
Daha Fazla Analog Pin
Uno gibi ATmegaxx8 tabanlı Arduino’larda dijital olarak kullanılabilen 6 adet analog giriş pini bulunur. Leonardo’da ise 12 adet analog giriş pini var ki dijital olarak ta kullanabilirsiniz 🙂 Arduino Shiled’lerindeki uyumu bozmamak için Leonardo’nun A6-A11 pinleri dijital pinlere bağlanmıştır.

- A6 – D4
- A7 – D6
- A8 – D8
- A9 – D9
- A10 – D10
- A11 – D12
———– - A0 – D18
- A1 – D19
- A2 – D20
- A3 – D21
- A4 – D22
- A5 – D23
Sda/Scl Pinleri
Pin dizilimini bozmamak için SDA ve SDL pinleri aynı yerinde.

Seri Port
Klavye Ve Fare Olarak Kullanım
USB Uyarısı
Sonuç
Sık Sorulan Sorular
Arduino Leonardo’nun en büyük farkı nedir?
Leonardo, ATmega32u4 mikrodenetleyicisini kullanarak yerleşik USB iletişimi sağlar. Bu sayede ek bir USB-Seri dönüştürücüye gerek duymaz ve klavye, fare gibi HID cihazları olarak çalışabilir.
Arduino Leonardo hangi projeler için uygundur?
Leonardo, USB bağlantısı gerektiren projeler, klavye/mouse simülasyonu, oyun kontrolcüsü, güvenlik sistemleri ve veri giriş otomasyonu gibi projeler için uygundur.
Arduino Leonardo ile hangi güç kaynakları kullanılabilir?
Leonardo, 5V USB bağlantısıyla veya harici bir güç kaynağı ile (7-12V) çalıştırılabilir. Maksimum giriş voltajı 20V’dir, ancak 12V üzeri voltajlar regülatörün ısınmasına neden olabilir.
Leonardo hangi Arduino kütüphanelerini destekler?
Leonardo, Uno ve diğer Arduino kartlarında olduğu gibi tüm temel kütüphaneleri destekler. Ek olarak, Keyboard ve Mouse kütüphanelerini kullanarak HID cihazı olarak programlanabilir.
Arduino Leonardo’da kullanılan mikrodenetleyici nedir?
Arduino Leonardo, ATmega32u4 mikrodenetleyicisini kullanır. Bu mikrodenetleyici, USB iletişimi için dahili desteğe sahiptir.
Arduino Leonardo ile Uno arasındaki temel farklar nelerdir?
Leonardo, yerleşik USB desteğine sahip olduğu için HID cihazı olarak kullanılabilir. Ayrıca, 12 analog giriş pini sunarken, Uno yalnızca 6 analog giriş pinine sahiptir.
Arduino Leonardo hangi programlama dili ile yazılır?
Leonardo, Arduino IDE ile C++ tabanlı Arduino dilinde programlanır.
Arduino Leonardo HID cihaz olarak nasıl çalışır?
Leonardo, Keyboard ve Mouse kütüphaneleri sayesinde klavye veya fare olarak davranabilir. Bu sayede bilgisayara tuş komutları veya fare hareketleri gönderebilir.
Arduino Leonardo üzerinde kaç adet PWM çıkışı bulunur?
Leonardo, 7 adet PWM çıkışı sunar. Bunlar, 3, 5, 6, 9, 10, 11 ve 13 numaralı dijital pinlerdir.
Arduino Leonardo’da USB-Seri dönüştürücü bulunuyor mu?
Hayır, Leonardo’da harici bir USB-Seri dönüştürücü bulunmaz. USB bağlantısı doğrudan ATmega32u4 mikrodenetleyicisi tarafından sağlanır.