Başka Bir Arduino Kullanarak Bootloader Yükleyici Yapmak
Arduino, hobi amaçlı projelerden profesyonel uygulamalara kadar geniş bir yelpazede kullanılan popüler bir mikrodenetleyici platformudur. Arduino’nun kullanım kolaylığı, büyük ölçüde önceden yüklenmiş olan bootloader sayesinde sağlanır. Bootloader, Arduino’nun USB üzerinden programlanmasını mümkün kılar. Ancak bazen, özellikle düşük seviyeli programlama yaparken veya bootloader’ın kendisi bozulduğunda, bootloader’ı yeniden yüklemek gerekebilir. Bu yazıda, başka bir Arduino kullanarak bir Arduino’ya bootloader yükleme işlemini adım adım inceleyeceğiz.
Bootloader Nedir ve Neden Yüklememiz Gerekir?
Bootloader, mikrodenetleyicinin başlatılmasından sonra çalışan ve yeni programların belleğe yazılmasını sağlayan küçük bir programdır. Arduino’larda, bootloader sayesinde USB üzerinden doğrudan program yükleyebiliriz.
Bootloader’ı Yeniden Yükleme Nedenleri:
- Bootloader’ın Bozulması: Yanlışlıkla veya bir hata sonucu bootloader silinebilir veya bozulabilir.
- Özel Bootloader Kullanımı: Daha küçük bir bootloader kullanmak veya güvenlik önlemleri eklemek gibi özel ihtiyaçlar için farklı bir bootloader kullanmak isteyebilirsiniz.
- Düşük Seviyeli Programlama: Doğrudan donanım üzerinde çalışmak ve bootloader’ı atlamak istediğiniz durumlar olabilir.
- İki adet Arduino kartı (Bir tanesi programlayıcı olarak kullanılacak)
- Jumper kabloları
- Arduino IDE
- (Opsiyonel) Breadboard
Gerekli Malzemeler
Bağlantılar
Bootloader yükleme işlemi için iki Arduino kartı arasında SPI (Serial Peripheral Interface) protokolü üzerinden iletişim kurulması gerekmektedir. Programlayıcı olarak kullanılacak Arduino, hedef Arduino’ya SPI sinyallerini gönderecektir.
Aşağıdaki bağlantıları dikkatlice yapın:
| Programlayıcı Arduino | Hedef Arduino |
|—|—|
| Dijital 10 (SS) | Reset |
| Dijital 11 (MOSI) | Dijital 11 (MOSI) |
| Dijital 12 (MISO) | Dijital 12 (MISO) |
| Dijital 13 (SCK) | Dijital 13 (SCK) |
| GND | GND |
| VCC (5V) | VCC (5V) |
Önemli Not: Reset pinine bağlantı yaparken dikkatli olun. Yanlış bağlantı hedef Arduino’ya zarar verebilir.
Arduino ISP Eskizini Yükleme
Programlayıcı olarak kullanılacak Arduino’ya “ArduinoISP” örneğini yüklemeniz gerekmektedir. Bu eskiz, Arduino’nun bir ISP (In-System Programmer) olarak davranmasını sağlar.
1. Arduino IDE’yi açın.
2. `Dosya > Örnekler > 11.ArduinoISP > ArduinoISP` yolunu izleyerek ArduinoISP örneğini açın.
3. Programlayıcı olarak kullanacağınız Arduino kartını bilgisayarınıza bağlayın.
4. Arduino IDE’de doğru kart ve port ayarlarını seçin.
5. ArduinoISP eskizini Arduino’ya yükleyin.
/*
ArduinoISP Turns an Arduino board into an AVR ISP programmer
Created by David A. Mellis.
Modified by Erni Tronolone
Modified by Sandro Maffiodo
Modified by Randall Bohn
*/
#include <SPI.h>
// Pin 10: Slave Select (SS) pin
const int reset_pin = 10;
void setup() {
pinMode(reset_pin, OUTPUT);
SPI.begin();
}
void loop() {
// Boş döngü
}
Bootloader Yükleme İşlemi
1. Arduino IDE’de `Araçlar > Kart` menüsünden, hedef Arduino kartınızın modelini seçin (örneğin, Arduino Uno).
2. `Araçlar > Programlayıcı` menüsünden “Arduino as ISP” seçeneğini seçin.
3. `Araçlar > Bootloader’ı Yak` seçeneğini tıklayın.
Arduino IDE, programlayıcı Arduino üzerinden hedef Arduino’ya bootloader’ı yükleyecektir. Bu işlem birkaç dakika sürebilir. İşlem tamamlandığında, Arduino IDE size başarılı bir mesaj gösterecektir.
Hata Durumunda:
Sorun Giderme İpuçları
Sonuç
Bu yazıda, başka bir Arduino kullanarak bir Arduino’ya bootloader yükleme işlemini adım adım inceledik. Bu yöntem, bootloader’ı bozulmuş veya silinmiş olan Arduino kartlarını kurtarmak veya özel bootloader’lar kullanmak için kullanışlı bir yöntemdir. Bağlantıları dikkatlice yaparak ve adımları doğru bir şekilde takip ederek, Arduino’nuzun bootloader’ını kolayca yeniden yükleyebilirsiniz.