Gömülü sistemler hakkında bir şeyler biliyorsanız, mikroişlemcilerin ve mikrodenetleyicilerin önemini bilirsiniz. Projenize uygun olanı nasıl seçeceğinizi bilmiyor musunuz? Size yardımcı olmak için buradayız! Bu makalede, mikroişlemcilerinizi ve mikrodenetleyicilerinizi satın alırken bilmeniz gereken önemli şeylerden bahsedeceğiz!

Detaylara girmeden önce, gömülü sistemlerin, mikroişlemcilerin ve mikrodenetleyicilerin temellerini ve arka planını gözden geçirelim:
Gömülü Sistemler Nedir?

Gömülü sistem, sadece bir sistemi ifade etmez; programlanabilir bir donanım ve yazılım kombinasyonudur. Bu nedenle, daha büyük bir sistem içinde belirli bir işlev veya işlevler için kullanılabilir. Raspberry Pi ve Arduino gibi bazı popüler örnekler vardır.
Gömülü Sistem Türleri

Gömülü sistemlerin 3 ana türü vardır:
- Küçük ölçekli: 8 veya 16 bit mikrodenetleyici ile tasarlanmış, pil ile çalışabilen sistemlerdir.
- Orta ölçekli: 16 veya 32 bit mikrodenetleyicilerle tasarlanmış, yazılım ve donanım karmaşıklıkları sunar. Geliştirme için C veya Java gibi diller kullanılır.
- Gelişmiş: Genellikle birçok yazılım ve donanım karmaşıklığına sahiptir, bu nedenle işlemciler gerektirir. Diğer bileşenler veya yazılım ve donanım, geliştirme sürecinin sonraki aşamalarında birleştirilebilir.
Gömülü Sistemlerde Temel Bileşenler
- Güç Kaynağı: Güç olmadan hiçbir sistem çalışamaz.
- İşlemci: Gömülü sistemin performansını belirleyen faktördür, 8 bit ile 32 bit arasında değişir.
- Hafıza: Salt okunur bellek (ROM) ve rastgele erişim belleği (RAM) içerir.
- Zamanlayıcı: Tüm zamanlama ve sayma işlevlerini sağlar, bunu değiştirmek için programlama yapılabilir.
- İletişim Portları: Sistemin diğer gömülü sistemlerle iletişim kurmasını sağlayan arayüzdür, UART, USB, Ethernet vb. gibi.
- Giriş ve Çıkış (I/O): Klavye, fare ve anahtarlar gibi çeşitli cihazları sürmek/arayüzlemek için kullanılır.
Portlar hakkında daha fazla bilgi edinmek isterseniz, bu kılavuza göz atın! >Bilgisayar Portlarının Genel Görünümü: Türler, İşlevler ve Karşılaştırma
Mikroişlemci Nedir?

Mikroişlemci veya mikroişlemci birimi (MPU), bir CPU işlevini içeren tek çipli yarı iletkendir. 64 bit mikroişlemci ayrıca Hızlandırılmış İşlem Birimi (APU) olarak adlandırılır ve CPU ile GPU’yu birleştirir.
Mimari:

- ALU (Aritmetik ve Mantıksal Birim): Giriş cihazından veya hafızadan alınan veriler üzerinde aritmetik ve mantıksal işlemler gerçekleştirir.
- Kayıtlar: Harflerle tanımlanan kayıtlar ve akümülatör içerir.
- Kontrol: Cihaz içindeki talimatları ve veri akışını kontrol eder.
Mikrodenetleyici Nedir?

Mikrodenetleyici (MCU), belirli bir görevi yerine getirmek üzere tasarlanmış tek entegre devre (IC)dir. Bazen daha yüksek kaliteli MCU’larda, bunun yerine bir Sistem-Çip (SoC) kullanılır.
Mimari:

- CPU (Merkezi İşlem Birimi): Aritmetik Mantık Birimi (ALU) ve Kontrol Birimi (CU) içerir.
- Hafıza: Salt okunur bellek (ROM) ve rastgele erişim belleği (RAM) içerir.
- I/O Portları: Klavye, fare ve anahtarlar gibi çeşitli cihazları sürmek/arayı yüzlemek için kullanılır.
Mikrodenetleyici ve Mikroişlemci Seçerken Dikkate Alınması Gereken Ana Faktörler
Mikroişlemci ve mikrodenetleyici hakkında kısaca bilgi verdikten sonra, nihayet satın alırken dikkate almanız gereken ana faktörlere geçebiliriz! Seçiminizi yapmadan önce dikkat etmeniz gereken birkaç önemli noktayı listeledik.
Donanım Gereksinimleri
Bir şey satın almaya başlamadan önce, önce neye ihtiyacınız olduğunu belirlemelisiniz; bu, hem mikrodenetleyici hem de mikroişlemci için geçerlidir. Mikrodenetleyicilerle ilgiliyken STM32F205, nRF52832 ve ESP8266 gibi Sistem-Çipler (SoC) de düşünebilirsiniz!
Örneğin, UART mı yoksa Ethernet mi gerekiyor? Kaç USB portuna ihtiyacınız var? Kaç giriş ve çıkışa ihtiyacınız var? PWM’ye ihtiyacınız var mı? Bu nedenle, böyle bir liste yapmayı düşünün:
- I2C
- SPI
- UART
- USB
- PWM
- Modbus
- Dijital I/O
- ADC
Mikrodenetleyicinizi veya mikroişlemcinizi ne için kullanacağınızı belirlemek, hangi birimi alacağınıza karar vermenize yardımcı olacaktır! nRF52833 gibi SoC’lerle ilgileniyorsanız, nRF52833 ile Başlarken adlı incelememe göz atmayı unutmayın!
Yazılım Gereksinimleri
Donanımınızı belirledikten sonra, elbette yazılım kısmını da düşünmelisiniz. Örneğin, ağır yük projelerinizi desteklemek için güçlü bir işlem hızı ve güce sahip bir mikrodenetleyici veya mikroişlemciye ihtiyacınız var.
Donanım standartlarınıza uyuyorsa, ancak yazılım projelerinizi desteklemiyorsa, etkili bir şekilde çalışmayacaktır. Bu nedenle, yazılım platformlarını araştırmak, ihtiyaç duyacağınız yazılım çerçevesi hakkında bir fikir verecektir.
Belirli yazılımlar hakkında, ilerleyen kısımlarda hangi temel yazılımlara ihtiyacınız olacağını konuşacağız!
Mikrodenetleyici ve Mikroişlemcinin Mimari Yapısı
Size daha önce mikrodenetleyici ve mikroişlemcinin ortak mimarisine dair 2 diyagram gösterdik ve donanım ve yazılım gereksinimlerinizi belirledikten sonra, ideal mikrodenetleyici ve mikroişlemci mimarinizi taslak olarak çizebilirsiniz.
Bundan sonra, piyasada mevcut olan benzerlerini arayabilirsiniz. Seçenekler arasında 8, 16 ve 32 bit olarak genellikle çeşitlilik bulunsa da, genel olarak bu şekilde gelirler.
- 8 bit: Toplama, çıkarma, çarpma ve bölme gibi aritmetik ve mantıksal işlemleri gerçekleştirir. Örneğin Intel 8031, 8051, ATtiny85, ATmega328p mikrodenetleyicileri.
- 16 bit: 8 bit’e benzer, ancak daha yüksek doğruluk ve performans sağlar. Örneğin Intel 8096.
- 32 bit: Üstün işlem hızı sunar ve birden fazla çevre birimini yönetebilir. Örneğin SAMD21G, SAMD21E ve SAMD51.
Maliyet ve Güç Derecelendirmesi
Bir mikrodenetleyici veya mikroişlemci aklınızda olduğunda, fiyat etiketini ve gücü karşılaştırabilirsiniz. Çoğu zaman, daha yüksek fiyat etiketine sahip mikrodenetleyicilerin daha iyi performans ve daha karmaşık projeleri destekleyebildiğini unutmayın.
Aynı şekilde, güç de dikkate alınmalıdır çünkü bu, projenizi pillerle mi yoksa bağlantı ile mi çalıştıracağınızı belirler. Mikrodenetleyiciniz ve mikroişlemciniz güç değerlerini desteklemelidir. Dolayısıyla, her şey gerçekten neye ihtiyacınız olduğuna bağlıdır.
Hafıza
Hafızanın mikrodenetleyici ve mikroişlemcinin en önemli bileşenlerinden biri olduğu söylenmeden geçilemez. Seçim yaparken dikkate almanız gereken üç farklı hafıza türü şunlardır:
- Veri hafızası: Yonga üzeri SRAM veya harici SDRAM vb.
- Program hafızası: Flash, OTP, ROM ve ROM vb.
- Kalıcı hafıza: EEPROM veya Flash vb.
Bilgisayar hafızası hakkında daha fazla bilgi edinmekle ilgileniyorsanız, Bilgisayar Hafızası Türleri: RAM, ROM ve İkincil Hafıza başlıklı bloguma göz atmayı unutmayın.
Mikrodenetleyici ve mikroişlemci satın almadan önceki ipuçları
Tüm anahtar faktörleri belirledikten ve hangi tür mikrodenetleyicilere veya mikroişlemcilere ihtiyacınız olduğunu tam olarak anladıktan sonra, doğrudan ödeme yapmadan önce bu ipuçlarını aklınızda bulundurun!
Araştırma yapın ve karşılaştırın
Araştırma yapmak ve karşılaştırmak, projeleriniz için en iyi mikrodenetleyici veya mikroişlemciyi almanıza yardımcı olmanın anahtarıdır. Bunu yaparak, uzun vadede daha fazla para tasarrufu yapmanıza yardımcı olabilecek en iyi fiyat-performans oranını elde edebilirsiniz!
Fiyat seçeneğini tercih etmek zorunda değilsiniz, her zaman seçeneklerinizi karşılaştırın ve en çok hangi işlevlere ihtiyaç duyduğunuza odaklanın, ardından muhtemelen satın almaktan pişman olmayacağınız bir şey alırsınız.
Uyumluluğu kontrol edin ve işlevselliği test edin
Donanım ve yazılım gereksinimlerinde olduğu gibi, sahip olduğunuz farklı parçalar, satın almayı düşündüğünüz mikrodenetleyici veya mikroişlemci ile her zaman uyumlu olmayabilir.
Ancak, gerçekten o belirli mikrodenetleyici veya mikroişlemciyi istiyorsanız ancak işlev uyumlu değilse, her zaman yazılımı güncelleyebilir veya değiştirebilir ve bir IC’yi diğerine değiştirebilirsiniz.
Projenizin geri kalanını geliştirmeye geçmeden önce, işlevselliği bir test devresinde test edin, böylece sorunsuz çalıştığından emin olun!
Yazılım ve simülasyon araçlarınızı tanıyın
Daha önce yazılım gereksinimlerinden bahsettik, ancak tam olarak neye dikkat etmelisiniz? İşte karşılaşacağınız temel yazılım geliştirme araçları:
- Assembler (asm): Yazılmış kodu ikili koda dönüştüren bir program.
- Compiler: Yüksek seviyeli programlama kodunu, makinenin anlayabileceği düşük seviyeli programlama koduna çeviren bir program.
- Debugger: Hataları test etmek ve ortadan kaldırmak için kullanılan bir program, programcıların sorunu belirlemesine ve çözmesine olanak tanır.
- Editor: C ve C++ dillerinde kaynak kodu yazmak için kullanılır ve bunu bir metin dosyasına kaydeder.
- Emulator: Programcıların bir sistemi simüle etmesine ve kodun gerçek zamanlı bir ortamda nasıl çalışacağını görmesine olanak tanır.
- Linker: Adından da anlaşılacağı gibi, kodları ve modülleri bir araya getirerek bir program oluşturur.
Ayrıca, yukarıdaki bu araçları bir araya getirdiğinizde, Entegre Geliştirme Ortamı (IDE) elde edersiniz. IDE, esasen kaynak dosyaları oluşturmanıza ve bunları bir projeye organize etmenize, birçok cihaz için bir veritabanı oluşturmanıza olanak tanır.

Bu araçlar, yazılım geliştirme sürecinde size yardımcı olacaktır.
Mikrodenetleyici kitlerini düşünün
Yeni başlayan biriyseniz ve bu karmaşık kavramları anlamıyorsanız, endişelenmeyin! Bu yolculukta size rehberlik edecek başlangıç kitleri her zaman vardır. Seeed’de, kesinlikle ilginizi çekecek Arduino başlangıç kitleri bulunmaktadır!
Grove Beginner Kit for Arduino ($19.90)

Mikrodenetleyicilere yeni misiniz? Grove Beginner Kit for Arduino sizi destekliyor! Bu kit, STEM öğretimi ve yalnızca Arduino ve kodlama hakkında öğrenmek isteyen yeni başlayanlar için mükemmeldir, başlamanın en basit yolunu sunar. Arduino ile daha fazla tanıştıktan sonra, modülleri çıkarabilir, Grove kablolarını kullanarak modülleri bağlayabilir ve diğer projelerle deney yapabilirsiniz!
Özellikler:
- Arduino UNO uyumlu kart (ATmega320p tabanlı Seeeduino Lotus) + en yaygın kullanılan 10 Arduino modülü
- 300’den fazla Grove modülü ile uyumlu
- Yeni başlayan dostu! Adım adım proje eğitimleri sağlanmaktadır.
- Hiçbir breadboard ve jumper kablosu gerekmez, tüm modüller önceden kablolanmıştır.

Parça Listesi:
Kitte dahil olanlar:
- Grove Beginner Kit For Arduino Kartı x 1
- Micro USB Kablosu x 1
- Grove Kabloları x 6
Kartta dahil olanlar:
- Grove – LED x 1
- Grove – Buzzer x 1
- Grove – OLED Ekran 0.96″ x 1
- Grove – Buton x 1
- Grove – Potansiyometre x 1
- Grove – Işık x 1
- Grove – Ses x 1
- Grove – Sıcaklık ve Nem Sensörü x 1
- Grove – Hava Basıncı Sensörü x 1
- Grove – 3-Dönüş Açısı Hızlandırıcı x 1
- Seeeduino Lotus x 1
Wio Terminal: ATSAMD51 Çekirdek ile Realtek RTL8720DN BLE 5.0 & Wi-Fi 2.4G/5G Geliştirme Kartı ($29.90)

Wio Terminal tam olarak bir kit olmasa da, LCD Ekran, Geliştirme Kartı, Giriş/Çıkış Arayüzü + Kasa ile donatılmış bir komple sistemdir; bu da kaybolduysanız ve ne alacağınızdan emin değilseniz, etkili ve Ürün Hazır bir ürün haline getirir! Önceki kit gibi, Wio Terminal de Grove kullanır. Seeed ayrıca yeni başlayanlar için belgeler ve eğitimler sağlar!
Özellikler:
- Güçlü MCU: ARM Cortex-M4F çekirdeği ile 120MHz’de çalışan Microchip ATSAMD51P19
- Güvenilir Kablosuz Bağlantı: Realtek RTL8720DN ile donatılmış, çift bantlı 2.4Ghz / 5Ghz Wi-Fi
- Yüksek Entegre Tasarım: 2.4” LCD Ekran, IMU ve daha pratik ek bileşenler, entegre mıknatıslar ve montaj delikleri ile kompakt bir kasada yer alır
- Raspberry Pi 40-pin Uyumlu GPIO
- IoT ile keşfetmek için 300’den fazla tak-çalıştır Grove modülü ile uyumlu
- USB OTG Desteği
- Arduino, CircuitPython, Micropython, ArduPy, AT Firmware, Visual Studio Code desteği
- TELEC sertifikalı
Özet
Ve mikrodenetleyici ve mikroişlemci seçiminiz için bilmeniz gerekenler bu kadar! İster deneyimli bir kullanıcı olun, ister yeni başlayan, projenizin ihtiyaçlarına uygun birini seçebilmelisiniz! Umarım bu size yardımcı olmuştur ve benzer içeriklerle ilgileniyorsanız, aşağıdaki bağlantılara göz atmayı unutmayın!
Önerilen Okumalar
IoT ve Giyilebilirler için En İyi Arduino Kartları ve Mikrodenetleyiciler (MCU) – Hangi mikrodenetleyicileri almanız gerektiği hakkında daha fazla öneri için!
CPU’lar Hakkında Her Şey: Mikroişlemci, Mikrodenetleyici ve Tek Kart Bilgisayar – Mikroişlemciler, mikrodenetleyiciler ve tek kart bilgisayarlar arasındaki farklar hakkında daha fazla bilgi edinin!
Bilgisayar Portları Genel Görünümü: Türler, İşlevler ve Karşılaştırma – Bilgisayar portları ve bağlantıları hakkında bilgi edinmek isterseniz!
