Kayıtlar

Ekim, 2022 tarihine ait yayınlar gösteriliyor

C++ Dersleri | std::vector ile Dinamik Diziler

C++ ile std::vector Kullanımı ve Örnekleri C++ ile dinamik dizilerin farklı ve daha esnek bir kullanıma sahip alternatifi vector kütüphanesi, dizi elamanını belirtme zorunluluğumuz yok, dilediğimizde eleman ekleyip çıkartabiliyoruz; gayet güzel bir yapı, C# için List yapısını bilenlere biraz tanıdık gelecektir.  vector < int >   arr ; vector < int >   arr2   =   {   3 , 5 , 7 , 9   }; İlk satırdaki gibi, sadece tanımlayabiliriz, ya da ikinci satırdaki gibi içine elemanlar atabiliriz. Sonradan bir eleman eklemek istediğimizde bu eleman 4 olsun: arr . push_back ( 4 ); yazmamız yeterlidir. Dizideki bir elemana erişirken ki kuralımız standart dizi erişimi ile aynı : arr [ 0 ]   =   5 ; int   c   =   arr [ 0 ] ; Ancak dizide olmayan bir indekse erişmeye çalışmak hataya sebep oluyor, yani push_back ile bir eleman ataması yapmadan sadece diziyi tanımlayıp [0] indekse bir eleman atayamıyoruz. Dizi elemanına şu şekilde de ulaşmak mümkün, "eleman mevcut olmak zorunda" :

Gömülü Sistemler Ölçme Teknikleri

Resim
    Mikrodenetleyiciler ile Ne Ölçülebilir?      Arduino ile ya da diğer gömülü sistemler ailesinden herhangi bir mikrodenetleyici ile herhangi bir şeyi ölçebilmek, ölçmek istediğimiz şeyin ancak elektriksel bir değere çevrilebilmesiyle mümkün olabilmektedir. Tam nokta atışı konuşmak gerekirse voltaja çevirebildiğimiz herşeyi ölçebiliyoruz. Mikrodenetleyiciler kendisine verilen referans sayesinde ölçülmek istenen potansiyel farkı karşılaştırarak bir değer üretebilirler. Malesef ölçme anlamında yetenekleri ancak bu kadardır. Bir de zamanı bilirler, onu da üzerlerinde bulunan clock kaynağı sayesinde yaparlar. Bu da beraberinde sayma yeteneği kazandırır mikrodenetleyiciye. Netice olarak bir mikrodenetleyici sadece voltaj ölçebilir.     Sensör Nedir, Ne İşe Yarar? Net olarak bir mikrodenetleyicinin algılayabildiği (sense) tek şey potansiyel farktır. Sense demişken sensör kavramının da çıkış noktası ortaya çıkmış oluyor. Ölçmek istediğimiz büyüklüğü, mikrodenetleyicinin ölçebildiğ

Arduino Röle Modül Kullanımı

Resim
Arduino ve Röle ile Lamba Kontrolü       Arduino ile aşağıda görseli bulunan röle modülünü nasıl kullanırız bu yazımızda ona bakıyor olacağız. Modül üzerindeki ana elemanımız rölemiz olup, SRD-05VDC-SL-C koduna sahiptir. Röle Modül Pin Bilgileri Görselin sağ tarafındaki pinler Arduino tarafında lazım olan pinlerdir, VIN, arduino kart üzerindeki VIN pinine GND, GND'ye;  kontrol pini de dilediğiniz herhangi bir digital pine bağlanabilir. Görselin sol tarafındaki pinlere gelince neredeyse tüm rölelerde bulunan pinler olup tek tek aaçıklamak gerekirse  COM, COMM, COMMON : Ortak uç olup anahtarlamak istediğimiz kaynağın bir ucunu bağladığımız pindir, bu pin rölenin çalışmadığı yani enerji verilmediği durumda, NC pinine temas etmektedir, röleye enerji verilip çalıştırıldığında içindeki mekanik anahtarın bobin tarafında oluşan elektromıknatıs ile diğer tarafa çekilerek NO pinine teması sağlanmış olur. NO, Normally Open : normalde açık devre olan pindir. Röle çalışırken common pini bu pi

Röle Devresi - SRD-05VDC-SL-C

Resim
Röle Nedir? Röle en kısa tabirle elektrikle kontrol edilen mekanik bir anahtarlama elemanıdır. Kontrol uçlarına gerekli miktarda " bu miktar rölesine göre değişiklik göstermekte " enerji uygulandığında devreyi tamamlar, enerji kesildiğinde de devreyi açar. Rölenin Pinleri ve Bağlantı Şeması Aşağıdaki devre üzerinden basitçe anlatmaya çalışalım, 12v 'luk bir lambayı, 5 V 'luk bir kaynak ile anahtarlayabiliyor olacağız. Örnekte 12v olarak vermişiz ama bu rölenin de durumuna göre 220v şebeke gerilimiyle çalışan herhangi bir cihaz olabilir -> Lamba, Motor Buzdolabı, ihtiyaca göre, ancak röle parametrelerinin yükün parametrelerini karşıladığından emin olmak gerekiyor. Röle üzerinde " genel röleler için " 5 adet pin bulunuyor : COMM, COM, COMMON : Ortak uç anlamına gelip anahtarlanacak elemana güç verecek olan kaynağın anahtarlanacak ucu bu terminale bağlanır, Kaynağın diğer ucu direk olarak yüke bağlıdır, yukarıda gördüldüğü üzere GND uçları hem kaynakt

C++ Dersleri | Dinamik Diziler

Resim
 C++ dizileri anlatırken -> C++ Diziler konusunda, dizilerin boyutlarının önceden belirtilmesi gerektiğinden bahsetmiştik, bunun nedeni olarak da programın çalışmadan evvel o dizi için ne kadar yer ayırmalı bilmesi gerektiğini söylemiştik, hatta iki boyutlu dizileri yazdığım yazıda dizi boyutlarını sabitler içerisine atarak tanımlama yapmıştık. Hadi deneysel düz bir kafada ilerleyelim ve bunu değişkenlerle yapmayı deneyelim :  int   n   =   3 ; int   arr [ n ]; Bunu yaptığımız anda Visual Studio daha kodu bile derlemeden tanımlamayı yaptığımız ikinci satırda n 'in altını çizdi ve Error List 'e şu hatayı yazdırdı : Error (active) E0028 expression must have a constant value Şair burada; ifade sabit bir değer olmalı demek istiyor. Birisinin çıkıp sevgili şairimize her zaman bir dizinin eleman sayısının sabit olamayacağını bazen parametrik olarak kullanılabilmesi için bize imkan tanıması gerektiğini anlatması gerekecek. Ya da başka bir şekilde yapılmış bir hesaplama sonuc

C++ Dersleri | C++ 2 Boyutlu Diziler

       C++ ile iki boyutlu eleman sayısı önceden belirli 'sabit' diziler de oluşturmak mümkündür, yapı tek boyutlu dizi tanımlamasıyla mantıksal olarak benzer yapıda. Neyin ne olduğunu anlamak için dizi elaman sayılarını sabitlere atayarak şöyle tanımlamış olalım : int   const   n_satir   =   3 ; int   const   n_sutun   =   7 ; int   const   m [ n_satir ][ n_sutun ]   =   {      {   1 ,   2 ,   3 ,   4 ,   5 ,   6 ,   7   },      {   8 ,   9 ,   10 ,   11 ,   12 ,   13 ,   14   },      {   15 ,   16 ,   17 ,   18 ,   19 ,   20 ,   21   } };      Sabit kelimesine dikkat edelim, bu değer sabit olmak zorunda. Hazıfazada ne kadar yer ayıracağını bilmek istiyor sevgili derleyicimiz. 3 satırlı, 7 sütunlu ve 2 boyutlu dizi tanımlamış ve değerlerini yukarıdaki şekilde belirlemiş olduk, bu yapıyı matematikteki matriks yapısına benzetebiliriz. Yapı karmaşık görünse de aslında çok basit bit mantığa dayanır, int tipinde bir dizinin dizisidir demek tam anlamını karşılayabilir. Örnek o