Kayıtlar

Mart, 2025 tarihine ait yayınlar gösteriliyor

C++ Fonksiyonlar

  C++’ta fonksiyonlar , kod tekrarını önlemek ve programı daha modüler hale getirmek için kullanılır. Fonksiyonlar, belirli bir işlemi yerine getiren kod bloklarıdır ve gerektiğinde çağrılarak çalıştırılırlar. 1. C++ Fonksiyonlarının Tanımlanması Bir fonksiyon üç ana bileşenden oluşur: Fonksiyon bildirimi (Prototype) – Fonksiyonun ne yaptığı ve nasıl çağrılacağı tanımlanır. Fonksiyon tanımı (Definition) – Fonksiyonun içeriği yazılır. Fonksiyon çağrısı (Call) – Fonksiyonun çalıştırıldığı yerdir. Genel format: veri_tipi fonksiyon_adı(parametreler) { // Fonksiyonun kodları return değer; } 2. Parametresiz ve Geri Dönüş Değeri Olmayan Fonksiyonlar Bu tür fonksiyonlar, dışarıdan hiçbir veri almaz ve geri dönüş yapmaz ( void kullanılır). Örnek: Ekrana mesaj yazdıran fonksiyon #include <iostream> using namespace std; // Fonksiyon bildirimi void mesajYaz() { cout << "Merhaba, bu bir fonksiyondur!" << endl; } int main() { ...

C++ Diziler

 Tabii! C++’ta diziler (arrays) , aynı veri tipine sahip birden fazla değeri saklamak için kullanılan veri yapılarıdır. Diziler, bellekte ardışık olarak saklanır ve her eleman bir indeks numarası ile erişilebilir. 1. C++ Dizilerinin Tanımlanması Bir dizi tanımlamak için şu yapıyı kullanırız: veri_tipi dizi_adı[eleman_sayısı]; Örneğin: int sayilar[5]; // 5 elemanlı bir integer dizisi Bununla birlikte, dizi tanımlanırken boyutu sabit olmak zorundadır . 2. Dizilere Değer Atama ve Erişim Bir dizi şu şekilde başlatılabilir: int sayilar[5] = {10, 20, 30, 40, 50}; Eğer tüm değerleri başlatmazsan, kalan elemanlar varsayılan olarak 0 olur : int dizi[5] = {5, 10}; // İlk iki eleman 5 ve 10, diğerleri 0 olur . Dizi elemanlarına indeks kullanarak erişebilirsin: #include <iostream> using namespace std; int main() { int sayilar[3] = {10, 20, 30}; cout << "İlk eleman: " << sayilar[0] << endl; cout << "İkinci eleman: ...

İleri Seviye Mikrodenetleyici Konuları

  İleri Seviye Mikrodenetleyici Konuları Mikrodenetleyiciler, temel giriş/çıkış işlemlerinin ötesine geçerek zamanlama yönetimi, gerçek zamanlı işletim sistemleri (RTOS), ileri düzey haberleşme protokolleri, güvenlik mekanizmaları ve güç yönetimi gibi gelişmiş konuları içerecek şekilde programlanabilir. Bu konular, endüstriyel otomasyon, IoT (Nesnelerin İnterneti), robotik ve gömülü sistem güvenliği gibi alanlarda hayati öneme sahiptir. Bu başlık altında, ileri seviye mikrodenetleyici konularını ve alt başlıklarını detaylı şekilde ele alacağız. 1. Gerçek Zamanlı İşletim Sistemleri (RTOS) ve Zamanlayıcılar Gömülü sistemlerde bazen birden fazla görevin eşzamanlı yürütülmesi gerekir. RTOS, bu görevlerin belirli zamanlama kurallarına göre yönetilmesini sağlar. 📌 Öne Çıkan Konular: Temel RTOS Yapısı Görevler (Tasks) Zamanlayıcılar (Schedulers) Kesme öncelikleri Thread Yönetimi ve Çoklu Görev (Multithreading) Kooperatif Zamanlama: Görevler kendi zamanlarını...

Mikrodenetleyici Türleri ve Aileleri

  Mikrodenetleyici Türleri ve Mikrodenetleyici Aileleri Mikrodenetleyiciler, farklı uygulamalar için özel olarak tasarlanmış entegre devrelerdir. Bunlar, endüstriyel otomasyon, IoT (Nesnelerin İnterneti), tıbbi cihazlar, tüketici elektroniği ve otomotiv gibi birçok alanda kullanılır. Mikrodenetleyiciler, işlemci çekirdeği (CPU), bellek (RAM, ROM, Flash) ve giriş/çıkış (I/O) birimlerini tek bir çip üzerinde barındırır. Bu başlık altında, mikrodenetleyici türleri ve popüler mikrodenetleyici ailelerini detaylı bir şekilde inceleyeceğiz. 1. Mikrodenetleyici Türleri Mikrodenetleyiciler, farklı kriterlere göre sınıflandırılabilir: bellek yapısı, işlemci mimarisi, bit genişliği, güç tüketimi ve uygulama alanları. a) Bellek Mimarisine Göre Mikrodenetleyiciler Harvard Mimarisi Mikrodenetleyiciler Bellek ve veri yollarını ayrı tutar. Avantajı: Daha yüksek hız ve paralel veri işleme. Örnek: PIC Mikrodenetleyiciler, AVR Mikrodenetleyiciler. Von Neumann Mimarisi Mikrodenetle...

Mikrodenetleyicilerde Gömülü Sistemler Güvenliği

  Gömülü Sistemler Güvenliği Gömülü sistemler, özellikle kritik altyapılarda, sanayi kontrol sistemlerinde, tıbbi cihazlarda ve IoT (Nesnelerin İnterneti) uygulamalarında yaygın olarak kullanılmaktadır. Ancak, bu sistemlerin güvenliği büyük önem taşır çünkü kötü amaçlı saldırılar, veri sızıntıları ve fiziksel müdahaleler ciddi sonuçlara yol açabilir. Bu başlık altında, gömülü sistem güvenliği ile ilgili temel kavramları ve kritik güvenlik önlemlerini detaylı bir şekilde inceleyeceğiz. 1. Donanım Tabanlı Güvenlik Gömülü sistemlerin güvenliği sadece yazılım seviyesinde değil, donanım seviyesinde de sağlanmalıdır. a) Güvenilir Önyükleme (Secure Boot) Güvenilir önyükleme, sistemin sadece doğrulanmış ve yetkilendirilmiş yazılımları çalıştırmasını sağlar. Bir dijital imza mekanizması kullanarak sistemin firmware'ini doğrular. Sahte veya değiştirilmiş yazılım çalıştırılmasını engeller. 🔹 Nasıl Çalışır? Mikrodenetleyici veya mikroişlemci, ROM içinde bulunan bir önyükleyiciy...

Mikrodenetleyicilerde Proje Tabanlı Uygulamalar

  Proje Tabanlı Uygulamalar Mikrodenetleyicilerle yapılan projeler, teorik bilgiyi pratiğe dökerek öğrenmeyi kalıcı hale getiren en iyi yöntemlerden biridir. Proje tabanlı uygulamalar , mikrodenetleyici programlama, donanım tasarımı ve çeşitli sensör/aktüatörlerle etkileşimi kapsayan gerçek dünya uygulamalarını hayata geçirmek için kullanılır. Bu bölümde, farklı seviyelerde proje önerileri sunarak her birinin nasıl çalıştığını detaylıca açıklayacağız. 1. Temel Seviye Projeler Bu projeler, yeni başlayanlar için temel giriş/çıkış işlemleri, butonlar, LED’ler ve temel sensörleri içeren projelerdir. a) LED Yakıp Söndürme (Blink Projesi) Bu, mikrodenetleyici dünyasına giriş için en temel projedir . LED’in belirli aralıklarla yanıp sönmesini sağlar. 📌 Kod Örneği (Arduino) void setup() { pinMode(LED_BUILTIN, OUTPUT); // LED çıkış olarak tanımlandı } void loop() { digitalWrite(LED_BUILTIN, HIGH); // LED’i yak delay(1000); // 1 saniye bekle digitalWrite(LED_B...

Mikrodenetleyicilerde Kesme Yönetimi

  Kesme (Interrupt) Yönetimi Kesme ( Interrupt ), mikrodenetleyicinin belirli bir olay meydana geldiğinde ana program akışını geçici olarak durdurup özel bir işlemi gerçekleştirmesini sağlayan mekanizmadır. Bu mekanizma, hızlı tepki verilmesi gereken işlemlerde büyük avantaj sağlar. Bu bölümde kesmelerin nasıl çalıştığını, türlerini ve nasıl kullanıldığını detaylıca ele alacağız. 1. Kesmenin Temel Çalışma Prensibi Bir kesme meydana geldiğinde, mikrodenetleyici aşağıdaki işlemleri sırasıyla gerçekleştirir: Mevcut işlemi durdurur ve mevcut CPU durumunu kaydeder. Belirlenen kesme fonksiyonunu (ISR - Interrupt Service Routine) çalıştırır. Kesme işlemi tamamlandıktan sonra kaydedilen CPU durumunu geri yükler. Ana programın kaldığı yerden çalışmasına devam eder. 📌 Örnek Senaryo: Bir butona basıldığında mikrodenetleyicinin bir LED’i yakması ve buton bırakıldığında LED’i söndürmesi için kesme kullanılabilir. 2. Kesme Türleri Mikrodenetleyicilerde kullanılan kesmeler dona...

Mikrodenetleyicilerde Güç Yönetimi

  Güç Yönetimi Mikrodenetleyiciler, gömülü sistemlerde genellikle düşük güç tüketimi ile çalışması gereken cihazlar için tasarlanır. Güç yönetimi , mikrodenetleyicinin toplam enerji tüketimini en aza indirerek pil ömrünü uzatmayı ve verimli çalışmasını sağlamayı amaçlar. Bu bölümde güç yönetiminin temel bileşenlerini detaylıca inceleyeceğiz. 1. Mikrodenetleyicilerde Güç Kaynakları Bir mikrodenetleyici sisteminin güç kaynağı, sistemin çalışabilirliğini ve verimliliğini belirler. En yaygın kullanılan güç kaynakları şunlardır: Pil (Battery): Taşınabilir cihazlarda en çok kullanılan güç kaynağıdır. Lityum-iyon, alkalin ve nikel-metal hidrit (NiMH) gibi farklı türleri bulunur. DC Adaptörler: Sabit bir güç kaynağına ihtiyaç duyan mikrodenetleyiciler için kullanılır. Genellikle 5V veya 12V çıkışlı adaptörler tercih edilir. Güneş Enerjisi (Solar Power): Uzun süreli çalışması gereken gömülü sistemlerde kullanılabilir. USB Güç Kaynağı: Arduino ve benzeri kartlarda 5V USB bağ...

Mikrodenetliyicilerde Hafıza Yönetimi

  Hafıza Yönetimi Mikrodenetleyicilerde hafıza yönetimi , sistemin çalışması için gerekli program kodlarını, değişkenleri ve geçici verileri verimli bir şekilde saklamak ve işlemek anlamına gelir. Hafıza yönetimi, RAM, ROM, EEPROM gibi farklı bellek türlerinin etkin kullanımı ile ilgilenir. Mikrodenetleyiciler, bilgisayarlara kıyasla çok daha sınırlı bellek kaynaklarına sahiptir , bu nedenle optimize edilmiş bellek yönetimi çok önemlidir. Bu bölümde hafıza yönetiminin temel bileşenlerini detaylıca inceleyeceğiz. 1. Mikrodenetleyicilerde Bellek Türleri Mikrodenetleyicilerde genellikle üç ana bellek türü bulunur: RAM (Random Access Memory - Rastgele Erişimli Bellek) ROM (Read-Only Memory - Salt Okunur Bellek - Flash Bellek olarak da bilinir) EEPROM (Electrically Erasable Programmable Read-Only Memory - Elektrikle Silinebilir Programlanabilir ROM) Bu bellek türleri, farklı amaçlar için kullanılır. 2. RAM (Geçici Bellek) ve Yönetimi RAM , mikrodenetleyicinin çalışma ...

Mikrodenetleyicilerde LCD ve Ekran Kontrolü

LCD ve Ekran Kontrolü Mikrodenetleyiciler, LCD (Liquid Crystal Display - Sıvı Kristal Ekranlar) ve diğer ekran türleri ile iletişim kurarak veri görüntüleme, grafik oluşturma ve kullanıcı arayüzü sağlama amacıyla kullanılır. LCD'ler düşük güç tüketimi ve esnek kullanım avantajı sayesinde mikrodenetleyici tabanlı projelerde yaygın olarak tercih edilir. 1. LCD Türleri ve Çalışma Prensipleri LCD ekranlar karakter tabanlı (segmentli) ve grafik tabanlı olarak iki ana gruba ayrılır. a) Karakter LCD’ler (Segmentli Ekranlar) Belirli sayıda satır ve sütundan oluşan bir ekrana sahiptir. Genellikle 16x2 (16 sütun, 2 satır) veya 20x4 (20 sütun, 4 satır) yapıdadır. HD44780 gibi standart LCD denetleyicileri kullanır. I2C modülü eklenerek daha az pin ile kontrol edilebilir. 📌 Örnek: 16x2 LCD'nin Yapısı ---------------- | Hello, World! | | Temperature: 25C | ---------------- Çalışma Prensibi: LCD, 8-bit veya 4-bit veri hattı ile mikrodenetleyiciye bağlanır. RS (Regis...

Sensör ve Aktüatör Kontrolü [Mikrodenetleyiciler]

  Sensör ve Aktüatör Kontrolü Mikrodenetleyiciler, sensörler ve aktüatörler ile etkileşime girerek çevresel verileri algılayabilir ve fiziksel işlemleri kontrol edebilir. Sensörler giriş birimleri olarak çalışırken, aktüatörler çıkış birimleri olarak hareket eder. Sensörler , ortamdan veri alarak mikrodenetleyiciye iletir (örneğin, sıcaklık, ışık, nem vb.). Aktüatörler , mikrodenetleyiciden gelen komutlara göre fiziksel dünyada bir işlem gerçekleştirir (örneğin, motorları döndürmek, ışıkları açıp kapatmak). 1. Sensörler ve Çalışma Prensipleri Sensörler, belirli bir fiziksel olayı ölçen ve bunu elektrik sinyaline dönüştüren bileşenlerdir. a) Analog Sensörler Sürekli değişen fiziksel büyüklükleri ölçer. Mikrodenetleyici, ADC (Analog to Digital Converter - Analog Dijital Dönüştürücü) kullanarak bu verileri dijital hale getirir. 📌 Örnek Analog Sensörler: ✅ LM35 (Sıcaklık Sensörü) ✅ LDR (Işık Sensörü) ✅ Potansiyometre ✅ Nem Sensörleri (DHT11, DHT22) 📌 Örnek:...

Mikrodenetleyicilerde Haberleşme Protokolleri

  Haberleşme Protokolleri ve Detaylı Açıklamaları Mikrodenetleyiciler, diğer mikrodenetleyiciler, bilgisayarlar, sensörler, motorlar, ekranlar ve diğer bileşenlerle veri alışverişinde bulunmak için çeşitli haberleşme protokollerini kullanır. Haberleşme protokolleri, veri iletimini düzenleyen kurallar bütünüdür. Genel olarak haberleşme protokolleri ikiye ayrılır: Paralel Haberleşme Protokolleri Seri Haberleşme Protokolleri 1. Paralel Haberleşme Protokolleri Paralel haberleşme, verilerin aynı anda birden fazla hat üzerinden iletilmesini sağlar. Genellikle daha hızlıdır , ancak daha fazla kabloya ve bağlantı pinine ihtiyaç duyar. Kısa mesafelerde kullanışlıdır. a) GPIO (General Purpose Input Output) Mikrodenetleyicinin giriş-çıkış pinlerini kullanarak haberleşme sağlar. Örnek: Bir LED yakmak veya bir butona basılıp basılmadığını kontrol etmek. Genellikle düşük hızlı haberleşme gerektiren işlemler için uygundur. Paralel veri alışverişi için birden fazla GPIO pini kulla...

Mikrodenetleyicilerde Zamanlama ve Sayaçlar

  Zamanlama ve Sayaçlar (Timers & Counters) Mikrodenetleyicilerde zamanlama (timing) ve sayaçlar (counters) , hassas gecikmeler oluşturmak, görevleri belirli aralıklarla çalıştırmak veya olayları saymak için kullanılır. Bu özellikler, kesintiler (interrupts), PWM sinyalleri ve olay zamanlamaları gibi birçok kritik işlemi yönetmede önemlidir. 1. Zamanlayıcılar (Timers) Zamanlayıcılar, belirli bir süreyi takip eden ve mikrodenetleyicinin dahili saat frekansı (clock) ile çalışan donanım modülleridir. Kullanım alanları: Kesintiler (Interrupts) PWM (Darbe Genişlik Modülasyonu) Gecikmeler (Delays) Olay zamanlama (Event Timing) Sayısal saatler ve kronometreler Mikrodenetleyicilerde genellikle birden fazla zamanlayıcı bulunur. Örneğin: 8-bit Timer → 0-255 arasında sayar. 16-bit Timer → 0-65535 arasında sayar. 32-bit Timer → Çok daha büyük sayıları takip edebilir. a) Zamanlayıcı Çalışma Prensibi Zamanlayıcılar, belirli bir saat sinyali (clock signal) ile çalışır...