back to top

RC Araba Projesi Yaptık

Selam makerlar! Bu projemizde, telefonumuzdan Bluetooth ile uzaktan kontrol edebileceğimiz bir RC araba geliştirdik. Ayrıca, ChatGPT’den yararlanarak Arduino UNO ve Arduino NANO kodlarını birlikte yazdıracağız. Hadi gelin, projemize başlamak için gerekli malzemeleri birlikte inceleyelim.

rc araba

RC Araba Projesi için Gerekli Malzemeler

RC Araba Devre Şeması

Devre kurulumunu tamamladıktan sonra Arduino Uno ve Arduino Nano kodlarını ChatGPT ‘ye yazdırıyoruz. Bluetooth modeli sayesinde DC motorlarımızı telefon üzerinden kontrol edebilecek ve aynı zamanda Arduino NANO ile ışık ve ses ayarlarını yapabileceğiz. Komutlar için YouTube videomuza göz atabilirsiniz.

RC Araba Proje Arduino Nano Kodları

#include <SimpleSDAudio.h>

// LED pinleri
const int ledPins[] = {5, 6, 7, 8};
const int numLeds = sizeof(ledPins) / sizeof(ledPins[0]);

void setup() {
  // LED pinlerini çıkış olarak ayarla
  for (int i = 0; i < numLeds; i++) {
    pinMode(ledPins[i], OUTPUT);
  }

  SdPlay.setSDCSPin(4);

  if (!SdPlay.init(SSDA_MODE_FULLRATE | SSDA_MODE_MONO | SSDA_MODE_AUTOWORKER))
  {
    while (1);
  }

}

void loop() {
   ledAnimation();
   
   if (!SdPlay.setFile("araba.wav")) //Müzik Dosya Adı
   {
      while (1);
   }

  SdPlay.play();
  while (!SdPlay.isStopped())
  {
    ;
  }
  
}

void ledAnimation() {
  // LED animasyonu
  for (int i = 0; i < numLeds; i++) {
    digitalWrite(ledPins[i], HIGH); // LED'i yak
    delay(100); // 100 ms bekle
    digitalWrite(ledPins[i], LOW); // LED'i söndür
  }

  // Ters yönde LED animasyonu
  for (int i = numLeds - 1; i >= 0; i--) {
    digitalWrite(ledPins[i], HIGH); // LED'i yak
    delay(100); // 100 ms bekle
    digitalWrite(ledPins[i], LOW); // LED'i söndür
  }
}

RC Araba Proje Arduino UNO Kodları

char receivedChar;
const int in1 = 13;   
const int in2 = 12;     
const int in3 =  11; 
const int in4 =  10; 

const int in11 = 7;    
const int in22 = 6;     
const int in33 =  5;
const int in44 =  4;  

void setup() {
  Serial.begin(9600); // Seri haberleşmeyi başlat
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);

  pinMode(in11, OUTPUT);
  pinMode(in22, OUTPUT);
  pinMode(in33, OUTPUT);
  pinMode(in44, OUTPUT);
}

void loop() {
  if (Serial.available() > 0) { // Eğer seri veri mevcutsa
    receivedChar = Serial.read(); // Seri veriyi oku
    if (receivedChar == 'h') 
    { // Eğer 'h' gelirse
      moveRightMotors(); // Sağdaki motorları hareket ettir
    } 
    else if (receivedChar == 'g') 
    { // Eğer 'g' gelirse
      moveLeftMotors(); // Soldaki motorları hareket ettir
    }
    else if (receivedChar == 's') 
    { // Eğer 's' gelirse
      moveAllMotors(); // Bütün motorları hareket ettir
    }
    else if (receivedChar == 'c') 
    { // Eğer 'c' gelirse
      stopMotors(); // motorları durdur
    }
    else{stopMotors();}
  }
}

void moveAllMotors() 
{
  digitalWrite(in1, HIGH);
  digitalWrite(in3, HIGH);
  digitalWrite(in11, HIGH);
  digitalWrite(in33, HIGH);
  
  digitalWrite(in2,  LOW);  
  digitalWrite(in4,  LOW);
  digitalWrite(in22,  LOW);  
  digitalWrite(in44,  LOW);
}

void moveRightMotors() 
{
  digitalWrite(in1, HIGH);
  digitalWrite(in3, HIGH);
  digitalWrite(in2,  LOW);  
  digitalWrite(in4,  LOW);
}

void moveLeftMotors() 
{
  digitalWrite(in11, HIGH);
  digitalWrite(in33, HIGH);
  digitalWrite(in22,  LOW);  
  digitalWrite(in44,  LOW);
}

void stopMotors() 
{
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);

  digitalWrite(in11, LOW);
  digitalWrite(in22, LOW);
  digitalWrite(in33, LOW);
  digitalWrite(in44, LOW);
}

RC Araba Proje Videosu

ChatGPT’nin rehberliğinde yazdırdığımız kodları kontrol ettik, gerekli ayarlamaları yaptık ve projemizi test ettik. Şimdi, Arduino Bluetooth RC Car uygulamasını Android telefonumuza indirip kurarak projemizin başarıyla çalışıp çalışmadığını kontrol ediyoruz.

Detaylı anlatım için YouTube kanalımıza abone olarak RC aracınızı kolayca yapabilirsiniz. Bir sonraki yazıda görüşmek üzere!

Son Çıkan Yazılar

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz