Arduino ve C++ Programlama Rehberi

Arduino ve C++ Programlama Rehberi

Arduino ve C++ Programlama Rehberi, her seviyeden programcı için bir kılavuzdur Bu kitapta, Arduino platformunda C++ programlama becerileri kazanabileceksiniz Hem temel hem de ileri düzey konuları içeren bu rehberle, Arduino projelerinizi kolayca hayata geçirebileceksiniz Kitabı hemen şimdi satın alın ve Arduino dünyasına adım atın!

Arduino ve C++ Programlama Rehberi

Merhaba ve hoş geldiniz! Bu makale Türkçe'de Arduino ve C++ programlama dillerine dair temel kavramları ve örnekleri içerecek bir rehberdir. Makalede, genel olarak Arduino kartları ve elektronik projelerinde kullanılan C++ programlama dilinin temel kavramlarına, değişken tiplerine, işleçlerine, koşul ifadelerine, döngü yapılarına, fonksiyonlara ve sınıflara değinilecektir. Ayrıca Arduino programlama ile özelleştirilmiş birkaç örnek proje ele alınacak ve projelerde kullanılan temel kodlar açıklanacaktır.

Belirli bir projenin başlatılması ve yürütülmesi için Arduino kartlarında özel kütüphaneler ve fonksiyonlar kullanılır. Bu makalede, bu özel kütüphaneler detaylı bir şekilde ele alınacak ve öğrenilmesi gereken tüm önemli kavramlar okuyuculara aktarılacaktır. Bunun yanı sıra, makalede Arduino kartları ve elektronik projelerinde kullanılmak üzere çalışmak için gereken temel kodlar, örnekler ve çözümler de verilecektir.

Bu rehber, hem acemi hem de deneyimli programcılar için yararlı olacaktır. Makaleden edinecekleri bilgiler sayesinde, okuyucular elektronik projelerinde kullanabilecekleri yeni fikirler ve beceriler öğrenebilecektir. Bunun yanı sıra, Arduino ve C++ programlama dilleri hakkındaki temel kavramlar dahil olmak üzere, programlama ve elektronik konularından etkileneceklerdir. Siz de Arduino ve C++ programlama dillerindeki becerilerinizi arttırmak istiyorsanız, bu rehberi kaçırmayın!


Arduino Nedir?

Arduino, elektronik devrelerin kontrol edilmesi ve projelerin gerçekleştirilmesi için kullanılan bir karttır. Üzerinde 5V mikrokontrolcüler yer alır ve bu sayede basit düzeydeki elektronik devrelerin kontrol edilmesi sağlanır. Arduino, programlanabilir bir karttır ve bu sayede farklı projelerin gerçekleştirilmesine olanak sağlar. Arduino kartı sayesinde, kodlama yaparak basit düzeyde elektronik kontrol gerçekleştirebilirsiniz. Bu sayede farklı projelerinizi hayata geçirmeniz mümkün olur.

Arduino, kullanıcıların elektronik devreler üzerinde farklı uygulamalar yapmalarına olanak tanır. Bu sayede hem eğitim hem de profesyonel kullanımlar için ideal bir seçenektir. Arduino kartı kullanarak, elektronik devrelerin kontrol edilmesi, sensörlerin okunması ve farklı verilerin toplanarak analiz edilmesi mümkündür. Ayrıca Arduino kartı sayesinde, farklı modüllerin kontrol edilmesi ve bu modülleri birbirine bağlamak da mümkündür.

Özetle Arduino kartı, elektronik devrelerin kontrolünü sağlayan ve farklı projeleri gerçekleştirmenizi mümkün kılan bir mikrokontrolcü kartıdır. Arduino sayesinde basit elektronik devreleri kontrol etmek mümkündür.


C++ Programlama Nedir?

Nesne yönelimli bir programlama dili olan C++, özellikle büyük ve karmaşık yazılımlar için tercih edilir. Diğer programlama dillerine göre daha az bellek kullanır ve daha hızlı çalışır. Nesne yönelimli programlama özelliği sayesinde programlar parçalara ayrılarak daha kolay yönetilebilir hale getirilir. Bu sayede kaynak kodları daha az değiştirerek programlar daha esnek hale getirilebilir. Programlama öğrenmek için C++'a başlamak idealdir çünkü genel programlama ve nesneye dayalı programlama becerileri arasında bir denge sağlar.

C++ dilinde, değişkenler, işleçler, karar ve döngü yapıları, fonksiyonlar ve sınıflar temel kavramlardır. Programlama dili, işletim sistemleri, oyun geliştirme, yapay zeka, sıkıştırma yazılımları ve web uygulamaları gibi birçok alanda kullanılmaktadır.


C++ Temelleri

C++ bir nesne yönelimli programlama dilidir. Temel kavramlar, değişken tipleri, işleçler, karar ve döngü yapıları, fonksiyonlar ve sınıflardan oluşur. Her programlama dili gibi C++ öğrenirken de belli bir mantık ve sıralama izlenmelidir. İlk önce değişken tipleri hakkında temel bilgiler edinilmelidir.

Değişken Türleri Boyut(Byte)
Tam Sayı 2
Kayan Noktalı Sayı 4
Karakter 1
String Değişken

Ardından işleçler konusu ile devam etmek gerekir. Bu, matematiksel operasyonları yapmak için kullanılan kavramlardır. C++ programlama dilinde yaygın olarak kullanılan işleçler arasında aritmetik, ilişkisel, mantıksal ve bit işleçleri bulunur.

  • Aritmetik işleçler: +, -, *, /
  • İlişkisel işleçler: ==, !=, <, >, <=, >=
  • Mantıksal işleçler: &&, ||, !
  • Bit işleçleri: <<, >>, &, |, ^, ~

C++ programlama dilinde karar yapısı ve döngü yapıları, programların belirli bir koşula göre karar vermesine ve kendini tekrar etmesine olanak sağlar. If, else if ve switch komutları gibi karar yapısı komutları ile program belirli bir koşula bağlı olarak işlem yapabilir. Döngü yapıları da belirli bir şekilde tekrarlanabilir. For, while ve do while döngü yapıları en sık kullanılan yapılar arasındadır.

Fonksiyonlar, C++ programlama dilinde en temel yapı taşlarından biridir. Fonksiyonlar tekrarlı işlemleri daha kolay ve düzenli hale getirmek için kullanılır. Sınıflar ise nesne tabanlı programlama dünyasında önemli bir yapı taşıdır. Nesne tabanlı programlama yapısı daha karmaşık programlar için idealdir ve C++'da yaygın olarak kullanılır.


Değişken Tipleri

C++ programlama dilinde kullanılan değişken tipleri, programlamada oldukça önemli bir yere sahiptir. Değişkenler, bellekte belirli bir alanı kapsar ve program içinde değer ataması yapılarak kullanılır. Bu sayede program içinde veri depolamak ve gerektiğinde kullanmak mümkün olur.

Tam sayılar, kayan noktalı sayılar, karakterler ve stringler, C++ programlama dilinde sık kullanılan değişken tipleridir. Tam sayılar pozitif, negatif ya da sıfır olabilen tamsayı değerleri içerirken; kayan noktalı sayılar ise virgüllü sayıları ifade eder. Karakterler, ASCII kodlamasıyla tanımlanırken stringler birden fazla karakter dizisini ifade eder.

Tam Sayı Tipi Açıklama
int Tamsayı değerleri için kullanılır.
short Daha kısa bir tamsayı için kullanılır.
long Daha uzun bir tamsayı için kullanılır.
  • Tam Sayılar: int, short, long
  • Kayan Noktalı Sayılar: float, double, long double
  • Karakterler: char
  • Stringler: string

Bunun yanı sıra, her değişken tipinin boyutu farklıdır. Örneğin, int tipi 4 bayt, short tipi 2 bayt, long tipi ise 4 veya 8 bayt olabilir. Bu nedenle programlama sırasında hangi değişken tipinin kullanılacağına dikkat edilmesi gerekir.

Değişken tipleri, C++ programlama dilinin temel kavramlarından biridir ve her programlama dilinde olduğu gibi programlama sürecinde önemli bir yere sahiptir. Bu nedenle, programlama yaparken değişken tiplerinin doğru kullanımı ve boyutu dikkate alınarak programlar yazılmalıdır.


Karar Yapıları

Karar yapısı komutları, programın belirli durumlara göre farklı işlemler yapmasına olanak verir. Bu yapılar, programlama dilleri arasında ortak olarak kullanılan kavramlardır. C++ dilinde kullanılan karar yapısı komutları, if, else if ve switch şeklinde sıralanabilir.

If komutu, belirtilen koşulun doğru olması durumunda belirli bir işlemi gerçekleştirir. Else if komutu ise if koşulu yanlış ise girilen farklı koşulların sonucuna göre belirli işlemleri gerçekleştirir. Switch komutu ise belirli bir değişkenin farklı değerlerine göre işlem yapmak için kullanılır.

Örneğin, bir program okunan sayının pozitif, negatif veya sıfır olduğuna göre farklı işlemler yapabilir. Bu durumda, kullanıcıdan alınan sayının değerine göre if-else-if yapısı kullanılabilir. Kullanımı şu şekildedir:

Koşul İşlem
Sayı Pozitifse Ekran Çıktısı: "Sayı Pozitif"
Sayı Negatifse Ekran Çıktısı: "Sayı Negatif"
Sayı Sıfırsa Ekran Çıktısı: "Sayı Sıfır"

Bir diğer örnek olarak, kullanıcıdan alınan bir sayının belirli bir aralıkta olduğunu kabul edelim. Sayıyı bu aralıklara göre if-else yapıları kullanarak kontrol edebiliriz. Ancak, girilebilecek aralık sayısı fazla olduğunda tercih edilen yöntem switch yapısıdır. Bu durumda, kullanıcının girdiği sayıya göre aralık belirleyerek işlem yapabiliriz.

Yukarıdaki örneklerde de görüldüğü gibi, karar yapısı komutları C++ programlama dilinin temel yapı taşlarından biridir. Bu yapılara hakim olmak, programlamada verimli işlemler yapılmasına olanak sağlar.


Arduino Programlama

Arduino kartları, basit elektronik devreleri ve projeleri kontrol etmek için kullanılan bir mikrokontrolcü platformudur. Arduino programlama ise, Arduino kartları ile birlikte kullanılan özel kütüphaneler ve örnekler üzerinden ilgili komutları kullanarak bu projeleri gerçekleştirmektir.

Arduino programlama ile ilgili temel kavramlar, örnekler ve kullanımlar aşağıda madde madde sıralanmıştır:

  • Setup: Arduino programlamada, öncelikle hangi pinlerin kullanılacağı, hangi değerleri atayacağı veya hangi kütüphanelerin kullanılacağı gibi temel ayarlar yapılır. Bu ayarlar setup() fonksiyonu içinde tanımlanır.
  • Loop: Arduino programlama, genellikle sürekli tekrar eden bir işlemi gerçekleştirmek için kullanılır ve bu işlem loop() fonksiyonunda tanımlanır.
  • Pin Modifikasyonları: Arduino kartları üzerindeki pinler, giriş veya çıkış olarak belirlenebilir. Bu modifikasyonlar, pinMode() fonksiyonu kullanılarak gerçekleştirilir. Örneğin, pinMode(13, OUTPUT) kodu, 13 numaralı pine bağlı LED'in çıkış olarak belirlendiğini gösterir.
  • Pin Okuma ve Yazma: Arduino kartları üzerindeki pinler, digitalRead() fonksiyonu ile okunabilir ve digitalWrite() fonksiyonu ile yazılabilir. Bu özellik, özellikle led gibi basit projelerde çok sık kullanılır.
  • Karakter LCD Ekran: Arduino kartları ile karakter LCD ekranların kullanımı oldukça popülerdir. LiquidCrystal kütüphanesi kullanılarak karakter LCD ekranlara mesaj göndermek, okumak ve kontrol etmek mümkündür.
  • Sesli Sinyaller: Arduino kartlar, piezo buzzer veya hoparlör kullanarak sesli sinyaller üretebilir. Bu işlem tone() fonksiyonu ile gerçekleştirilir.

Yukarıdaki özelliklerin yanı sıra, Arduino kartları ile birçok diğer proje ve uygulama da gerçekleştirilebilir. Özellikle özel kütüphaneler kullanarak, sensörler, motorlar ve diğer bileşenlerle kompleks projeler geliştirilebilir.

Arduino programlama için birçok kaynak mevcuttur. Özellikle, Arduino.cc'de yayınlanan öğreticiler ve örnekler ile uluslararası Arduino topluluğu, her seviyeden kullanıcıya yardımcı olmaktadır. Ayrıca, Arduino programlama dili ve C++ programlama dili arasındaki benzerlikler de kullanıcıların öğrenme süreçlerini kolaylaştırır.


Arduino Projeleri

Arduino ile basit projeler yapmak oldukça kolaydır. Projeler, bilgisayar oyunlarında olduğu gibi daha karmaşık hale gelebilir. Arduio projesi yapmak için öncelikle bir fikir oluşturulmalı ve bu fikir için gerekli olan Arduino kartı, LED'ler, sensörler gibi malzemeler temin edilmelidir.

Birkaç temel Arduino projesi ele alacağız ve bu projelerde kullanılan kodlar açıklanacaktır. İlk proje, basit bir LED devresi kontrolüdür. Bu proje için, bir LED, bir breadboard, bir 220 ohm direnç ve bir jumper tel gerekiyor. İlk olarak, devrenin basit şeması oluşturulmalıdır. Şema oluşturulduktan sonra, breadboard'a malzemeler yerleştirilir.

Malzeme Pin Numarası
LED 13
Direnci 13 (anot) - breadboard-

Arduino, LED'leri sadece açıp kapatarak kontrol edebilir. Şeması oluşturulduktan ve malzemeler yerleştirildikten sonra, kodu yükleyebilirsiniz. Kodda LED'i açma süresi 1 saniye, kapama süresi ise 1 saniye olduğu için LED simüle edilen bir lamba gibi açılıp kapanacaktır.

İkinci proje, sıcaklık sensörü kullanarak odadaki sıcaklığı okur. Bu proje için sıcaklık sensörü, breadboard, jumper telleri ve LCD ekran gereklidir. Arduino Kart'ın "Analogue in A0", "Gnd" ve "5V" çıkışlarına jumper telleri bağlanır. Bu proje için kullanılan sensör DS18B20'dir ve 1 wire özelliği vardır. Bu sensör bir ölçüm yapar ve ölçüm verisini bir hafıza kısmına saklar. Kodda function olarak tanımlanan void bir değişken kullanarak sıcaklığı ölçer ve LCD ekranına sıcaklık değerini yazdırır.

  • Basit LED devresi kontrolü
  • Sıcaklık sensörü kullanarak sıcaklığın ölçülmesi ve LCD ekrana yazdırılması
  • Basınç sensörü kullanarak barometrik basınç ölçümü
  • Nem sensörü kullanarak nem ölçümü
  • Gaz sensörü kullanarak gaz ölçümü

Basit projeler yapmak, öğrenmek için mükemmel bir yoldur. Arduino, elektronik projelerinin geliştirilmesinde büyük bir araçtır. Basit şemalar kullanarak kullanışlı projeler yapabilirsiniz. Arduino ve C++ programlama dili ile yapacağınız projelerin sınırları yoktur. Üretken olun ve hayal gücünüzü birleştirerek benzersiz projeler yapın.


Dijital Giriş ve Çıkış

Arduino kartları dijital sinyalleri giriş olarak alabilir ve çıkış olarak üretebilir. Bunun en basit örneği bir LED'in kontrol edilmesidir. LED, bir çıkış pini üzerinden kontrol edilebilir. Pinlere çıkış vermek için digitalWrite() kullanılır.

PIN RENK
13 Mavi

Bu basit LED devresi oluşturmak için, LED'i bir direnç yardımıyla (330 ohm önerilir) bir çıkış pine bağlamanız gerekir. LED, anot ve katot terminallerine sahiptir ve direnç, LED'in aşırı akımını sınırlar. Devre şeması aşağıdaki gibidir:

Arduino kodu:

void setup() {  pinMode(13, OUTPUT);}void loop() {  digitalWrite(13, HIGH);  delay(1000);  digitalWrite(13, LOW);  delay(1000);}

Bu kod, 13 numaralı pine bağlı olan mavi LED'ı saniyede bir kez yakıp söndürür.

Bu temel proje, LED'in yanıp söndürülmesi mantığını anlamak için harika bir örnek teşkil eder. Bu projenin ardından, daha karmaşık projelerde dijital pinleri kullanarak daha ileri seviyelere atlayabilirsiniz.


Analog Sensörler

Analog sensörler, çevremizdeki sıcaklık, nem, ışık ve benzeri fiziksel değişkenleri ölçer ve analiz eder. Sıcaklık ölçmek için en yaygın kullanılan sensörler termistörler ve LM35 sensörlerdir.

Sıcaklık sensörleri, sıcaklığın ölçümüne bağlı olarak çeşitli değerler üretir. Bu değerler analog sinyallerdir ve mikrodenetleyici tarafından okunabilmesi için bu sinyalleri dijital sinyallere dönüştürmek gerekir. Bu dönüşüm, analog-dijital çevirici (ADC) kullanılarak gerçekleştirilir.

Nem sensörleri, havanın nem oranını ölçmek için kullanılır ve bu sensörler direnç değişimine dayanır. Su buharının etkisiyle reaktif bir maddeye dokunur, böylece bağlı olan direnci artırır. Bu değişim daha sonra mikrodenetleyici tarafından okunur ve nem oranı belirlenir.

Işık sensörleri, çevrenin ışık seviyesini ölçmek için kullanılır. Fototransistörler, fotodiyotlar ve LDR'ler gibi farklı türleri vardır. Işık seviyesi ölçülürken, bu sensörler değişen dirençleri veya akım çıkışları yoluyla çalışır.

Analog sensör verileri, mikrodenetleyicilere okunurken ADC kullanılır. ADC, analog sinyalleri mikrodenetleyicinin okuyabileceği sayısal verilere dönüştürür. Genellikle, ADC’ler, çözünürlükleri ve örnekleme hızlarına göre farklı özelliklere sahip olabilirler.

Örneğin, bir LDR sensörü kullanarak, ADC kullanarak ışık seviyelerini ve reaksiyon sürelerini ölçmek mümkündür. Bunun yanı sıra, sıcaklık ve nem ölçümü de yapabilirsiniz.

Genellikle analog sensörler, mikrodenetleyicilerin girişlerine bağlanır ve girişlerdeki değerler okunur. Bu değerler, işlenebilir hale getirilerek kullanılabilir veya belirtilen bir seviyenin üzerinde ise belirlenen bir aksiyonu tetiklemek için kullanılabilir.


Sonuç

Bu rehberin sonuna gelindiğinde, okuyucular programlama ve elektronik konularına daha aşina olacaklar ve kendilerine teknik yeterlilik sağlayacak bir rehberden faydalanacaklar. Arduino ve C++ programlama dillerine dair temel kavramları öğrendikleri için artık daha karmaşık projeleri ele alma konusunda daha fazla güvene sahip olacaklar.

Ayrıca, bu rehberde ele aldığımız Arduino projeleri ve C++ programlama örnekleri sayesinde okuyucular, geliştirecekleri projelerde bu kodları kullanarak ileri seviyede uygulamalara da sahip olabilecekler. Elektronik projelerine ilgi duyanların ve girişimcilerin, birçok farklı alanda kullanabilecekleri Arduino kartları hakkında daha fazla bilgi edinmeleri gerekiyor.

  • İlk kez Arduino ile tanışanlar rehberimiz sayesinde Arduino kartlarının genel özelliklerini öğrenebilirler.
  • C++ programlama dilini öğrenmek isteyenler, nesneye dayalı programlama ve genel programlama özellikleri arasında bir denge oluşturan bu dilin temel kavramları ile ilgili bilgi sahibi olabilirler.
  • Elektronik projelerine ilgi duyanlar ve girişimciler, günlük hayatta kullanabilecekleri birçok farklı proje örneği ile birlikte, Arduino kartlarındaki sensörlerin ve diğer bileşenlerin nasıl kullanılacağına dair fikir edinebilirler.

Birçok alanda kullanılan Arduino kartları ve C++ programlama dili konularında bu rehber sayesinde temel bilgileri öğrenmenin yanı sıra, daha kompleks projeler üretmek için gerekli olan teknik yeterliliği de elde edebilirsiniz. Rehberimiz size temel teorik bilgiyi aktarmanın yanı sıra uygulama yaparak pratiğe de dökmüştür. Umarız, bu rehber, sanat ve teknolojinin birleşim noktasında size ilham veren bir kaynak olur.