Stm32 İle Led Blink Uygulaması

Onur NP

Yeni Üye
Yasaklı Üye
29 Mar 2019
13
3
3
Selamlar Arkadaşlar Mikrodenetleyici camiasına girip de led-blink yapmayan yoktur sanırım. Ne kadar basit görünse de led'i yakıp söndürmenin verdiği mutluluğu inanın bana ileri ki seviyeler de hiçbir şeyden alamıyorsunuz bunu yaşayan biri olarak söylüyorum.

Neyse artık goygoy'u bırakıp tahmin edebileceğiniz gibi bu uygulama da sizlere "Led Blink" yani led yakıp söndüremeden bahsedeceğim..

İhtiyaç Listesi
  • 1x Led diyot
  • 1x 220 Ohm direnç
  • 1x Bread Board
  • 1x Stm32 herhangi bir modeli olabilir. ( Ben Stm32f103c8t6 Kullanacağım )

Malzemelerimiz hazır olduğuna göre artık bağlantımızı yapmaya geçebiliriz. Ama ben Bilmeyen arkadaşlar olacağını düşünerek öncelikle kullandığımız bazı malzemelerin özelliklerinden ve nasıl kullanılacağından ufak bir bahsetmek istiyorum.

Led diyot : Elektronik piyasasına yabancı arkadaşlarım eminim bütün ledler aynı diye düşünüyor ancak aşağıdaki görselde de görüldüğü üzere led diyotlar genellikle bildirim ledi olarak kullanılan ve çok düşük akım değerlerine sahip ledlerdir. Bu ledlerin uzun olan bacakları her zaman Anot yani Artı bacağı'dır diğer bacakta malum Katot yani eksi bacağıdır.

Diffused led örnek görseli.png

Direnç : Bu devrede bizde direnç kullandık sebebine gelecek olursak Dirençler devreden geçen akımı sınırlamak yada indirgemek amaçlı kullandığımız elemanlardır. Stm32 i/o yani giriş çıkış bacaklarının verebildiği maksimum akım değeri 50 mA'dir. Bu akım değerini aşarsak ne yazık ki ister stm32 olsun ister Arduino kullandığımız i/o bacağını yakabiliriz.Bu kötü süpriz'i yaşamamak için led'in Anot bacağının girişine bir led atarak önlemimizi almış oluyoruz.

Haydi sözü fazla uzatmadan Devremizin bağlantı şemasına göz atalım.

Bağlantı Şeması

Led blink baglanti semasi.png
Görüğünüz üzere ledimizin Anot bacağını direnç ile a1 bacağına bağlıyoruz. Katot Bacağını ise Gnd bacağına bağlıyoruz. Artık kodlamaya hazırız.

Kodlama

CubeMx Programını açıp Öncelikle SYS bölümünden Stm32'mizi programladığımız protokolümüzü etkinleştiriyoruz.

Cubemx sys ayar.png

Sonra RCC bölümünden External resonatörümüzü etkinleştirelim.

Cubemx rcc ayar.png

Şimdi A1 bacağına tıklayıp output yani çıkış ayarlamasını yapalım.

Cubemx gpio ayar.png

Tüm Ayarlamalarımızı Yaptığımıza Göre Artık Kodlarımızı Project Manager Bölümünden Toolchain Mdk Arm seçip projemize isim verip Generate edelim.

Artık Project open diyerek keilde Kodlamaya başlayabiliriz.
Keil ana ekran.png
Öncelikle While(1) döngü içine girelim ve Aşağıda verdiğim kodu yapıştıralım.
C:
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET);     // Pinimizi Aktif ettik
HAL_Delay(200);                                                                            // Gecikme verdik
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET);    // Pinimizi Pasif ettik
HAL_Delay(200);                                                                            //Gecikme verdik
Keil yukleme.png
Kodlarımızı Sarı ile belirttiğim butona basıp derledikten sonra Kırmızı ile işaretlediğim load butonuna basarak Stm32'ye yüklüyoruz..

Ve Mutlu Son....
Stm32 Breadboard.png
Umarım Faydalı olmuştur okuduğunuz için teşekkürler İyi Çalışmalar.
 
Son düzenleme:

Robotikforum.net Nedir?

  • Robotikforum.net 2020 yılında kurulup yayın hayatına başlayan ve Türkiye’de robotik kodlama alanının gelişimine katkıda bulunmak için bu alan ile ilgilenen bireylerin bir birleri ile yardımlaşmaları ve fikir danışmalarını sağlayarak daha iyi öğrenmek için her bir bireyin bilgisini ve tecrübesini alarak kendini geliştirebileceği ve sorularına cevap bulabileceği bir platform olarak kurulmuştur.

Bilgilendirme!!!

İçerik sağlayıcı paylaşım sitelerinden biri olan www.robotikforum.net Adresimizde T.C.K 20.ci Madde ve 5651 Sayılı Kanun'un 4.cü maddesinin (2).ci fıkrasına göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur.

Sayfamızı beğendin mi?

X Merhaba ziyaretçi Robotikforum.net adresine hoşgeldin. Robotikforum.net
adresi gelişen teknoloji ile günden güne yaygınlaşan robotik teknolojileri
hakkında yardımlaşabileceğin ve tartışabileceğin bir platformdur.
Aramıza katılmaya ne dersin?
Kayıt Ol