İletişime Geç
Menü
Arduino Başlangıç Örnekleri
18.10.2025

Arduino Başlangıç Örnekleri

Arduino, etkileşimli projeler oluşturmanıza izin veren bir açık kaynaklı elektronik platformudur. C ve C++ dillerini kullanarak programlanabilir. Aşağıda Arduino'ya yeni başlayanlar için birkaç örnek bulabilirsiniz.

1.LED Yakma/Söndürme

Bu, genellikle Arduino öğrenmeye başladığınızda ilk karşılaşacağınız örnektir.

```C++
// LED'in bağlandığı pin.
int ledPin = 13;

// setup fonksiyonu, Arduino'nun başlangıç ayarlarını yapar.
void setup() {
pinMode(ledPin, OUTPUT); // LED pinini çıkış (output) olarak ayarlar.
}

// loop fonksiyonu, Arduino'nun sürekli çalıştığı döngüdür.
void loop() {
digitalWrite(ledPin, HIGH); // LED'i açar.
delay(1000); // 1 saniye bekler.
digitalWrite(ledPin, LOW); // LED'i kapatır.
delay(1000); // 1 saniye bekler.
}
```
Bu örnekte, Arduino'nun 13. pinine bağlı bir LED'i 1 saniye süreyle açıp kapatıyoruz.

2. **Potansiyometre ile LED Parlaklığını Ayarlama:**

Bu örnekte, bir potansiyometre ile LED'in parlaklığını kontrol ederiz.

```C++
int ledPin = 9;
int potPin = A0;

void setup() {
}

void loop() {
int potValue = analogRead(potPin); // Potansiyometrenin değerini okur.
int ledBrightness = map(potValue, 0, 1023, 0, 255); // Değeri 0-255 arasına dönüştürür.
analogWrite(ledPin, ledBrightness); // LED'in parlaklığını ayarlar.
}
```
Potansiyometrenin değerini okuyoruz ve bu değeri 0-255 aralığına dönüştürüyoruz (LED parlaklığını kontrol etmek için bu aralığı kullanırız). Ardından, bu dönüştürülen değeri kullanarak LED'in parlaklığını ayarlıyoruz.

Arduino hakkında daha detaylı bilgi ve daha fazla örnekler için Arduino'nun resmi web sitesini (https://www.arduino.cc/) ve çeşitli çevrimiçi kaynakları inceleyebilirsiniz.

Tabii ki, işte Arduino ile yapılabilecek başka birkaç basit proje:

1.Butonla LED Kontrolü:

Bu örnekte, bir butonun durumunu kontrol ederek bir LED'i açıp kapatabilirsiniz.

```C++
int ledPin = 13;
int buttonPin = 12;

void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}

void loop() {
int buttonState = digitalRead(buttonPin); // Butonun durumunu okur.

if (buttonState == HIGH) { // Buton basıldıysa...
digitalWrite(ledPin, HIGH); // LED'i açar.
} else { // Buton basılı değilse...
digitalWrite(ledPin, LOW); // LED'i kapatır.
}
}

2.Hareket Sensörü (PIR) ile LED Kontrolü

Bir hareket sensörü ile bir LED'in kontrol edilmesini sağlayan bir başka örnek. Sensör hareket algıladığında LED yanar.

```C++
int ledPin = 13;
int pirPin = 7;

void setup() {
pinMode(ledPin, OUTPUT);
pinMode(pirPin, INPUT);
}

void loop() {
int pirState = digitalRead(pirPin); // PIR sensörün durumunu okur.

if (pirState == HIGH) { // Hareket algılandıysa...
digitalWrite(ledPin, HIGH); // LED'i açar.
} else { // Hareket algılanmadıysa...
digitalWrite(ledPin, LOW); // LED'i kapatır.
}
}
```

Bu örnekler basit olsa da, Arduino'nun genel mantığını ve kullanımını anlamanız için yeterlidir. Bu temelleri kullanarak çok daha karmaşık ve ilgi çekici projeler oluşturabilirsiniz. Örneğin, sensörler, motorlar ve diğer çeşitli bileşenlerle etkileşim kurabilirsiniz.

Elbette, Arduino ile yapılabilecek daha karmaşık örnekleri inceleyelim:

1.Servo Motor Kontrolü

Servo motorlar, bir sinyal genliği ile kontrol edilen pozisyona hareket edebilen özel motorlardır. Bu özellik, onları robotik uygulamalar için mükemmel bir seçenek haline getirir. İşte bir servo motorun kontrol edilmesine dair basit bir örnek:

```C++
#include

Servo myServo;

void setup() {
myServo.attach(9); // Servo motorun bağlandığı pin
}

void loop() {
for(int i=0; i<=180; i++){ // Servo motorun açısını 0'dan 180'e çevirir
myServo.write(i);
delay(15);
}

for(int i=180; i>=0; i--){ // Servo motorun açısını 180'den 0'a çevirir
myServo.write(i);
delay(15);
}
}
```

2.LCD Ekrana Metin Yazdırma

Bir 16x2 LCD ekranı kullanarak basit bir metin yazma örneği:

```C++
#include

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
lcd.begin(16, 2); // LCD ekranın kolon ve satır sayısını ayarlar
lcd.print("Merhaba Dunya!"); // İlk satıra metin yazdırır
}

void loop() {
lcd.setCursor(0, 1); // İkinci satıra geçer
lcd.print(millis()/1000); // Arduino'nun çalışma süresini saniye cinsinden yazdırır
}
```

Bu tür örnekler Arduino'nun farklı bileşenlerle nasıl etkileşime girebileceğini ve çeşitli projelerde nasıl kullanılabileceğini gösterir. Bu örnekler sadece başlangıç seviyesi olup, öğrenme ve deneyimle çok daha karmaşık ve ilginç projeler yapabilirsiniz.

Tabii ki, işte Arduino ile gerçekleştirilebilecek çeşitli örnekler:

1. **Termometre:**

Analog bir sıcaklık sensörü (LM35 gibi) kullanarak sıcaklık okumaları yapabilirsiniz.

```C++
int sensorPin = A0;

void setup() {
Serial.begin(9600);
}

void loop() {
int reading = analogRead(sensorPin);
float voltage = reading * 5.0 / 1024.0;
float temperatureC = voltage * 100;
Serial.println(temperatureC);
delay(1000);
}
```

2.Sesli Alarm

Bir buzzer ve bir buton ile sesli bir alarm sistemi oluşturabilirsiniz.

```C++
int buzzerPin = 9;
int buttonPin = 8;

void setup() {
pinMode(buzzerPin, OUTPUT);
pinMode(buttonPin, INPUT);
}

void loop() {
int buttonState = digitalRead(buttonPin);

if (buttonState == HIGH) {
tone(buzzerPin, 1000);
} else {
noTone(buzzerPin);
}
}
```

3. **Fotorezistörle Işık Seviyesi Ölçümü:**

Fotorezistör, ışığa duyarlı bir rezistördür ve ışık seviyelerini ölçmek için kullanılabilir.

```C++
int sensorPin = A0;

void setup() {
Serial.begin(9600);
}

void loop() {
int reading = analogRead(sensorPin);
Serial.println(reading);
delay(1000);
}
```

4. DHT11 Sıcaklık ve Nem Sensörü:

DHT11, sıcaklık ve nemi ölçen bir sensördür.

```C++
#include

#define DHTPIN 2
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);

void setup() {
Serial.begin(9600);
dht.begin();
}

void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();

Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" *C");

delay(2000);
}
```

5. HC-SR04 Ultrasonik Sensör:

Ultrasonik sensörler, mesafe ölçümü için kullanılabilir.

```C++
#define trigPin 9
#define echoPin 10

void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}

void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);

digitalWrite(trigPin, HIGH);
delayMicroseconds(10);

digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);

distance = (duration/2) / 29.1;

Serial.print(distance);
Serial.println(" cm");

delay(500);
}
```

6. RGB LED Kontrolü:

RGB LEDlerin her bir renk bileşeni, bir PWM sinyali ile kontrol edilir.

```C++
int redPin = 11;
int greenPin =

10;
int bluePin = 9;

void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}

void loop() {
setColor(255, 0, 0); // red
delay(1000);
setColor(0, 255, 0); // green
delay(1000);
setColor(0, 0, 255); // blue
delay(1000);
}

void setColor(int red, int green, int blue) {
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
```

Bu projelerle Arduino'nun çeşitli bileşenlerle nasıl etkileşime girebileceğini ve nasıl farklı uygulamalar yapabileceğini görmüş oldunuz. Sadece bu temellerle bile birçok karmaşık ve ilginç proje yapabilirsiniz.

Elbette, işte birkaç farklı proje örneği daha:

7. Soil Moisture Sensor (Toprak Nem Sensörü):

Toprak nem sensörü, bitkinizin sulanıp sulanmadığını kontrol etmenizi sağlar.

```C++
int sensorPin = A0;

void setup() {
Serial.begin(9600);
}

void loop() {
int reading = analogRead(sensorPin);
Serial.print("Soil Moisture = ");
Serial.println(reading);
delay(1000);
}
```

8. Piezo Buzzer ile Melodi Çalma

Piezo buzzer kullanarak basit bir melodi çalabilirsiniz.

```C++
#include "pitches.h" // Notaların frekanslarını içeren dosya

int melody[] = {NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4};
int noteDurations[] = {4, 8, 8, 4, 4, 4, 4, 4 };

void setup() {
int melodyLength = sizeof(melody) / sizeof(int);

for (int i = 0; i < melodyLength; i++) {
int noteDuration = 1000 / noteDurations[i];
tone(8, melody[i], noteDuration);
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
noTone(8);
}
}

void loop() {
// Melodi bir kere çalındıktan sonra loop boş kalır.
}
```

9.Photoresistor (Fotorezistör) ile Gece Lambası

Fotorezistör kullanarak, bir oda karanlık olduğunda otomatik olarak yanacak bir gece lambası yapabilirsiniz.

```C++
int sensorPin = A0;
int ledPin = 13;

void setup() {
pinMode(ledPin, OUTPUT);
}

void loop() {
int reading = analogRead(sensorPin);

if (reading < 400) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}
```

Bu projeler, Arduino'nun çeşitli donanımlarla nasıl etkileşime girebileceğini ve geniş bir uygulama yelpazesine nasıl uygulanabileceğini göstermektedir. Sadece bu temel kavramlarla bile, çok çeşitli karmaşık ve ilginç projeler oluşturabilirsiniz.

Elbette, aşağıda daha fazla örnek bulabilirsiniz:

11.Potansiyometre ile Servo Motor Kontrolü

Potansiyometre ile servo motorun açısını kontrol edebiliriz.

```C++
#include

Servo myServo;
int potPin = A0;

void setup() {
myServo.attach(9);
}

void loop() {
int potValue = analogRead(potPin);
int servoAngle = map(potValue, 0, 1023, 0, 180);
myServo.write(servoAngle);
delay(15);
}
```

12.RFID Okuyucu

MFRC522 RFID modülünü kullanarak bir RFID kart okuyucu yapabiliriz. Bu kod örneği, bir kart okunduğunda seri monitöre kartın UID'sini yazdırır.

```C++
#include

#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);

void setup() {
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
}

void loop() {
if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {
Serial.print("UID:");
for (byte i = 0; i < mfrc522.uid.size; i++) {
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
}
Serial.println();
}
}
```

13. DHT11 ile Sıcaklık ve Nem Ölçümü ve LCD'ye Yazdırma

DHT11 sıcaklık ve nem sensörünü kullanarak ortamın sıcaklık ve nem değerlerini ölçer ve LCD ekrana yazdırır.

```C++
#include
#include

#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
dht.begin();
lcd.begin(16, 2);
}

void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();

lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(t);
lcd.print(" C");

lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(h);
lcd.print(" %");

delay(2000);
}
```

Bu örnekler, Arduino'nun geniş uygulama yelpazesini ve çeşitli bileşenlerle etkileşim yeteneğini göstermektedir. Sadece bu temel kavramlarla bile, çok çeşitli karmaşık ve ilginç projeler oluşturabilirsiniz.

Tabii ki, daha fazla örnek verebilirim:

14. **LED ile Animasyon Yaratma:**

Birden fazla LED ile basit bir animasyon oluşturabilirsiniz.

```C++
int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9}; // LED'lerin bağlandığı pinler

void setup() {
for (int i = 0; i < 8; i++) {
pinMode(ledPins[i], OUTPUT);
}
}

void loop() {
for (int i = 0; i < 8; i++) {
digitalWrite(ledPins[i], HIGH);
delay(100);
digitalWrite(ledPins[i], LOW);
}
}
```

15. Ultrasonik Sensör ve Buzzer ile Mesafe Uyarısı

Ultrasonik sensör ve buzzer kullanarak, belirli bir mesafeye yaklaşıldığında sesli uyarı veren bir sistem oluşturabilirsiniz.

```C++
#define trigPin 9
#define echoPin 10
#define buzzer 11

void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzer, OUTPUT);
}

void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance < 20) { // Mesafe 20 cm'den küçükse
digitalWrite(buzzer, HIGH);
} else {
digitalWrite(buzzer, LOW);
}
delay(500);
}
```

16. Potansiyometre ile RGB LED Kontrolü

3 adet potansiyometre ile bir RGB LED'in renklerini kontrol edebilirsiniz.

```C++
int redPin = 9;
int greenPin = 10;
int bluePin = 11;
int redPotPin = A0;
int greenPotPin = A1;
int bluePotPin = A2;

void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}

void loop() {
int redValue = analogRead(redPotPin) / 4;
int greenValue = analogRead(greenPotPin) / 4;
int blueValue = analogRead(bluePotPin) / 4;

analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
}
```

Arduino ile bu ve daha birçok proje yapabilirsiniz. Bu örnekler, size Arduino'nun yeteneklerini ve çeşitli bileşenlerle nasıl etkileşime girebileceğini gösterir. Sadece bu temel kavramlarla bile, çok çeşitli karmaşık ve ilginç projeler oluşturabilirsiniz.

Elbette, aşağıda daha fazla Arduino projesi örneği bulabilirsiniz:

17. Kızılötesi (IR) Kontrol ile LED Açma/Kapama

Kızılötesi alıcı ve bir kızılötesi uzaktan kumanda kullanarak bir LED'i kontrol edebilirsiniz.

```C++
#include

int RECV_PIN = 11;
int LED_PIN = 13;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup() {
pinMode(LED_PIN, OUTPUT);
irrecv.enableIRIn();
}

void loop() {
if (irrecv.decode(&results)) {
if (results.value == 0xFF30CF) { // IR kodu
digitalWrite(LED_PIN, HIGH);
}
if (results.value == 0xFF18E7) { // IR kodu
digitalWrite(LED_PIN, LOW);
}
irrecv.resume();
}
}
```

18. Bir Buton ile Buzzer Kontrolü

Bir düğme kullanarak bir buzzer'ı kontrol edebilirsiniz.

```C++
int buzzerPin = 9;
int buttonPin = 2;

void setup() {
pinMode(buzzerPin, OUTPUT);
pinMode(buttonPin, INPUT);
}

void loop() {
int buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
tone(buzzerPin, 1000);
} else {
noTone(buzzerPin);
}
}
```

19. Bluetooth Modülü ile LED Kontrolü

Bir Bluetooth modülü ve bir cep telefonu uygulaması kullanarak bir LED'i kontrol edebilirsiniz.

```C++
#include

SoftwareSerial mySerial(10, 11); // RX, TX
int ledPin = 13;

void setup() {
pinMode(ledPin, OUTPUT);
mySerial.begin(9600);
}

void loop() {
if (mySerial.available()) {
char c = mySerial.read();
if (c == '1') {
digitalWrite(ledPin, HIGH);
} else if (c == '0') {
digitalWrite(ledPin, LOW);
}
}
}
```

Bu projeler, Arduino'nun çeşitli bileşenlerle nasıl etkileşime girebileceğini ve geniş bir uygulama yelpazesine nasıl uygulanabileceğini göstermektedir. Sadece bu temel kavramlarla bile, çok çeşitli karmaşık ve ilginç projeler oluşturabilirsiniz.

Elbette, daha fazla Arduino projesi örneği sunabilirim:

20. Bir PIR Hareket Sensörü ile LED Kontrolü

Bir PIR hareket sensörü ile birlikte bir LED'i kontrol edebiliriz. Eğer sensör bir hareket algılarsa, LED yanar.

```C++
int ledPin = 13;
int inputPin = 2;

void setup() {
pinMode(ledPin, OUTPUT);
pinMode(inputPin, INPUT);
}

void loop() {
int val = digitalRead(inputPin);
if (val == HIGH) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}
```

21. Bir Hall Effect Sensörü ile Manyetik Alanı Algılama

Hall Effect sensörleri, manyetik alanların varlığını algılar. Eğer bir manyetik alan algılanırsa, Arduino'ya bir sinyal gönderir.

```C++
int hallPin = 2;

void setup() {
Serial.begin(9600);
pinMode(hallPin, INPUT);
}

void loop() {
int val = digitalRead(hallPin);
if (val == HIGH) {
Serial.println("Magnet detected!");
} else {
Serial.println("No magnet detected.");
}
delay(100);
}
```

22. Bir Servo Motoru Kontrol Etmek İçin Bir Joystick Kullanma

Bir joystick, servo motorları kontrol etmek için kullanılabilir. Bu örnekte, joystickin X ekseninin pozisyonuna göre bir servo motorun açısını ayarlıyoruz.

```C++
#include

Servo myservo;
int val;
int joyPin = A0;

void setup() {
myservo.attach(9);
}

void loop() {
val = analogRead(joyPin);
val = map(val, 0, 1023, 0, 180);
myservo.write(val);
delay(15);
}
```

Bu örnekler, Arduino'nun çok çeşitli bileşenlerle etkileşime girebileceğini ve geniş bir uygulama yelpazesine nasıl uygulanabileceğini göstermektedir. Sadece bu temel kavramlarla bile, çok çeşitli karmaşık ve ilginç projeler oluşturabilirsiniz.

Elbette, daha fazla Arduino proje örnekleri verebilirim:

23. Dijital Termometre

Bir DS18B20 dijital termometre sensörü kullanarak ortam sıcaklığını ölçebiliriz ve seri monitöre yazdırabiliriz.

```C++
#include
#include

#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup() {
Serial.begin(9600);
sensors.begin();
}

void loop() {
sensors.requestTemperatures();
float temperatureC = sensors.getTempCByIndex(0);
Serial.println(temperatureC);
delay(1000);
}
```

24. RF alıcı-verici modülü ile kablosuz veri iletimi

Bir çift RF alıcı-verici modülü ile Arduino'lar arasında kablosuz veri iletimi gerçekleştirebiliriz.

**Verici:**

```C++
#include

void setup() {
vw_set_ptt_inverted(true);
vw_setup(2000);
vw_set_tx_pin(12);
}

void loop() {
const char *msg = "hello";
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx();
delay(200);
}
```

**Alıcı:**

```C++
#include

void setup() {
vw_set_ptt_inverted(true);
vw_setup(2000);
vw_set_rx_pin(12);
vw_rx_start();
Serial.begin(9600);
}

void loop() {
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;

if (vw_get_message(buf, &buflen)) {
Serial.write(buf, buflen);
}
}
```

25.Bir Hava Kalitesi Sensörü ile Hava Kalitesi Ölçümü

MQ-135 hava kalitesi sensörü ile hava kalitesini ölçebiliriz.

```C++
int sensorPin = A0;

void setup() {
Serial.begin(9600);
}

void loop() {
float sensorVoltage = analogRead(sensorPin) * (5.0 / 1023.0);
float airQuality = (3.3 - sensorVoltage) / sensorVoltage;
Serial.println(airQuality);
delay(1000);
}
```

Bu örnekler, Arduino'nun çeşitli bileşenlerle nasıl etkileşime girebileceğini ve geniş bir uygulama yelpazesine nasıl uygulanabileceğini gösterir. Sadece bu temel kavramlarla bile, çok çeşitli karmaşık ve ilginç projeler oluşturabilirsiniz.

Blog Son Eklenenler

Frenli Servo Motor Nedir? Kapsamlı Bir İnceleme

Frenli servo motor; mil durduğunda ya da enerji kesildiğinde ekseni mekanik olarak kilitleyen entegre elektromanyetik frenli bir AC/BLDC servo motordur. En kritik kullanım alanları düşey (Z) eksenler, tahrik kaybında güvenli konum tutma ve hassas pozisyonun boşa düşmesini önlemektir. Fren “fail-safe” tiptir: güç yokken kapalı (tutuyor), 24 V DC verildiğinde açar.

Devamını Oku
04.11.2025
Alüminyum Sigma Profil ile CNC Router Üretmek

Alüminyum Sigma Profil ile CNC Router Üretmek

Alüminyum Sigma profil ile CNC router üretimi avantajları ve dezavantajlarını bu bloğumuzda sizlerle paylaşacağız. Alüminyum Sigma profil maliyetleri ve Çelik profil ile üretilen CNC router tezgahının alüminyum Sigma profil ile üretilen CNC router makinesi ile karşılaştırılması konusunu bu bloğumuzda ele alacağız.

Devamını Oku
19.10.2025
3 4
Toplam 1548 ürün bulunmaktadır.
T-Soft E-Ticaret Sistemleriyle Hazırlanmıştır.