Konu Anlatımı
Mikrodenetleyicilere Giriş
Mikrodenetleyiciler, üzerinde işlemci, bellek ve giriş/çıkış birimleri bulunan tümleşik devrelerdir. Arduino, açık kaynak kodlu bir mikrodenetleyici platformudur.
Arduino Programlama Dili
void setup()
{ pinMode(13, OUTPUT);
} void loop()
{ digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000);
}Temel Elektronik Bileşenler
- LED: Işık yayan diyot
- Direnç: Akım sınırlama
- Potansiyometre: Değişken direnç
- Sensör: Çevresel veri okuma
- Servo Motor: Açı kontrolü
Mikrodenetleyicinin Çalışma Düzeni
Mikrodenetleyici, içine yazılan programı sırayla çalıştıran küçük bir bilgisayardır. Arduino gibi kartlarda program iki bölümden oluşur: setup kart açılırken bir kez çalışır ve pin modları, seri port hızı gibi başlangıç ayarlarını yapar; loop ise bitmeden tekrar başlar ve robotun asıl işini yürütür. Bu yüzden bir kez yapılacak iş setup'a, sürekli tekrar edecek iş loop'a yazılır. Program gözlenirken bu akışın bilinmesi, hataların kaynağını bulmayı hızlandırır.
Bellek, Pin ve Kaynaklar
Kartın belleği sınırlıdır; büyük sayı dizileri RAM'i doldurup çalışmayı bozabilir. Sabit metinler RAM yerine program belleğinde tutulur. Pinler giriş ve çıkış olarak iki kipte kullanılır: pinMode ile mod belirlenir, digitalWrite ile çıkış verilir, digitalRead ile giriş okunur. Analog pinler 0 ile 1023 arasında değer okur; bu değer, pinin ölçtüğü gerilimin besleme gerilimine oranını gösterir. Pin sayısı ve bellek, proje planlanırken ilk kontrol edilecek kaynaklardır.
Adım Adım İlk Programı Yazma
- LED'in bağlı olduğu pinin numarası belirlenir.
- setup içinde pinMode ile pin çıkış kipine alınır.
- loop içinde digitalWrite ile pin önce HIGH, sonra LOW yapılır.
- Her iki durum arasına delay ile bekleme konur.
- Program karta yüklenir ve LED'in ritmi gözle kontrol edilir.
Örnek Uygulama: Zamanlamalı Kontrol
Bir serada fan, 30 saniyede bir 5 saniye çalışacak şekilde programlanır. loop içinde geçen süre millis fonksiyonuyla ölçülür; sayaç 30000 milisaniyeye ulaşınca fan çalıştırılır, 5000 milisaniye sonra durdurulur. Gecikme yerine sayaç kullanmak, programın diğer işleri bekletmeden yürümesini sağlar. Sınavda çoğunlukla setup ile loop ayrımı, pinMode kullanımı ve analog okumanın değer aralığı sorulur.
Sınav ve Atölye Odaklı Notlar
Atölyede hata ararken ilk bakılacak yer besleme ve toprak bağlantısıdır; kod doğru olsa bile GND unutulmuşsa hiçbir ölçüm güvenilir olmaz. Hatanın kodda mı donanımda mı olduğunu ayırmanın kısa yolu, bilinen basit bir örneği (örneğin LED yakma) kartta çalıştırmaktır. Bu test geçerse sorun kendi kodunuzda, geçmezse kablolamadadır.
Arduino Programlama Dili ve Temel Komutlar
Mikrodenetleyicilerin çalıştırılmasında temel olarak kullanılan Arduino programlama dili, basit ve anlaşılır bir yapıya sahiptir. Bu dili kullanarak, programlama sürecini kolaylaştıran temel komutlar bulunmaktadır. Örneğin, pinMode komutu ile pinlerin giriş veya çıkış olarak ayarlanması sağlanır. Ayrıca, digitalWrite ile pinlerin yüksek veya düşük seviyede tutulması ve delay fonksiyonu ile belirli sürelerde bekleme yapılması da programın temel işlevlerini gerçekleştirmek için kullanılır. Bu komutlar, mikrodenetleyicinin belirli görevlerini yerine getirmesini sağlamak için kritik öneme sahiptir.
Programlama sürecinde, her bir komutun doğru şekilde kullanılması ve programın akışının doğru bir şekilde yönetilmesi, mikrodenetleyicinin istenilen işlevleri gerçekleştirmesini sağlar. Özellikle, setup ve loop fonksiyonları arasındaki ayrım, programın başlangıç ayarlarını ve sürekli çalışmasını sağlamak için önemlidir. Bu iki fonksiyonun doğru kullanımı, programın hatalarını azaltma ve daha etkin çalışmasını sağlamak için kritik öneme sahiptir. Ayrıca, programın herhangi bir hata durumunda, bu komutların doğru şekilde çalıştığından emin olmak için testler yapılması gereklidir.
Ne Öğreneceğiz
Robotik ve Kodlama dersi kapsamında Mikrodenetleyiciler konusu. Bu konuda ögrenme çıktıları:
- Mikrodenetleyiciler ile ilgili temel kavramları açıklar.
- Mikrodenetleyiciler konusunun Robotik ve Kodlama dersi içindeki yerini ve önemini belirtir.
- Konuyla ilgili araç, gereç ve malzemeleri amacına uygun seçer.
- İş sağlığı ve güvenliği kurallarına uygun çalışır.
- Öğrendiği bilgi ve becerileri atölye/iş yeri uygulamalarında kullanır.
Ön Bilgi
Bu konuya başlamadan önce temel kavram ve ön koşulları kavramanız yardımcı olacaktır. Konunun çerçevesinde şu kavramlar dikkat ister:
- Arduino açık kaynaklı mikrodenetleyici platformudur
- setup() fonksiyonu bir kez çalışır
- loop() fonksiyonu sürekli döner
- pinMode() ile pin modu belirlenir
- digitalWrite() ile pin HIGH/LOW yapılır
Basit Örnek ve Günlük Yaşam
Günlük yaşamda ve mesleki bağlamda bir uygulama:
Soru: 13 numaralı pine bağlı LED, 500 milisaniyede bir durum değiştirecektir. Programın akışını yazınız.
- Adım 1: setup içinde pinMode(13, OUTPUT) ile pin çıkış kipine alınır.
- Adım 2: loop içinde digitalWrite(13, HIGH) ile LED yakılır.
- Adım 3: 500 ms beklemeden sonra digitalWrite(13, LOW) ile söndürülür ve döngü başa döner.
Sonuç/cevap: Cevap: setup'ta pin ayarı, loop'ta 500 ms aralıklı yakma-söndürme sırası izlenir.
İleri Örnek
Daha ileri bir uygulama:
Soru: Seri porttan 'A' karakteri geldiğinde LED yakılacaktır. Okuma, karşılaştırma ve çıkış verme adımlarını yazınız.
- Adım 1: Seri portta veri varsa Serial.read ile karakter alınır.
- Adım 2: Alınan karakter 'A' ile karşılaştırılır.
- Adım 3: Eşleşme varsa digitalWrite ile LED yakılır, yoksa söndürülür.
Sonuç/cevap: Cevap: Okuma, karşılaştırma ve çıkış verme adımları sırayla uygulanır.
Karşılaştırma Tablosu
| Kavram | Açıklama |
|---|
| Arduino açık kaynaklı mikrodenetleyici p | Arduino açık kaynaklı mikrodenetleyici platformudur |
| setup() fonksiyonu bir kez çalışır | setup() fonksiyonu bir kez çalışır |
| loop() fonksiyonu sürekli döner | loop() fonksiyonu sürekli döner |
| pinMode() ile pin modu belirlenir | pinMode() ile pin modu belirlenir |
| digitalWrite() ile pin HIGH/LOW yapılır | digitalWrite() ile pin HIGH/LOW yapılır |
Sık Yapılan Hatalar
Mikrodenetleyiciler ile ilgili kavramları birbirine karıştırmak: Temel kavramları tablo veya zihin haritasıyla ayırt et.
Uygulamada standartlara ve iş güvenliği kurallarına uymamak: Her adımda güvenlik ve kalite kurallarını uygula.
Kullanılan araç-gereci amacına uygun seçmemek ve bakımını ihmal etmek: Doğru ekipmanı seç, kullanım öncesi ve sonrası kontrol et.
pinMode ayarını unutup doğrudan digitalWrite çağırmak: Pin modu çıkışa alınmadan yazılan değerler beklenen seviyeyi üretmez; önce pinMode ile mod tanımlanmalıdır.
Özet
Mikrodenetleyiciler, Robotik ve Kodlama dersi kapsamında ele alınan temel konulardan biridir. Arduino açık kaynaklı mikrodenetleyici platformudur setup() fonksiyonu bir kez çalışır loop() fonksiyonu sürekli döner pinMode() ile pin modu belirlenir digitalWrite() ile pin HIGH/LOW yapılır Bu bilgiler uygulama ve iş güvenliği kurallarıyla birlikte pekiştirilmelidir.
Kendini Dene
Soru: Arduino ile bir LED'in 500 ms aralıkla yakılıp söndürülmesi isteniyor. setup() ve loop() bölümlerini yaz, hangi ayarın nerede yapıldığını açıkla ve LED'in dakikada kaç kez yanıp sönmesini beklediğini hesapla.
Örnek cevap: Puanlama anahtarı: setup() içinde pinMode ile pinin çıkış yapıldığı doğru yazılır (4 puan); loop() içinde digitalWrite ile HIGH/LOW değişimi ve delay(500) sırası doğru kurulur (5 puan); 60000 / 500 = 120 hesabıyla dakikada 120 kez yanıp sönmesi bulunur (4 puan); setup'ın bir kez, loop'un sürekli çalıştığı belirtilir (2 puan).