💡 Robotik Kodlamaya Giriş: İlk Projelerle Başarıya Ulaşın
Robotik kodlama dünyasına adım atmak heyecan verici bir yolculuktur. Başlangıçta karmaşık görünen bu alan, doğru projelerle öğrenmeyi keyifli hale getirebilir. İşte yeni başlayanlar için adım adım proje fikirleri:
⚙️ LED Yakıp Söndürme Projesi
Bu proje, temel elektronik ve kodlama prensiplerini anlamak için mükemmel bir başlangıç noktasıdır.
- 💡 Gerekli Malzemeler: Arduino kartı, LED, direnç (220 ohm), bağlantı kabloları.
- 💻 Adım 1: LED'i Arduino'ya bağlayın. LED'in uzun bacağını (anot) bir direnç üzerinden Arduino'nun dijital pinlerinden birine (örneğin, 13. pin) bağlayın. Kısa bacağını (katot) ise GND (toprak) pinine bağlayın.
- 📝 Adım 2: Arduino IDE'sini açın ve aşağıdaki kodu yazın:
c++
void setup() {
pinMode(13, OUTPUT); // 13. pini çıkış olarak ayarla
}
void loop() {
digitalWrite(13, HIGH); // LED'i yak
delay(1000); // 1 saniye bekle
digitalWrite(13, LOW); // LED'i söndür
delay(1000); // 1 saniye bekle
}
- ✅ Adım 3: Kodu Arduino'ya yükleyin. LED'in her saniyede bir yanıp söndüğünü göreceksiniz.
🚦 Buton ile LED Kontrolü
Bu proje, giriş sinyallerini kullanarak çıkışları kontrol etmeyi öğretir.
- 🍎 Gerekli Malzemeler: Arduino kartı, LED, direnç (220 ohm ve 10k ohm), buton, bağlantı kabloları.
- 💻 Adım 1: Butonu ve LED'i Arduino'ya bağlayın. Butonu bir direnç (10k ohm) ile birlikte bağlayarak, butona basılmadığında pinin düşük seviyede kalmasını sağlayın. LED'i önceki projede olduğu gibi bağlayın.
- 📝 Adım 2: Arduino IDE'sini açın ve aşağıdaki kodu yazın:
c++
const int buttonPin = 2; // Butonun bağlı olduğu pin
const int ledPin = 13; // LED'in bağlı olduğu pin
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // Buton pinini giriş olarak ayarla ve dahili pull-up direncini etkinleştir
pinMode(ledPin, OUTPUT); // LED pinini çıkış olarak ayarla
}
void loop() {
int buttonState = digitalRead(buttonPin); // Butonun durumunu oku
if (buttonState == LOW) { // Butona basıldıysa
digitalWrite(ledPin, HIGH); // LED'i yak
} else {
digitalWrite(ledPin, LOW); // LED'i söndür
}
}
- ✅ Adım 3: Kodu Arduino'ya yükleyin. Butona bastığınızda LED'in yandığını, bıraktığınızda söndüğünü göreceksiniz.
🌡️ Sıcaklık Sensörü ile Ortam Takibi
Bu proje, sensörlerden veri okumayı ve bu verileri kullanmayı öğretir.
- 🍎 Gerekli Malzemeler: Arduino kartı, DHT11 sıcaklık ve nem sensörü, bağlantı kabloları.
- 💻 Adım 1: DHT11 sensörünü Arduino'ya bağlayın. Sensörün VCC pinini Arduino'nun 5V pinine, GND pinini GND pinine ve DATA pinini dijital pinlerden birine (örneğin, 7. pin) bağlayın.
- 📝 Adım 2: Arduino IDE'sine DHT11 kütüphanesini ekleyin (Sketch > Include Library > Manage Libraries... menüsünden "DHT sensor library" araması yaparak). Ardından aşağıdaki kodu yazın:
c++
#include "DHT.h"
#define DHTPIN 7 // DHT11 sensörünün bağlı olduğu pin
#define DHTTYPE DHT11 // DHT11 sensörü tipi
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
delay(2000); // 2 saniye bekle
float h = dht.readHumidity(); // Nemi oku
float t = dht.readTemperature(); // Sıcaklığı oku (Celsius)
if (isnan(h) || isnan(t)) {
Serial.println("Sensörden veri okunamadı!");
return;
}
Serial.print("Nem: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Sıcaklık: ");
Serial.print(t);
Serial.println(" *C");
}
- ✅ Adım 3: Kodu Arduino'ya yükleyin. Seri monitörü açın (Tools > Serial Monitor). Ekranda sıcaklık ve nem değerlerini göreceksiniz.
🤖 Basit Robot Kol Kontrolü
Bu proje, servo motorları kullanarak basit bir robot kolunu kontrol etmeyi öğretir.
- 🍎 Gerekli Malzemeler: Arduino kartı, 2 adet servo motor, potansiyometre (2 adet), bağlantı kabloları, robot kol iskeleti (isteğe bağlı).
- 💻 Adım 1: Servo motorları ve potansiyometreleri Arduino'ya bağlayın. Servo motorların sinyal pinlerini Arduino'nun dijital pinlerine (örneğin, 9. ve 10. pinler) bağlayın. Potansiyometrelerin orta pinlerini Arduino'nun analog giriş pinlerine (örneğin, A0 ve A1 pinleri) bağlayın. Potansiyometrelerin diğer pinlerini 5V ve GND'ye bağlayın.
- 📝 Adım 2: Arduino IDE'sini açın ve Servo kütüphanesini ekleyin (Sketch > Include Library > Servo). Ardından aşağıdaki kodu yazın:
c++
#include
Servo servo1; // İlk servo motor
Servo servo2; // İkinci servo motor
int potPin1 = A0; // İlk potansiyometrenin bağlı olduğu pin
int potPin2 = A1; // İkinci potansiyometrenin bağlı olduğu pin
void setup() {
servo1.attach(9); // İlk servo motoru 9. pine bağla
servo2.attach(10); // İkinci servo motoru 10. pine bağla
Serial.begin(9600);
}
void loop() {
int potValue1 = analogRead(potPin1); // İlk potansiyometrenin değerini oku
int potValue2 = analogRead(potPin2); // İkinci potansiyometrenin değerini oku
int angle1 = map(potValue1, 0, 1023, 0, 180); // Potansiyometre değerini 0-180 arasına ölçeklendir
int angle2 = map(potValue2, 0, 1023, 0, 180); // Potansiyometre değerini 0-180 arasına ölçeklendir
servo1.write(angle1); // İlk servo motorun açısını ayarla
servo2.write(angle2); // İkinci servo motorun açısını ayarla
Serial.print("Pot1: ");
Serial.print(angle1);
Serial.print(" Pot2: ");
Serial.println(angle2);
delay(15);
}
- ✅ Adım 3: Kodu Arduino'ya yükleyin. Potansiyometreleri çevirerek servo motorların hareket ettiğini göreceksiniz. Robot kol iskeleti kullanarak daha karmaşık hareketler elde edebilirsiniz.
Bu projeler, robotik kodlamaya başlamak için harika bir temel oluşturur. Her projede yeni bilgiler öğrenerek ve deneyim kazanarak, daha karmaşık ve yaratıcı projeler geliştirebilirsiniz. Unutmayın, en önemlisi denemek ve öğrenmekten keyif almaktır!