Birlikte Yazalım-2 Bluetooth Kontrollü Akıllı Lamba Projesi
STM32 ile Sıfırdan Akıllı Lamba Projesi: OLED Menü, DHT11 Sensör, RTC, Kronometre ve Bluetooth Saat/Hatırlatıcı Kontrolü
- Kayıtlı 47 öğrenci
- Süre 5:21:17
- Türkçe
Açıklama
Hayalindeki çoklu fonksiyonlu cihazı sıfırdan, satır satır birlikte yazıyoruz!
"Birlikte Yazalım" serisinin ikinci kursunda, tek bir STM32 kartının nasıl gerçek bir ürüne dönüştüğünü baştan sona deneyimleyeceksin. Bu kurs tek bir sensör ya da tek bir çevre birimi göstermekle yetinmiyor; OLED ekranlı bir menü sisteminden sıcaklık-nem ölçümüne, gerçek zamanlı saatten kronometreye ve Bluetooth üzerinden mobil kontrole kadar pek çok modülü tek bir projede bir araya getiriyor.
STM32F446 mikrodenetleyici üzerinde, profesyonel gömülü sistem projelerinin nasıl planlandığını, modüllere nasıl bölündüğünü ve katman katman (HAL → Sürücü → Uygulama) nasıl inşa edildiğini göreceksin. Her dersi sıfırdan, .c ve .h dosyalarını birlikte oluşturarak, test ederek ve hataları beraber ayıklayarak ilerliyoruz. Yani kursu bitirdiğinde elinde sadece çalışan bir cihaz değil, kendi projelerinde tekrar tekrar kullanabileceğin sağlam bir proje mimarisi anlayışı da olacak.
128×64 OLED ekranda menüler arası geçişi yöneten bir durum makinesi (state machine) tasarlayacak, butonu kesme (EXTI) ile okuyup yazılımsal debounce ile kısa/uzun basışları ayırt edeceğiz. DHT11 sensörünün single-wire haberleşme protokolünü mikrosaniye hassasiyetinde TIM2 ile bit bit çözecek, dahili RTC ile gerçek zamanlı saat ve tarih gösterecek, HAL_GetTick tabanlı milisaniye hassasiyetli bir kronometre yazacağız. Son olarak HC-05 Bluetooth modülü ile telefonundan saat-tarih güncelleme ve hatırlatıcı (reminder) ekleme özelliklerini hayata geçireceğiz.
Bu kurs, mikrodenetleyici programlamada temel bilgiye sahip olan ve "birden fazla çevre birimini aynı anda nasıl yönetirim, büyük bir projeyi nasıl toparlarım?" sorusuna pratik bir cevap arayan herkes için ideal. Adım adım, acele etmeden ve her satırın neden orada olduğunu anlatarak ilerliyoruz.
Kayıt olan tüm arkadaşlara şimdiden başarılar dilerim, hadi birlikte yazalım!
📌 Bu eğitim sonunda:
- Birden fazla çevre birimini (ekran, sensör, saat, buton, buzzer) tek bir projede sorunsuz biçimde yönetebilecek,
- Büyük bir gömülü sistem projesini modüllere bölüp katmanlı bir mimari ile baştan sona kurgulayabilecek,
- OLED ekran üzerinde durum makinesi (state machine) mantığıyla çalışan, menüli ve kullanıcı dostu bir arayüz tasarlayabilecek,
- Kesme (interrupt) tabanlı buton okuma, debounce ve kısa/uzun basış algılama tekniklerini kendi projelerinde uygulayabilecek,
- DHT11 gibi zamanlama hassasiyeti gerektiren sensörlerin haberleşme protokollerini sıfırdan yazabilecek,
- RTC ve kronometre gibi zaman tabanlı fonksiyonları doğru çözünürlükte hayata geçirebilecek,
- HC-05 Bluetooth modülü ile mikrodenetleyiciyi telefondan kontrol edebilecek (saat/tarih güncelleme, hatırlatıcı ekleme),
- Ve en önemlisi: kendi gömülü sistem projelerini profesyonelce planlama, kodlama ve test etme özgüvenine sahip olacaksınız.
👤 Kimler Katılmalı?
- STM32 ve mikrodenetleyici programlamada temel bilgiye sahip olup kendini gerçek bir projeyle ileri taşımak isteyenler,
- Tek tek çevre birimi öğrenmiş ama "hepsini tek projede nasıl bir araya getiririm?" sorusuna takılanlar,
- Bitirme projesi, staj ya da portföy için somut ve etkileyici bir gömülü sistem projesi arayan mühendislik öğrencileri,
- HAL kütüphaneleri ile çalışmayı ve katmanlı proje mimarisini uygulamalı olarak öğrenmek isteyenler,
- Sensör, ekran, Bluetooth ve zaman yönetimini bir arada deneyimlemek isteyen elektronik ve gömülü sistem meraklıları,
- "Birlikte Yazalım" serisinin ilk kursunu tamamlamış ve bir sonraki seviyeye geçmek isteyen herkes.
Neler öğreneceksiniz
Geniş kapsamlı bir gömülü sistem projesini katmanlı mimari (HAL/Sürücü/Uygulama) ile sıfırdan planlama ve kurma
STM32F446 sistem saati, güç ve çevre birimi yapılandırması (SystemClock, voltaj ölçekleme, MX_Init)
SSD1306 OLED ekranın I2C ile sürülmesi ve kullanıcı dostu arayüz/menü tasarımı
Durum makinesi (state machine) mantığıyla çok menülü, genişletilebilir bir sistem yönetimi
Buton kesmesi (EXTI), yazılımsal debounce ve kısa/uzun basış algılama
DHT11 single-wire protokolünün sıfırdan yazılması, checksum doğrulama ve hata yönetimi
TIM2 ile mikrosaniye hassasiyetli gecikme (usDelay) üretimi
Dahili RTC ile gerçek zamanlı saat ve tarih yönetimi
HAL_GetTick tabanlı milisaniye hassasiyetli kronometre tasarımı (START/STOP/RESET)
GPIO ile LED kontrolü (aç/kapa/toggle, blink) ve buzzer ile sesli geri bildirim
HC-05 Bluetooth ile mobil kontrol: saat/tarih güncelleme ve hatırlatıcı ekleme
Modüllerin ayrı ayrı test edilmesi, STM32CubeIDE ile debug ve Git/GitHub ile sürüm kontrolü
- 15328 Öğrenci
- 513 Yorum
Merhaba! Derslerinize ve iş hayatınıza yardımcı olacak kurslarımıza aşağıdan erişebilirsiniz. Kurslarımız ile ilgili her türlü sorunuzu linkedin adresimizden veya kursumuza kayıt olduktan sonra katılabileceğiniz telegram kanalından iletebilirsiniz. Şimdiden kurslarımıza kayıt olan arkadaşlara başarılar diliyorum. "Öğrenme ve öğretmenin bir sınırı yoktur." 🎉 "101" kupon kodu ile %60 indirimden faydalanabilirsiniz 🎉 Kurs satın alımlarında problem yaşıyorsanız [email protected] adresine mail atınız!
Birlikte sıkça alınanlar
Eğitmen
- Arif Mandal
- 15328 Öğrenci
- 513 Yorum
Merhaba! Derslerinize ve iş hayatınıza yardımcı olacak kurslarımıza aşağıdan erişebilirsiniz. Kurslarımız ile ilgili her türlü sorunuzu linkedin adresimizden veya kursumuza kayıt olduktan sonra katılabileceğiniz telegram kanalından iletebilirsiniz. Şimdiden kurslarımıza kayıt olan arkadaşlara başarılar diliyorum. "Öğrenme ve öğretmenin bir sınırı yoktur." 🎉 "101" kupon kodu ile %60 indirimden faydalanabilirsiniz 🎉 Kurs satın alımlarında problem yaşıyorsanız [email protected] adresine mail atınız!
Dersler
Genel Bilgilendirme
1 SayfalarKurs Tanıtımı
1 Sayfalar 1:53Kurs Dosyaları (Kodlar, Slaytlar ve Dökümanlar)
1 Sayfalar- İçeriğe Git
Projenin Tanıtımı Genel Şablon - Kursumuzda Neler Yapacağız?
1 Sayfalar 12:30Kullanılan Malzemelerin Tanıtımı ve Projenin Oluşturulması
1 Sayfalar 16:22- Kullanılan Malzemelerin Tanıtımı ve Projenin Oluşturulması 16:22
Led Sürücüsünün Yazılması ve Test Edilmesi
1 Sayfalar 14:45- Led Sürücüsünün Yazılması ve Test Edilmesi 14:45
Kesmeleri Kontrol Edeceğimiz Sürücünün Yazılması-1
1 Sayfalar 16:58- Kesmeleri Kontrol Edeceğimiz Sürücünün Yazılması-1 16:58
Kesmeleri Kontrol Edeceğimiz Sürücünün Yazılması-2
1 Sayfalar 10:09- Kesmeleri Kontrol Edeceğimiz Sürücünün Yazılması-2 10:09
Buzzer Sürücüsünün Yazılması ve Test Edilmesi
1 Sayfalar 24:20- Buzzer Sürücüsünün Yazılması ve Test Edilmesi 24:20
Buzzer Sürücüsünün Non-Blocking Olarak Ayarlanması
1 Sayfalar 2:33- Buzzer Sürücüsünün Non-Blocking Olarak Ayarlanması 2:33
usDelay Sürücüsünün Yazılması
1 Sayfalar 7:53- usDelay Sürücüsünün Yazılması 7:53
DHT11 Sürücüsünün Yazılması ve Test Edilmesi
1 Sayfalar 15:29- DHT11 Sürücüsünün Yazılması ve Test Edilmesi 15:29
Kronometre Sürücüsünün Yazılması -1
1 Sayfalar 19:02- Kronometre Sürücüsünün Yazılması -1 19:02
Kronometre Sürücüsünün Yazılması -2 ve Test Edilmesi
1 Sayfalar 6:14- Kronometre Sürücüsünün Yazılması -2 ve Test Edilmesi 6:14
Kronometre Sürücüsüne Yeni Foksiyonların Eklenmesi
1 Sayfalar 6:53- Kronometre Sürücüsüne Yeni Foksiyonların Eklenmesi 6:53
RTC Foksiyonlarının Yazılması - 1
1 Sayfalar 13:40- RTC Foksiyonlarının Yazılması - 1 13:40
RTC Foksiyonlarının Yazılması - 2
1 Sayfalar 7:11- RTC Foksiyonlarının Yazılması - 2 7:11
BLUETOOTH Modülü Sürücüsünün Yazılması-1
1 Sayfalar 15:17- BLUETOOTH Modülü Sürücüsünün Yazılması-1 15:17
BLUETOOTH Modülü Sürücüsünün Yazılması-2
1 Sayfalar 25:03- BLUETOOTH Modülü Sürücüsünün Yazılması-2 25:03
128x64 Oled Ekranın Projeye Eklenmesi
1 Sayfalar 10:05- 128x64 Oled Ekranın Projeye Eklenmesi 10:05
Menu Tasarımı -1 (Led Kontrol Menüsü)
1 Sayfalar 8:44- Menu Tasarımı -1 (Led Kontrol Menüsü) 8:44
Menu Tasarımı -2 (Led Kontrol Menüsü)
1 Sayfalar 5:45- Menu Tasarımı -2 (Led Kontrol Menüsü) 5:45
Menu Tasarımı -3 (DHT11 Menüsü)
1 Sayfalar 7:10- Menu Tasarımı -3 (DHT11 Menüsü) 7:10
Menu Tasarımı -4 (Kronometre Menüsü - Start Stop)
1 Sayfalar 6:48- Menu Tasarımı -4 (Kronometre Menüsü - Start Stop) 6:48
Menu Tasarımı -5 (RTC Menüsü)
1 Sayfalar 3:58- Menu Tasarımı -5 (RTC Menüsü) 3:58
Menu Tasarımı -6 (Bluetooth Menüsü)
1 Sayfalar 5:16- Menu Tasarımı -6 (Bluetooth Menüsü) 5:16
Menu Tasarımı -7 (Açılış ve Hakkında Menülerinin Tasarımı)
1 Sayfalar 4:14- Menu Tasarımı -7 (Açılış ve Hakkında Menülerinin Tasarımı) 4:14
Projemize Low Power Eklenmesi - Sistemi Uykuya Sokma
1 Sayfalar 13:58- Projemize Low Power Eklenmesi - Sistemi Uykuya Sokma 13:58
Kullanıcı Verilerini Flash'a Kayıt Edip Geri Okuma
1 Sayfalar 17:35- Kullanıcı Verilerini Flash'a Kayıt Edip Geri Okuma 17:35
Kronometre Geriye Doğru Sayma ve Alarm Ayarlama Eklenmesi
1 Sayfalar- İçeriğe Git
Read Me Dökümanının Oluşturulması ve Yapılacaklar Listesi
1 Sayfalar 16:23- Read Me Dökümanının Oluşturulması ve Yapılacaklar Listesi 16:23
Projenin Diğer Aşamalarının Analizi Test, PCB, Mekanik Müh.
1 Sayfalar 5:09- Projenin Diğer Aşamalarının Analizi Test, PCB, Mekanik Müh. 5:09
Tebrikler!
1 Sayfalar- İçeriğe Git
Yorumlar
Yorum yapmak için bu içeriğe sahip olman gerekir.
Teşekkürler hocam, yazılım konusunda geliştirmek isteyenlere tavsiye ederim.
Kodlama yeteneği kazanmak isteyenler için güzel bir kurs, tavsiye ederim. Teşekkürler hocam
Teşekkürler hocam, esp32 ile de uygulama kursu çekerseniz sevinirim.
Bütün konuları öğrenebileceğimiz bir kurs olmuş, sağolun hocam😊