Arduino ile Proteus'ta Mikrodenetleyici Programlama - Technopat
Sonuç bulunamadı
Bütün Sonuçları Göster
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net
  • Haber
  • Yapay Zeka
  • Tavsiyeler
  • Oyun
  • Video
  • Teknoloji
    • Mobil
    • Nasıl Yapılır
    • Yazılım
    • Elektronik Alışveriş Fırsatları
    • Pratik
    • Ev Teknolojileri
    • Makale
    • Güvenlik
    • Ekonomi
    • İnternet
    • Giyilebilir Teknoloji
    • Sağlık
    • Yazıcı
    • Sosyal Medya
    • Otomobil
      • Elektrikli Otomobil
  • Sosyal
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net
  • Haber
  • Yapay Zeka
  • Tavsiyeler
  • Oyun
  • Video
  • Teknoloji
    • Mobil
    • Nasıl Yapılır
    • Yazılım
    • Elektronik Alışveriş Fırsatları
    • Pratik
    • Ev Teknolojileri
    • Makale
    • Güvenlik
    • Ekonomi
    • İnternet
    • Giyilebilir Teknoloji
    • Sağlık
    • Yazıcı
    • Sosyal Medya
    • Otomobil
      • Elektrikli Otomobil
  • Sosyal
Sonuç bulunamadı
Bütün Sonuçları Göster
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net

Anasayfa - Haber - Arduino ile Proteus’ta Mikrodenetleyici Programlama

Arduino ile Proteus’ta Mikrodenetleyici Programlama

7 Ocak 2013 - 17:30
- Haber

Bugün Proteus ve Arduino  hakkında  anlatmak istiyorum.  Proteus’ta bizim daha önce yaptığımız projenin simülasyonu yapabiliriz. Bu bize esneklik sağalayacaktır.  İlk önce Proteus’ta  devreyi kurup eksikler var mı yok  mu görebiliyoruz. Bir başka avantaj ise Arduino platformu  ve denemeler için tüm parçaları satın almaya gerek kalmaması. Proteus’un deneme sürümünü  buradan indirebilirsiniz .

İlk önce Arduino’da kısa  bir programı yazalım.Veya onu hazır olarak örneklerden alabiliriz (File, Examles, Basics, Blink).

/*

Blink

Turns on an LED on for one second, then off for one second, repeatedly.

This example code is in the public domain.

*/

// Pin 13 has an LED connected on most Arduino boards.

// give it a name:

int led = 13;

// the setup routine runs once when you press reset:

void setup() {

// initialize the digital pin as an output.

pinMode(led, OUTPUT);

}

// the loop routine runs over and over again forever:

void loop() {

digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)

delay(1000);               // wait for a second

digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW

delay(1000);               // wait for a second

}

Arduino Arabirimi

 

Proteus, Arduino’yu doğrudan kullanma  imkânı sunmuyor. Bu yüzden Proteus’ta var olan Atmega8  mikrodenetleyiciyi  kullanacağız. Programı  yazdıktan sonra derliyoruz. Compile işleminden sonra Arduino bilgisayarda temp klasörüne geçici dosyalar yaratıyor. Ben Windows XP kullanıyorum. Bu dosya benim bilgisayarımda C:\Temp\build3763817177409621585.tmp\ dizininde bulunuyor. Sizde farklı bir yerde olabilir. Mesela (Windows 8’de) C:\Users\Vitiok\AppData\Local \Temp… Bizi ilgilendiren dosya  Blink.cpp.hex. Bu dosyayı kullanarak Proteus’ta olan Atmega8 mikrodetleyiciyi çalıştıracağız.

Proteus’u açalım. Çalışma ortamında sol tarafta P’ye basıp arama penceresine  Atmega8 yazıp  listeden seçelim. Sonra bir kırmızı LED’i aynı şekilde seçelim.

Proteus Arabirimi

 

Proteus Atmega8

Tüm araçları seçtikten sonra böyle bir devre oluşturalım.

Proteus Atmega8 Devresi

Mikrodenetliyiciye çift tıklağında karşımıza böyle bir pencere gelecektir.

Proteus Hex Browse

Burada Program File penceresinden temp dosyamızı seçeriz ve OK’e bastıktan sonra simülasyonu  başlatabiliriz. Devreyi  çalıştırmak için aşağıdan start düğmesine basacağız.

Proteus Start Butonu

 

Küçük bir uygulama daha yapalım. Düğmeye bastığı zaman program LED’i yakacak. Düğmeyi bıraktığımız zaman LED’i söndürecek.

int switchPin=8;

int ledPin=13;

void setup()

{

pinMode(switchPin,INPUT);  //// initialize the digital pin as an input

pinMode(ledPin,OUTPUT);   //// initialize the digital pin as an output

}

void loop()

{

if (digitalRead(switchPin)==HIGH)

{

digitalWrite(ledPin,HIGH);

}

else

{

digitalWrite(ledPin,LOW);

}

}

Proteust’a devre:

Atmega8 Butonlu Devre

Program iki değişkeni  kullanacak. Birinci :

int switchPin=8;

8’ci pini kontrol için kullanacağız. Butona bastığımız zaman 8. pine lojik 1 gönderecek (5 Volt).

İkinci  değişken:

int ledPin=13;

13. pinde bizim LED’imiz olacak.

{

if (digitalRead(switchPin)==HIGH)

{

If komutu karşılaştırmayı yapıyor. DigitalRead  8. pini okuyor. Eğer  8. pinde 1 (1=HIGH)  ise if komutu birinci satırı çalıştırıyor. Yani:

digitalWrite(ledPin,HIGH);

Bu satırda LED’i yakıyoruz.

Eğer switchPin eşit 0’sa (0=LOW) o zaman ikinci satırı çalıştırıyor.

digitalWrite(ledPin,LOW);

LED’i söndürüyor.

If…else  komutunu daha  ayrıntılı inceleyelim.

If yapısı bize seçim  yapmayı  imkanı veriyor. Mesela siz  dijital pini kontrol etmek istiyorsanız ona göre işlem yapacaksınız. Eğer dijital pin 1 ise birinci işlem yapacak. 0’ sa ikinci işlemi yapacak.

if (inputPin == HIGH)

{

İşlem1;

}

else

{

İşlem2;

}

Sadece iki seçim için değil daha fazla da yapabiliriz. Mesela :

if (inputPin < 500)

{

İşlem1;

}

else if (inputPin >= 1000)

{

İşlem2;

}

else

{

İşlem3;

}

Burda 3. işlem inputPin   500 ve  1000 arasında yer alıyor.

If yapısı parantez içinde (inputPin<500)  inputPin’i kontrol ediyor. Doğruysa (true) birinci işlem yapıyor.Yanlışsa (false) sonraki işleme geçiyor.

Biz projede direnç (R68K) kullandık. Direnci kullanmasaydık  pinde rastgele akım LED’e  rastgele sinyalleri gönderecekti ve LED’imiz düzgün çalışmayacaktı. Bu akımı çekmek için toprağı kullandık. Proteus’ta görebilirsiniz, butona bastığınız zaman  direnç, akımın toprağa gitmesini engelliyor.

Atmega’nın kullandığı pinleri daha iyi anlamak için bu resim size yardımcı olacaktır.

Atmega168 Pinler

 

httpv://www.youtube.com/watch?v=w7pcAHf4ZeM

 

Sorularınız için bana Technopat Forum‘da ulaşabilirsiniz.

Etiketler: arduinoatmega168atmega8devredevre emülatörüMikrodenetleyiciprogramlamaproteus
PaylaşPaylaşTweetYollaPaylaş
Victor Cuiumju

Victor Cuiumju

Yorum Yap Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

RSS Technopat Sosyal

  • PlayStation Plus paketlerinden hangisi alınmalı?
  • 100.000TL sistem toplama
  • ASUS ROG Keris alınır mı?
  • Farthest Frontier 1.0.0 Türkçe yama önerisi
  • Hafızlık kursu ile açık liseye geçiş nasıl yapılır?
  • Ghost Recon Wildlands Türkçe yama önerisi
  • Telafi sınavları normal sınavdan daha mı zor?
  • MCHOSE V9 Pro vs S9 Pro
  • Lastvoice BM800 Mikrofon seti 550TL
  • 100.000TL'ye Kadar Dizüstü Bilgisayar Tavsiyesi

Technopat Video

Şu an oynayan

Razer Deathadder V4 Pro White Edition inceleme: En hızlı oyuncu faresi!

Razer Deathadder V4 Pro White Edition inceleme

Razer Deathadder V4 Pro White Edition inceleme: En hızlı oyuncu faresi!

Haber
Linux’un hikayesi: Yokluktan doğan açık kaynak devrimi

Linux’un hikayesi: Yokluktan doğan açık kaynak devrimi

Haber
vivo'nun en iddialı telefonu X300 Pro'ya ilk bakış!

vivo’nun en iddialı telefonu vivo X300 Pro’ya ilk bakış!

Akıllı Telefon

Teknoloji tutkunu Technopatların ortak adresi: Technopat.net!

Güncel teknoloji, internet, donanım, yazılım, oyun ve daha fazlası haber, makale ve videolar ile Technopat’ta sizlerle.


01010100 01100101 01100011 01101000 01101110 01101111 01110000 01100001 01110100

Kategoriler

  • Yapay Zeka
  • Ev Teknolojileri
  • Makale
  • Video

Sosyal Medya

Bağlantılar

  • Hakkında
  • Haber
  • Video
  • Sosyal
  • Çerez Politikası
© 2011-2025 Technopat. Tüm Hakları Saklıdır.
Netse
Çerez Onayı
Web sitemizi ziyaret ettiğinizde, kullanıcı deneyiminizi daha iyi hale getirmek, hizmetlerimizi size daha etkin bir şekilde sunabilmek için çerezler (cookies) ve benzeri araçlar kullanıyoruz. Çerezler, internet sitesinin düzgün çalışmasını sağlamak, içeriği kişiselleştirmek, sosyal medya özellikleri sağlamak ve trafik analizi yapmak için kullanılan küçük metin dosyalarıdır. Çerezleri nasıl kullandığımız ve kişisel verilerinizi nasıl işlediğimiz hakkında daha fazla bilgi almak için çerez politikamızı ve kişisel veri politikamızı inceleyebilirsiniz.
Fonksiyonel Her zaman aktif
Teknik depolama veya erişim, sadece kullanıcının açıkça talep ettiği belirli bir hizmetin kullanılmasını sağlama amacıyla veya iletişimin elektronik iletişim ağı üzerinden iletilmesinin tek amacıyla yasal olarak kesinlikle gereklidir.
Tercihler
Teknik depolama veya erişim, abone veya kullanıcı tarafından istenmeyen tercihlerin depolanması yasal amacıyla gereklidir.
İstatistikler
Sadece istatistiksel amaçlarla kullanılan teknik depolama veya erişim. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Pazarlama
Teknik depolama veya erişim, reklam gönderimi için kullanıcı profilleri oluşturmak veya kullanıcıyı bir web sitesinde veya birden fazla web sitesinde benzer pazarlama amaçları için takip etmek amacıyla gereklidir.
  • Seçenekleri yönet
  • Hizmetleri yönetin
  • {vendor_count} satıcılarını yönetin
  • Bu amaçlar hakkında daha fazla bilgi edinin
Tercihleri yönet
  • {title}
  • {title}
  • {title}
Sonuç bulunamadı
Bütün Sonuçları Göster
  • Giriş
  • Teknoloji Haberleri
  • Sosyal
  • Nasıl Yapılır
  • Yapay Zeka
  • Video
  • Tavsiyeler
  • İncelemeler
    • Video İncelemeler
  • Güvenlik
  • Oyun
  • Makale
    • Pratik
    • Yazar Köşeleri

© 2025 Technopat
Sorularınız için Technopat Sosyal