Proteus ile Arduino Simülasyonu Nasıl Yapılır?

.hex Dosyası Nedir?

HEX dosyası, mikrodenetleyicileri gibi programlanabilir mantık aygıtları tarafından kullanılan onaltılık bir kaynak dosyasıdır. Onaltılık biçimde kaydedilmiş ayarları, yapılandırma bilgilerini veya diğer verileri içerir. HEX dosyaları ikili veya metin biçiminde depolanabilir.

Proteus Nedir?

Proteus görsel olarak elektronik devrelerin simülasyonunu yapabilen yetenekli bir devre çizimi, simülasyonu, animasyonu ve PCB çizimi programıdır. Labcenter Electronic firmasının bir ürünüdür. Klasik workbench’lerden en önemli farkı mikroişlemcilere yüklenen HEX dosyalarını da çalıştırabilmesidir.

Proteus'a Arduino Kütüphanesi Ekleme

Buradan, proteus için hazırlanmış Arduino kütüphanesi indirip gerekli yerlere kopyalayalım;

Ayrıca Proteus çizimini ve .hex dosyasını sizler için aynı klasöre ekledik, doğrudan inidirip kullanabilirsiniz.

Proteus V7 Kullanıyorsanız

C:\Program Files\Labcenter Electronics\Proteus 7 Professional\LIBRARY hedefine

Proteus V8 Kullanıyorsanız

C:\Program Files\Labcenter Electronics\Proteus 8 Professional\LIBRARY hedefine (32 bit işletim sistemi için)

C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY hedefine (64 bit işletim sistemi için)

Dosyanın içindeki “.IDX” ve “LIB” uzantılı dosyaları Proteus programının kurulu olduğu klasör içinde ki “LIBRARY” klasörüne kopyalıyoruz. Ayrıca, .MDF, .DLL, .SML, .LML gibi dosyalar ise “MODELS” klasörüne kopyalanır. Biz bu yazı da böyle kaynak dosyaları kullanmadık ama aklınızda bulunması iyi olabilir, indirdiğiniz dosyadan çıkacak olan .IDX ve .LIB dosyalarını doğru yere atmanız yeterli olacak. Ayrıca bu işlemleri yapmadan önce klasörleriniz yedeğiniz alarak, istenmeyen durumların önüne geçebilirsiniz.

Dosyaları Doğru Yere Attınız Fakat Yinede Çalışmadı mı?

Bazı kurulum ve bilgisayarlarda, LIBRARY klasörü bulunmaz, böyle durumlarda kendiniz bu klasörü gerekli yere oluşturabilirsiniz. Buna rağmen kütüphaneler eklenmiyorsa, Belgelerim klasörünü kontrol edin, bazı durumlarda Proteus dosyaları burada olabiliyor.

Arduino IDE Ayarları

Simülasyona başlamadan önce Dosya >> Tercihler’de derlemenin işaretlendiğinden emin olun. Çünkü “derleme” kodu derler ve .hex dosyasınu oluşturur. Bu .hex dosyası Proteus simülasyonunu çalıştırmak için gerekli olan en önemli kısımdır.

proteus ile arduino, Proteus ile Arduino Simülasyonu Nasıl Yapılır?

Arduino Blink Kodu

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

Arduino'dan .hex Dosyasını Oluşturmak

Taslaklar içinde bulunan Blink örneğini bu yazı için doğrudan kullanacağız. Bu örneği anladıktan sonra istediğiniz her hangi bir kodu kesinlikle hatasız şekilde çalıştırabilirisiniz. Arduino’nun çıktı penceresine .hex dosyasının oluştuğu konum gelmiyorsa, üst kısımda bahsettiğimiz ayaları gözden geçirin. .hex dosyasının oluşması için Kontrol Et butonuna basalım; 

proteus ile arduino, Proteus ile Arduino Simülasyonu Nasıl Yapılır?

Bastıktan sonra, programın en altındaki çıktı satırında, şöyle bir konum göreceksiniz;

proteus ile arduino, Proteus ile Arduino Simülasyonu Nasıl Yapılır?

“C:\\Users\\KULLANICIADINIZ\\AppData\\Local\\Temp\\arduino_build_849285/Blink.ino.elf”

yani;

C:\Users\KULLANICIADINIZ\AppData\Local\Temp\arduino_build_849285

C:\Users\KULLANICIADINIZ\AppData\Local\Temp\

 bu dosyanın bulunduğu konuma gidince bize lazım olan .hex uzantılı dosyaya da ulaşmış olacağız. 

AppData klasörüne girmek için;

Windows arama çubuğuna %appdata% yazarak ya da doğrudan Arduino programınızdaki yolu kopyalayarak girebilirsiniz. 

proteus ile arduino, Proteus ile Arduino Simülasyonu Nasıl Yapılır?

.HEX dosyasını ister başka bir klasöre alın, isterseniz burada bırakarak Proteus üzerinden doğrudan seçebilirsiniz, burada bırakmanız daha mantıklı olabilir çünkü Arduino üzerinde kodda yapacağınız bir değişiklikten sonra tekrar .hex dosyası oluşturmanız gerekiyor, bu sayede sürekli dosya taşımaktansa, sürekli buradan seçmek daha kolay olacaktır. Ayrıca kodda değiştirme yaptıksan sonra “Kontrol Et” yapmanız gerekmekte bu sayede .hex dosyası yeniden yazılacaktır.

Proteus Kurulumu

Arduino kütüphanesi sorunsuz bir şekilde kurulduysa, Component Mode > Pick Devices kısmından istediğimiz Arduino kartını seçebiliriz, Arduino kodunu UNO için kullanıyoruz, bu yüzden Proteus üzerinden de UNO kartını seçiyoruz. Aynı şekilde LED i de listemize çift tıklayarak alıyoruz, LED modülünü alırken Animated olmasına özen gösterin.

proteus ile arduino, Proteus ile Arduino Simülasyonu Nasıl Yapılır?
proteus ile arduino, Proteus ile Arduino Simülasyonu Nasıl Yapılır?

Kartımızı çalışma alanına ekleyip, LED i 13. pin ve GND çıkışına bağlayarak devreyi tamamlıyoruz, sıra .hex dosyasını yükleyip, simülasyonu başlatmakta.

proteus ile arduino, Proteus ile Arduino Simülasyonu Nasıl Yapılır?

GND çıkışı için Proteus’un sol araç panelindeki “Terminal Mode” kısmını kullanabilirsiniz.

Proteus'taki Arduino'ya .hex Dosyasını Yüklemek

Devremizi tamamladıktan sonra, Arduino’ya çift sol tıklayarak ya da sağ tıklayıp “Edit Properties” e basarak kartın ayar ekranını açalım, bizi böyle bir ekran karşılamış olacak;

proteus ile arduino, Proteus ile Arduino Simülasyonu Nasıl Yapılır?

Buradan Program File kısmındaki butona basarak .hex dosyasını seçelim. Ayrıca en alta kısımdaki Exclude from Simulation butonu işaretliyse, işareti kaldıralım. Diğer özellikleri bu şekilde kullanabilirsiniz, simülasyon ve Arduino hakkında daha fazla bilgiye ve tecrübeye sahip olunca bu bilgileri istekleriniz doğrultusunda değiştirebilirsiniz.

proteus ile arduino, Proteus ile Arduino Simülasyonu Nasıl Yapılır?

Simülasyon Testi

Devremiz ve .hex dosyamızın aşamalarını tamamladığımıza göre, simülasyona geçebiliriz. Proteus’un en sağ alt köşesindeki mavi başlatma oku ile simülasyona başlayabiliriz.

proteus ile arduino, Proteus ile Arduino Simülasyonu Nasıl Yapılır?

Son Görüntüler

proteus ile arduino, Proteus ile Arduino Simülasyonu Nasıl Yapılır?

Simüle ederken, sizlerin ekranın da LED keskin bir şekilde yanıp, sönecektir. Hareketli resim dosyasını buraya eklerken CrossFade(Çapraz Geçiş) şeklinde yükledik, bu yüzden hafif şekilde yanıp sönüyor gibi gözüküyor. Bu görünüşü elde etmek isterseniz, PWM yöntemi ile elde edebilirsiniz. Kısacası burada sadece optik bir yanılsama var:)

İstek Üzerine: Çapraz Geçiş Olmadan, Ham Görüntü

proteus ile arduino, Proteus ile Arduino Simülasyonu Nasıl Yapılır?