Cep Telefonu Kontrollü Arac

664
25 Kasım 2017 Ömer Faruk Uçar tarafından

Bu videoda, uzun zamandır talep edilen ve son zamanlarda iyice talebi artan bluetooth kontrollü projeler kategorisine giriyoruz. Bu talep artışını okullardaki proje teslim tarihlerinin yakınlaşmasına bağlıyorum. Bu yüzden öncelikle herkese şimdiden kolay gelsin 🙂

Videoda android işletim sistemine sahip cep telefonu ile bluetooth kontrollü bir araç yapıyoruz. Yapımı oldukça kolay. Daha önce hiç arduino ile uğraşmamış olsanız bile bu video ve videoda bahsedilen diğer videolar ile birlikte kısa sürede kendi aracınızı yapabilirsiniz. İyi seyirler 🙂

Videoda kullanılan ve gelecek videolarda da kullanılacak olan malzemeler:

HC06 Bt Modül — https://goo.gl/4c1MuA
HC05 Bt Modül — https://goo.gl/cuUQnJ
Motor Sürücü Shield — https://goo.gl/jgQbaQ
Robot Şase — https://goo.gl/SkjVTY
iMAX Charger — https://goo.gl/TP8xv3
Lipo Pil Voltaj Ölçme Zımbırtısı — https://goo.gl/TRwtpP
Robot Kol — https://goo.gl/NyEEEr

Bahsedilen diğer videolar:

Kod — https://youtu.be/40PXPm7xF3I
Devre kartı — https://youtu.be/oQGod7xzCiM
HC06 Bluetooth Modülü Kullanımı: https://youtu.be/LWgkYIHMcPk
Temel Arduino Programlama Öğreten Video Serisi: https://goo.gl/Xe3x8Z

KOD:

#include<SoftwareSerial.h>

SoftwareSerial bt_iletisim(6, 7);

#define sol_ileri 8
#define sol_geri 9
#define sol_hiz 10

#define sag_ileri 13
#define sag_geri 12
#define sag_hiz 11

int motorlar_hiz = 255;
byte son_islem;

void setup()
{
  pinMode(sol_ileri, OUTPUT);
  pinMode(sag_ileri, OUTPUT);
  pinMode(sol_geri, OUTPUT);
  pinMode(sag_geri, OUTPUT);
  pinMode(sol_hiz, OUTPUT);
  pinMode(sag_hiz, OUTPUT);

  Serial.begin(9600);
  bt_iletisim.begin(9600);
}

void loop()
{
  if (bt_iletisim.available())
  {
    char data = bt_iletisim.read();
    Serial.println(data);

    if (data == '1')
    {
      dur();
      delay(10);
      ileri();
      son_islem = 1;
    }
    else if (data == '2')
    {
      dur();
      delay(10);
      geri();
      son_islem = 2;
    }
    else if (data == '3')
    {
      dur();
      delay(10);
      sol();
      son_islem = 3;
    }
    else if (data == '4')
    {
      dur();
      delay(10);
      sag();
      son_islem = 4;
    }
    else if (data == '6')
    {
      dur();
    }
    else if (data == '0')
    {
      motorlar_hiz = motorlar_hiz + 25;
      if (motorlar_hiz > 255)
      {
        motorlar_hiz = 255;
      }
      Serial.print("motorlar hiz= ");
      Serial.println(motorlar_hiz);
      son_isleme_devam_et();
    }
    else if (data == '5')
    {
      motorlar_hiz = motorlar_hiz - 25;
      if (motorlar_hiz < 0)
      {
        motorlar_hiz = 0;
      }
      Serial.print("motorlar hiz= ");
      Serial.println(motorlar_hiz);
      son_isleme_devam_et();
    }
  }
}
void ileri()
{
  digitalWrite(sol_ileri, 1);
  digitalWrite(sag_ileri, 1);
  digitalWrite(sol_geri, 0);
  digitalWrite(sag_geri, 0);
  analogWrite(sol_hiz, motorlar_hiz);
  analogWrite(sag_hiz, motorlar_hiz);
}

void geri()
{
  digitalWrite(sol_ileri, 0);
  digitalWrite(sag_ileri, 0);
  digitalWrite(sol_geri, 1);
  digitalWrite(sag_geri, 1);
  analogWrite(sol_hiz, motorlar_hiz);
  analogWrite(sag_hiz, motorlar_hiz);
}

void sol()
{
  digitalWrite(sol_ileri, 1);
  digitalWrite(sag_ileri, 0);
  digitalWrite(sol_geri, 0);
  digitalWrite(sag_geri, 1);
  analogWrite(sol_hiz, motorlar_hiz);
  analogWrite(sag_hiz, motorlar_hiz);
}

void sag()
{
  digitalWrite(sol_ileri, 0);
  digitalWrite(sag_ileri, 1);
  digitalWrite(sol_geri, 1);
  digitalWrite(sag_geri, 0);
  analogWrite(sol_hiz, motorlar_hiz);
  analogWrite(sag_hiz, motorlar_hiz);
}
void dur()
{
  digitalWrite(sol_ileri, 0);
  digitalWrite(sag_ileri, 0);
  digitalWrite(sol_geri, 0);
  digitalWrite(sag_geri, 0);
  analogWrite(sol_hiz, 0);
  analogWrite(sag_hiz, 0);
}

void son_isleme_devam_et()
{
  if (son_islem == 1)
  {
    ileri();
  }
  else if (son_islem == 2)
  {
    geri();
  }
  else if (son_islem == 3)
  {
    sol();
  }
  else if (son_islem == 4)
  {
    sag();
  }
}



 

Kategoriler