Proteus ile Arduino Simülasyonu Nasıl Yapılır?
Proteus ile Arduino mu? Arduino projeleriniz, Proteus ile simüle ederek, gerekli düzeltmeleri ve ayarları, fiziksel olarak yapmadan öngörmek ister misiniz? İşte bu yazımız tam size göre!
.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 FilesLabcenter ElectronicsProteus 7 ProfessionalLIBRARY hedefine
Proteus V8 Kullanıyorsanız
C:Program FilesLabcenter ElectronicsProteus 8 ProfessionalLIBRARY hedefine (32 bit işletim sistemi için)
C:Program Files (x86)Labcenter ElectronicsProteus 8 ProfessionalLIBRARY 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.
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;
Bastıktan sonra, programın en altındaki çıktı satırında, şöyle bir konum göreceksiniz;
“C:\Users\KULLANICIADINIZ\AppData\Local\Temp\arduino_build_849285/Blink.ino.elf”
yani;
C:UsersKULLANICIADINIZAppDataLocalTemparduino_build_849285
C:UsersKULLANICIADINIZAppDataLocalTemp
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.
.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.
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.
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;
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.
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.
Son Görüntüler
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ü
Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.