Bu yazıda, arduino yazılımını kullanarak bir atmega 328P-PU işlemciyi sadece bir entegre olarak kendi projelerimizde nasıl kullanabileceğimizi anlatacağım. Sayfanın sonunda ise CP2102 USB TTL programlayıcı ile program yüklenmesi sırasında oluşan hata mesajının giderilmesi ile ilgili bir de video ekledim, hata mesajının oluşumunu görmek isteyen arkadaşlar bu videoya da bakabilirler.
Bootloader yükleyeceğim mikroişlemci aşağıdaki resimde gösterdiğim gibidir. Bu işlemcileri alırken dikkat etmeniz gereken 328P yazması. 2 tipi varmış araştırdığıma göre, atmega328-PU ve atmega328P-PU.
Arduino uno üzerinde kullaılan mikroişlemci de atmega328P-PU oladuğundan dolayı , bootloader yükleyeceğimiz işlemci de aynı tip olmalı. Diğer tipteki işlemciyi IDE programı tanımıyormuş. Ben işlemcileri satın alırken şans eseri doğru olanları (atmega328P-PU) almışım, daha sonra bootloader nasıl yapılır araştırırken öğrendim ki diğer tip olan işlemciler burada anlattığım bootloader işlemi için uygun değilmiş, onlar için farklı bir yöntem gerekiyormuş.
Bootloaderı çipimize yüklemeden önce arduino uno bordumuza ISP programınız yüklememiz gerekiyor. Henüz daha herhangi bir bağlantı yapmadan önce aşağıdaki adımları sırasıyla yapalım.
- IDE programını açalım ve File>Example>Arduino ISP’yi seçerek programı açıyoruz.
- Daha sonra Tools>Boards>Arduino Uno seçeneği ile uno bordumuzu seçiyoruz.
- yine Tools>Serial Port seçeneği içinde, arduinomuzun bağlı olduğu USB portunu seçiyoruz.
- UPLOAD butonuna basarak Arduino Unomuza, Arduino ISP programını yüklüyoruz.
- USB kablosunu bilgisayardan çıkartıyoruz, Arduino bordumuzu boşa alıyoruz.
Buraya kadar herşey yolunda gittiyse, arduino uno bordumuzua normal bir program yükler gibi Arduino ISP programını yüklemiş oluyoruz. Artık elimizdeki aruino uno bordumuz, bir atmega328P-PU işlemciye bootloader yüklemeye hazır hale geldi.
Bootloader yüklemesi yapacağımız mikroişlemcimiz ile arduino arasında gerekli bağlantılar için, öncelikle aşağıdaki devreyi kuracağız. Burada dikkat edilecek husus, arduino bordu herhangi bir şekilde enerjili olmamalı, bilgisayara da bağlnatısı olmamalı. Şimdi aşağıdaki devreyi kuralım…
Devremizi kurduktan sonra Arduino uno bordumuxzun USB kablosunu bilgisayara bağlıyoruz. Yine sırasıyla aşağıdaki adımları yapıyoruz.
- Tools>Boards>Arduino Uno seçeneği ile uno bordumuzu seçiyoruz.
- Tools>Serial Port seçeneği içinde, arduinomuzun bağlı olduğu USB portunu seçiyoruz.
- Tools>Programmer>Arduino as ISP seçiyoruz.
Artık bootloaderı mikroişlemcimize yükleyebiliriz.
- Tools>Burn Bootloader şeçenğinie tıklıyoruz ve bootloaderin yüklemesinin tamamlanmasını bekliyoruz.
bu işlem yaklaış 30 sn ile 1 dk. arası sürebilir. İşlem tamamlandığında IDE’de Burn bootloader done gibi bir mesaj verecek. bu aşamadan sonra USB kablosunu Uno’dan çıkarıyoruz. Artık elimizde bir arduino uno programlarını yükleyebileceğimiz bir mikroişlemcimiz var.
Mikroişlemciye program yükleme
Bu işlemi birkaç yöntemle yapabiliriz, ancak ben burada 2 farklı yöntemden bahsedeceğim.
1- Arduino Uno bordunu kullanarak mikroişlemciye program yükleme
Aşağıdaki devreyi kurarak istediğimiz programı mikroişlemcimize yükleyebiliriz.
Bu yöntem bir kaç kez yapıldığında sorun olmaz ancak sürekli olarak uno bordun üzerinden işlemciyi sökmek uzun vadede işlemcinin bağlı olduğu soketi bozabilir. O yüzden benim pek tercih etmediğim bir yöntem bu.
2- UST to TTL programlayıcı kullanarak program yüklemek
Piyasada çeşitli programlayıcılar var. hepsi bu yöntem için uygun olmayabilir bunu baştan söylemekte yarar var, ancak benim elimdeki programlayıcı piyasada CP2102 USB 2.0 to TTL modül olarak geçiyor. resmi aşağıdaki gibi;
Bunun da 2 tipi var, bende satın aldıktan sonra öğrendim. Enabled reset olan modülü direkt olarak mikroişlemcinn Rx-Tx-Reset terminallerine bağlayıp program yükleyebiliyormuşsunuz. Araştırmalarımda bu şekilde bir yazıya rastlamıştım ancak benim elimdeki bu şekilde değildi. Ben bu modülü, Arduino pro mini’ye program yüklemek için aldım. Programları sorunsuz olarak yüklüyordu. Pro mini için gerekli olan bağlantıları pin sırasına göre yapıyorsunuz, DTR’yi de pro mininin Reset pinine bağlıyorsunuz ve sorunsuz olarak çalışıyor. Aynı programlama modülünü kullanıyorum ancak Bootloader yüklenmiş olan atmega328P-PU mikroişlemciye program yükleyemiyordum, sürekli aşağıdaki hata mesajını veriyordu.
aşağıdaki devreyi kurup bağlatıları doğru yaptığınızda bu sorun da ortadan kalkıyor ve istediğimiz programı USB TTL programlayıcı ile işlemcimize atabiliyoruz.
Buradaki kritik nokta C1 kondansatörü. 104 (100nf)’lük bir seramik kondansatör programlama sorununu ortadan kaldırıyor. Programlayıcının DTR pini ile Mikroişlemcinin arasına seri bağlanan C1 kondansatörü Programlamanın tamamlanmasını sağlıyor. Resmi aşağıdaki gibi
Devreyi kurduktan sonra Arduino IDE’yi açıyoruz ve CP2102 yi, bilgisayarın USB portuna takıyoruz.
- Tools>Board>Arduino Uno seçiyoruz
- Tools>Serial Port sekmesinden CP2102′ nin bağlı olduğu USB portunu seçiyoruz.
- UPLOAD butonuna basarak yüklemek istediğimiz programı bootloader yüklemiş olduğumuz atmega328P-PU’ya yüklüyoruz.
programın yüklenmesi ile ilgili video: