Bluetooth Kontrollü Araba

Bluetooth Kontrollü Araba

Yazıyı güncellenmeye devam ediyoruz.

#include <SoftwareSerial.h>  // Software Serial kütüphanesini ekledik.
SoftwareSerial bluetooth(10, 11);  // Bluetooth TX, RX pinler

const int solileri = 7;
const int solgeri = 6;
const int sagileri = 4;
const int saggeri = 5;
const int solHiz = 9; // Pwn pini hız ayarı için Jumperları sökünce
const int sagHiz = 3; // Pwn pini hız ayarı için Jumperları sökünce

int hiz = 175;

void setup() {
  Serial.begin(9600);    // Bilgisayar haberleşmesi başlat
  bluetooth.begin(9600);      // Bluetooth haberleşmesi başlat
  pinMode(solileri, OUTPUT);
  pinMode(solgeri, OUTPUT);
  pinMode(solHiz, OUTPUT); //Motorlarımızı çıkış olarak tanımlıyoruz.
  pinMode(sagileri, OUTPUT);
  pinMode(saggeri, OUTPUT);
  pinMode(sagHiz, OUTPUT);
}

void loop() {
  if (bluetooth.available() > 0) {   /*Bluetooth’tan veri bekliyoruz */
    char tus = (char)bluetooth.read();
    if ( tus == 'w' ) {
      ileri();
    }
    if ( tus == 's' ) {
      geri();
    }
    if ( tus == 'a' ) {
      sol();
    }
    if ( tus == 'd' ) {
      sag();
    }
    if ( tus == 'x' ) {
      dur();
    }
    if ( tus == '+' ) {
      hiz = hiz + 25;
      Serial.println(hiz);  // Serial ekranda Araç hızı görmek için
      if (hiz > 255)
      {
        hiz = 255;
      }
    }
    if ( tus == '-' ) {
      hiz = hiz - 25;
      Serial.println(hiz); // Serial ekranda Araç hızı görmek için
      if (hiz < 0)
      {
        hiz = 0;
      }
    }
  }

}

void ileri() { // Robotun ileri yönde hareketi için fonksiyon tanımlıyoruz.
  digitalWrite(sagileri, HIGH); // Sağ motorun ileri hareketi aktif
  digitalWrite(saggeri, LOW); // Sağ motorun geri hareketi pasif
  analogWrite(sagHiz, hiz); // Sağ motorun hızı 150

  digitalWrite(solileri, HIGH); // Sol motorun ileri hareketi aktif
  digitalWrite(solgeri, LOW); // Sol motorun geri hareketi pasif
  analogWrite(solHiz, hiz); // Sol motorun hızı 150  
}
void sag() { // Robotun sağa dönme hareketi için fonksiyon tanımlıyoruz.
  digitalWrite(sagileri, HIGH); // Sağ motorun ileri hareketi aktif
  digitalWrite(saggeri, LOW); // Sağ motorun geri hareketi pasif
  analogWrite(sagHiz, 0); // Sağ motorun hızı 0 (Kapalı)

  digitalWrite(solileri, HIGH); // Sol motorun ileri hareketi aktif
  digitalWrite(solgeri, LOW); // Sol motorun geri hareketi pasif
  analogWrite(solHiz, hiz); // Sol motorun hızı 150
}
void sol() { // Robotun sağa dönme hareketi için fonksiyon tanımlıyoruz.
  digitalWrite(sagileri, HIGH); // Sağ motorun ileri hareketi aktif
  digitalWrite(saggeri, LOW); // Sağ motorun geri hareketi pasif
  analogWrite(sagHiz, hiz); // Sağ motorun hızı 150

  digitalWrite(solileri, HIGH); // Sol motorun ileri hareketi aktif
  digitalWrite(solgeri, LOW); // Sol motorun geri hareketi pasif
  analogWrite(solHiz, 0); // Sol motorun hızı 0 (Kapalı)
}


void geri() { // Robotun geri yönde hareketi için fonksiyon tanımlıyoruz.
 digitalWrite(sagileri, LOW); // Sağ motorun ileri hareketi pasif
  digitalWrite(saggeri, HIGH); // Sağ motorun geri hareketi aktif
  analogWrite(sagHiz, hiz); // Sağ motorun hızı 150

  digitalWrite(solileri, LOW); // Sol motorun ileri hareketi pasif
  digitalWrite(solgeri, HIGH); // Sol motorun geri hareketi aktif
  analogWrite(solHiz, hiz); // Sol motorun hızı 150
}
void dur() { // Robotun geri yönde hareketi için fonksiyon tanımlıyoruz.
  digitalWrite(sagileri, HIGH); // Sağ motorun ileri hareketi aktif
  digitalWrite(saggeri, LOW); // Sağ motorun geri hareketi pasif
  analogWrite(sagHiz, 0); // Sağ motorun hızı 0 (Kapalı)

  digitalWrite(solileri, HIGH); // Sol motorun ileri hareketi aktif
  digitalWrite(solgeri, LOW); // Sol motorun geri hareketi pasif
  analogWrite(solHiz, 0); // Sol motorun hızı 0 (Kapalı)
}

Yazar hakkında

Orhan Gazi DEMİRCİ administrator

1984 Samsun doğumluyum. Ondokuz Mayıs Üniversitesi Bilgisayar öğretmenliği 2007 Mezunuyum. Bafra İlçe Milli Eğitim Müdürlüğünde Fatih Projesi eğitmenliği görevinde bulunmaktayım. KodlaBafra yürütücülüğü 2017 yılından beri yürütmekteyim. Evli ve bir çocuk babasıyım.