Mikrodenetleyici Arduino ile Temel Uygulamalar
Elektronik stajımda Arduino kullanarak temel mikrodenetleyici uygulamaları gerçekleştirdim. LED yakma, buton okuma ve seri haberleşme gibi temel deneyimleri öğrenci dilinden paylaşıyorum.
Mikrodenetleyici (Arduino) ile Temel Uygulamalar
Elektronik stajımın dokuzuncu haftasında, daha önce teorik olarak hakkında bilgi edindiğim mikrodenetleyici uygulamalarına geçtim. Bu uygulamalarda Arduino UNO platformunu kullanarak temel kontrol işlemleri yaptım. Özellikle LED yakma, buton okuma ve seri haberleşme konularında uygulamalı deneyim kazandım.
Arduino Nedir?
Arduino, üzerinde mikrodenetleyici bulunan açık kaynaklı bir geliştirme kartıdır. Kolay programlanabilir olması ve geniş destek kütüphanesi sayesinde eğitimde çok sık tercih edilmektedir.
Kullanılan Malzemeler
- Arduino UNO
- USB kablosu (PC bağlantısı için)
- LED (5mm)
- 330Ω direnç
- Buton
- Breadboard ve jumper kablolar
İlk Uygulama: LED Yakma
Arduino ile ilk olarak "Blink" (Yanıp Sönme) örneğini denedim. Bu uygulamada Arduino’nun 13 numaralı pinine bağlı dahili LED’in 1 saniye aralıklarla yanıp sönmesi sağlanıyor.
Kod:
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
Kodu yazıp yükledikten sonra LED'in yanıp sönmeye başladığını görmek beni çok heyecanlandırdı. Gerçekten çalışan bir mikrodenetleyici kodu yazmış olmak büyük bir motivasyondu.
İkinci Uygulama: Harici LED Kontrolü
Harici bir LED’i 8 numaralı pine bağladım. Direnç ile akım sınırlaması yaptım. Aynı kodu bu pine göre düzenledim ve LED'in çalıştığını doğruladım.
Üçüncü Uygulama: Butonla LED Kontrolü
Bir buton bağlayarak LED'i manuel olarak kontrol etmeyi denedim. Butona bastığımda LED’in yanmasını, çektiğimde sönmesini sağladım. Kodda dijital giriş (INPUT) ve çıkış (OUTPUT) tanımlamaları yaptım.
Kod:
int ledPin = 8;
int buttonPin = 7;
int buttonState = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}
Dördüncü Uygulama: Seri Port Üzerinden Veri Gönderme
Seri haberleşme komutlarıyla bilgisayara veri göndermeyi öğrendim. Serial.begin(9600) komutuyla haberleşmeyi başlattım. Butona basıldığında bilgisayarda "Buton Basıldı" yazısını gördüm.
Yaptığım Hatalar
İlk başta LED'in bacaklarını ters bağladım, bu yüzden LED çalışmadı. Ayrıca direnç koymadan doğrudan LED’i bağladığımda LED zarar gördü. Kütüphane ve port seçimi konusunda IDE üzerinde birkaç hata yaptım ama ustamın yardımıyla çözdüm.
Edindiğim Deneyim
Arduino ile çalışmak, elektronik bilgimi programlama ile birleştirmemi sağladı. Artık yalnızca devre kurmak değil, aynı zamanda bu devreleri yazılımla kontrol etmek gibi daha ileri bir adım attım.
Bu haftaki staj deneyimimde, elektronik sistemlerin temeli olan mikrodenetleyici kavramını daha iyi anladım. Buton, LED, sensör gibi parçaları kontrol etmek için yazılımın gücünü kullanmak benim için büyük bir kazanım oldu.