Konu özeti
1.Hafta: Derste Kullanılacak Yazılım ve Donanımlar
Bu dersimizde dersimizi işlerken gerekli olacak donanım ve yazılımlar hakkında bilgiler vereceğiz.
TrueStudio STM32'ye tam desteği olan profesyonel bir platformdur. Yakın zamanda Lite ve Pro farkının kaldırılması ve ücretsiz hale getirilerek TrueStudio STM32 şekline gelmesi nedeniyle ders kapsamında bu platformu kullanacağım.
ARM Cortex M Mikrodenetleyicilerine program yazmak için kullanabileceğiniz açık kaynak platformlardan bir tanesi CooCox IDE. Bu dersimizde CooCox IDE'yi nereden indirebileceğinizi ve kurulum adımlarını anlatıyorum.
Yazdığımız programın mikrodenetleyici içerisindeki ARM tabanlı işlemcinin anlayabilmesi için makine koduna çevrilmesi gerekmektedir. Bu işlemi gerçekleştiren araçlara derleyici denir. Bu dersimizde ARM tabanlı işlemciler için GCC derleyicisinin indirme, yükleme ve CoIDE için derleyici ayarlarının nasıl yapıldığını anlatacağım.
Bu ders videosunda yazdığımız uygulamayı ST Firmasının deneme kartlarına atmamız ve program üzerinde hata ayıklama işlemini yapmamızı sağlayan ST-Link V2 Sürücüsünün nasıl yüklendiğini anlatıyoruz.
Bu ders videosunda STM32-CubeMX kurulumu ve STM32 Nucleo-F103RB kartında Led yak söndür uygulamasının trueStudio ile beraber nasıl gerçekleştirildiğini işledik.
2.Hafta: ARM Mikrodenetleyici Ailesi
Bu dersimizde günümüzde kullanımı git gide artan ARM mikrodenetleyici ailesini ve kullanım alanlarını işleyeceğiz.
Bu dersimizde ARM Cortex İşlemci ailelerini tanıtacağız. Dersimizin amacı ARM Cortex İşlemci aileleri hakkında kısa bir bilgi vermektir.
3.Hafta: Mikrodenetleyici Geliştirme Kartları
Bu dersimizde ders boyunca kullanacağımız STM32 Nucleo kartlarını hakkında kısa bir bilgi veriyoruz..
4.Hafta: Led Yak Söndür Uygulaması (Blinking)
Bu dersimizde Genel Amaçlı Giriş-Çıkış biriminden okuduğumuz dijital bilgi ile yine Genel Amaçlı Giriş-Çıkış birimine bağlı kart üzerindeki kullanıcı LED'i kontrol ettik. Ayrıca mikrodenetleyici programlamada program algoritması oluşturulurken çevresel birimlerin etkin kullanımının ne kadar önemli olduğunu göstermeye çalıştım.
5.Hafta: ADC ve PWM
Bu dersimizde mbed platformunu kullanarak STM32F103RB kartı ile ADC dönüşümü, pwm kontrolünün nasıl yapıldığını anlatıyoruz. Dersimizin sonunda RBG Led ile bir ışık şovu yapıyoruz. Son olarak dersin son dakikalarında en küçük öğrencim yaptığım uygulamaya çok şaşırarak konu hakkında benden bilgi almakta :D
0-5V gerilim aralığını 10 bit bir ADC kullanarak dijital hale çevrilmesi istemektedir. a) ADC’nin en küçük örnekleyebileceği gerilim kaç mV’tur b) ADC’nin dijital çıkışı iki tabanında 1011010010 ise okunan gerilim yaklaşık kaç Volt’tur
6.Hafta: 7 Segment Display Ekran
Bu dersimizde mbed platformu ile sayıcı uygulaması yapacağız.
7.Hafta: Uygulama Haftası
Bu dersimizde ARMmbed platformunda sayıcı uygulaması geliştiriyoruz. Dersimizde 3642BH 4 basamaklı 7 segment led ekranı taratarak üzerinde 0-9999 değerleri arasındaki sayıları göstereceğiz.
8.Hafta: Buton Girişleri (Kenar Tetikleme)
Bu uygulamada bir önceki dersimizde yaptığımız uygulamada yaşanan sorunu yazılımsal kenar algılama algoritması ile düzelterek sayıcı uygulamasının her butona basıldığında rakam değerini güncellenmesi sağlanıyor. Ayrıca sayı aralığını genişleterek -999 ile 9999 arasında sayım işlemini gerçekleştirebilecek hale getiriyoruz.
9.Hafta: Timer ve Ticker
Bu dersimizde sayıcı uygulamasının ekranını Timer donanımına bağlı Ticker kullanarak çalıştırıyoruz. Böylece daha önce yaptığımız ekran tarama olayını donanımsal yaparak daha sonra yazacağımız kodların tarama süresini etkilemesini engellemiş oluyoruz.
10-11.Haftalar: Harici Kesme (External Interrupt)
Bu dersimizde buton girişlerinin harici kesme özellikleri de aktif hale getirilerek butona basıldığı zaman işlem yapması sağlanıyor. Böylece tasarladığımız sayıcı devresinin performansını arttırmış olduk.
12-14.Hafta:ARM Mikrodenetleyicilerde Donanım Ayarları
Bu dersimizde mBed platformunda yazdığımız sayıcı uygılamasını STM32CubeIDE platformuna taşıyoruz. Tabi ki bununla birlikte donanıma daha hakim olacağımız, ayrıca hata analizi yapabileceğimiz bir çok özelliği de kullanabilir hale geleceğiz.