Proteus Isis ile Arduino Simülasyonu Yapmak
Merhaba ben Uğurcan bu benim arduinoturkiye.com‘daki ilk makalem umarım beğenirsiniz.
Bu makalemde size Proteus Isis ile arduinonuzu nasıl kolay bir şekilde simüle edeceğinizi anlatacağım. Devrelerinizi tasarladıktan sonra onları simüle etmek gerçekten önemli. Size zaman kazandırır. Yaptığınız hataları daha kolay görürsünüz. Yazdığınız programın düzgün çalışıp çalışmadığını kontrol edersiniz. Bunun için aklımıza gelen devreleri anında protoboardlara veya delikli plaketlere yapmak yerine isis’te çizip simüle edip denemek size zaman kazandırır. Ve boşa kaynak harcamazsınız.
Yapacaklarımız kısaca şunlar:
Yeni bir isis tasarımı açıp sayfamıza bir ATmega328 mikrokontrolör ekliyoruz çalışması için gerekli olan cristali ve kapasitorleri bağlıyoruz ATmega’nın çalışması için minumum devreyi hazırlıyoruz. Bu arada simülasyon yapmak için elimizde programımızın .hex dosyası olması gerek maalesef arduino idesi bunu doğrudan bize vermiyor. Ama .hex dosyasını arduino idesinde yazdığımız programı upload ettiğimizde temp klasöründen bulabiliyoruz. Son olarakta isiste kurduğumuz devredeki ATmega kontrolörüne programı yüklediğimizde, boom herşey mükemmel çalışıyor:) . Aşağıda size herşeyi adım adım resimler ile anlatayım.
- Şimdi kristal ile ATmega arasındaki bağlantıyı resimdeki gibi yapalım. Dikkat edin kristalin bir ucu PB6/XTAL1 bacağına diğeri ise PB7/XTAL2 bacağına bağlanılacak. Ardından kutupsuz kondansatörlerimizin bir bacağını kristalin bir bacağına diğerine ise toprağa şekildeki gibi bağlayalım.
(görselde ufak bir hata var. C2 kondansatörünün değeri 22pf olacak!)
- Şimdi yazdığımız programı simüle edebilmek için devremizdeki ATmega328 mikrokontrolörü üzerinde birkaç ayar yapmamız gerek çünkü kullandığımız ayarlar standart ayarlar değil ve simülasyonda ATmega’nın çalışması için osilatör ayarlarının doğru yapılması gerek. Devremizdeki ATmega’nın üzerine çift tıklatarak açtığımız ayar penceresini aşağıdaki resimdeki gibi düzeltin. CLKDIV8 yazan bölümü “(1) Unprogrammed” olarak değiştirin. Ardından CKSEL Fuses bölümünü de “(1111) Ext. Crystal 8.0-Mhz” olarak değiştirin. Clock frequency bölümünündeki “(Default)” yerine “16Mhz” yazın. İşte tamamdır.

- Şimdi sıra devremizi simüle etmek için yazdığımız programı mikrokontrolörümüze yüklemeye geldi. Öncelikle şunu bilmeliyiz ki Isis’te simüle etmek için programımızın hex olarak derlenmiş olması gerekiyor. Arduino idesi bize doğrudan .hex dosyasını vermiyor. Ama programı upload ettiğimizde program hex olarak derlenip arduinoya yükleniyor bu sırada da hex geçici dosya olarak temp klasörüne gidiyor. Biz .hex dosyasını oradan alacağız. Temp klasörü windows 8 ve windows 7 için “C:\Users\<kullanıcı_adı>\AppData\Local\Temp” yolunda, windows xp için “C:\Documents and Settings\<kullanıcı_adı>\Local Settings\Temp” yolunda olması gerek eğer yanlışım varsa lütfen düzeltin. Unutmayın Arduino idesinin programı derleyeceği boardın Arduino Uno olduğundan emin olun.

- Ben Arduino örneklerinden Blink’i upload ettim Biliyosunuz blink’te 13.pine bağlı olan ledi yakıp söndürüyorduk. Tabii arduino bilgisayarıma bağlı değildi ve bağlı olmasınada gerek yok, com.. Port bulunamadı diye bir hata alabilirsiniz hiç önemli değil es geçin lütfen. Sizde programınızı yazdıktan sonra upload tuşuna basın. Sonra temp klasörüne girip son değiştirilen klasöre girelim karşımıza Sketch_ismi.cpp.hex gibi bir dosya çıkacak muhakkak oradadır. Onu kopyalayıp istediğimiz bir yere yapıştıralım temp klasöründe durması sakıncalı çünkü silinebiliyor bir süre sonra. Ardından tekrar isis’teki sayfamıza dönelim ATmega’nın üzerine çift tıklayıp açtığımız düzenleme penceresinden Program file bölümündeki tuşa tıklayalım yapıştırdığımız yoldan .hex dosyamızı seçelim ve ok diyip çıkalım.




- Vee neredeyse herşey bitti şimdi sadece play tuşuna basıp devremizi simüle etmek kaldı.
Eğer tüm adıları doğru takip edip uyguladıysanız devreniz mutlu mesut çalışacaktır. Eğer bir sorun varsa tekrar tekrar denemekten vazgeçmeyin hatanızı bulmak için en baştan başlayabilirsiniz. Birde şunu söylemem gerek hangi bacak hangi pin oluyor diye soracak olursanız aşağıdaki resimde ben her bir pini ifade eden terminaller bağladım sizde yapabilirsiniz. Hatta aşağıda makalede yer alan tüm dosyaları (isis tasarımı, .hex dosyası ve makale görsellerinin yer aldığı bir klasör) ekliyorum. İstediğiniz gibi kopya çekin, üzerinde yapın, değiştirin, geliştirin.

Makale dosyalarını Skydrive’ıma attım buda http://sdrv.ms/OqnLMY
linki. (isis tasarımı, .hex dosyası ve makale görsellerinin yer aldığı bir klasör)
Umarım makalem hoşunuza gitmiştir, eğer hatalarım varsa nolur mazur görün bu benim ilk makalem ve hatalarımı belirtmekten çekinmeyin:) Siz söylediğinizde benim düzeltmem için fırsatım olur. Kendinize iyi bakın:).








