Arduino ile birçok uygulama ve proje yapılıyor. Yapmış olduğum uzaktan kumandalı tank internette bulunmasını istediğim bir projeydi ve bende açık kaynak olarak Arduino ile uzaktan kumandalı tank yapımı bu makalede anlatıyorum.
Arduino ile yapmış olduğum Uzaktan Kumandalı Tank hakkında
Kullanılan Malzemeler
Alıcı:
- Arduino Nano
- Nrf24l01
- Palet Seti(2 motor 2 palet)
- TT motor
- L298N motor sürücü 2 adet
- BreadBoard
Verici:
- Arduino Uno
- Joystick Shield
- Nrf24l01
Kullanılan Bataryalar:
- 3.7 V 3 adet (2’si Taret , 1’i Nano için)
- 7.2 V (palet motorları için)
Dikkat: Tüm Bataryaların gnd’sini(-) aynı hatta (+)’i ise farklı bataryalrdan kullandım.
Kodlar
alıcı:
#include <SPI.h> //Uzaktan Kumandalı Tank Yapımı
#include <nRF24L01.h>
#include <RF24.h>
#define CE_PIN 9
#define CSN_PIN 10
int motor1 = 2;
int motor11= 3;
int motor2 = 5;
int motor22= 4;
const int motorPin1 = 7;
const int motorPin2 = 8;
const int e1 = 6;
const uint64_t pipe = 0xE8E8F0F0E1LL;
RF24 radio(CE_PIN, CSN_PIN);
int data[3];
void setup()
{
pinMode(motor1, OUTPUT);
pinMode(motor2, OUTPUT);
pinMode(motor11, OUTPUT);
pinMode(motor22, OUTPUT);
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(e1, OUTPUT);
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1,pipe);
radio.startListening();;
}
void loop()
{
if ( radio.available() ) //Eğer sinyal algılarsan…
{
radio.read(data, sizeof(data));
Serial.print(“data[0]=”);
Serial.println(data[0]);
Serial.print(“data[1]=”);
Serial.println(data[1]);
hareket(data[0],data[1],data[2]);
}
} // ( Arduino ile uzaktan kumandalı tank yapımı )
void hareket(int x_axis, int y_axis, int xpin)
{
if (y_axis > 900&& x_axis > 400&& x_axis <600) //ileri
{
digitalWrite(motor1 , HIGH); //Uzaktan Kumandalı Tank Yapımı
digitalWrite(motor11 , LOW);
digitalWrite(motor2 , HIGH);
digitalWrite(motor22 , LOW);
}
else if (y_axis < 200&& x_axis <600&& x_axis > 400) //geri
{
digitalWrite(motor1 , LOW);
digitalWrite(motor11 , HIGH);
digitalWrite(motor2 , LOW);
digitalWrite(motor22 , HIGH);
}
else if (x_axis > 900&& y_axis > 400&& y_axis < 600) //sağ
{
digitalWrite(motor1 , HIGH);
digitalWrite(motor11 , LOW);
digitalWrite(motor2 , LOW);
digitalWrite(motor22 , HIGH);
}
else if (x_axis > 900&& y_axis > 800) //sağ ileri
{
digitalWrite(motor1 , HIGH); //Uzaktan Kumandalı Tank Yapımı
digitalWrite(motor11 , LOW);
digitalWrite(motor2 , LOW);
digitalWrite(motor22 , LOW);
}
else if (x_axis < 200&& y_axis < 600&& y_axis > 400) //sol
{
digitalWrite(motor1 , LOW);
digitalWrite(motor11 , HIGH);
digitalWrite(motor2 , HIGH);
digitalWrite(motor22 , LOW);
}
else if (x_axis < 200&&> 800) //sol ileri
{
digitalWrite(motor1 , LOW);
digitalWrite(motor11 , HIGH);
digitalWrite(motor2 , LOW);
digitalWrite(motor22 , LOW);
}
else
{
digitalWrite(motor1 , LOW);
digitalWrite(motor11 , LOW);
digitalWrite(motor2 , LOW);
digitalWrite(motor22 , LOW);
}
if(xpin > 800)
{
digitalWrite(motorPin1,HIGH);
digitalWrite(motorPin2,LOW);
analogWrite(e1, 190);
}
else if(xpin < 300)
{
digitalWrite(motorPin1,LOW);
digitalWrite(motorPin2,HIGH);
analogWrite(e1, 190);
}
else
{
digitalWrite(motorPin1,LOW);
digitalWrite(motorPin2,LOW);
analogWrite(e1, 0);
}
}
// ( Arduino ile uzaktan kumandalı tank yapımı )
verici:
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define CE_PIN 9
#define CSN_PIN 10
const uint64_t pipe = 0xE8E8F0F0E1LL;
RF24 radio(CE_PIN, CSN_PIN);
int data[3];
#define x_axis A0 // x axis
#define y_axis A1 //y axis
#define xpin A2
void setup()
{
pinMode(xpin , INPUT);
pinMode(xpin , INPUT);
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(pipe);
}
void loop()
{
data[0] = analogRead(x_axis);
data[1] = analogRead(y_axis);
data[2] = analogRead(xpin);
radio.write(data, sizeof(data));
//HATA AYIKLAMA (DEBUG)
Serial.print(analogRead(x_axis));
Serial.println(” “);
Serial.print(analogRead(y_axis));
Serial.println(” “);
}
XK2 BLACK PANTHER
Gerçek bir XK2 Black Panther Hakkında:
K2 Black Panther (Hangul: K2 ‘흑표’, hanja: K2 ‘黒豹’), Güney Kore Cumhuriyeti’nin Hyundai-Kia Automotive Group şirketinin bünyesinde bulunan ROTEM tarafından geliştirilmekte olan ve envanterinde bulunan M48 Patton ve K1 AMT’larının yerini alması planlanan bir Ana Muharebe Tankıdır. ( Uzaktan Kumandalı Tank Yapımı yazının devamındadır kapamayınız )
3 adet mürettebata sahip,55 ton ağırlığında olması planlanan,120mm yivsiz tank topuna,aynı zamanda 12.7mm makinalı tüfek ve 7.62mm koaksial makinalı tüfeğe sahip,1500hp motorla donatılmış,430 km menzil mesafesi bulunan bir tank.tamamı yerli olmamakla birlikte,arge çalışmaları sonucu %100 yerli üretim hedeflenen bir proje.
tank başı 8.5 milyon dolar gibi bir fiyatla, piyasadaki “ünite başına en pahalı tank” başarısını elinde tutmaktadır. m1a2 kıvamında bir tank olsada, m1a2 de bulunan seyreltilmiş uranyum zırh kaplaması, bu tankta yoktur. (Uzaktan Kumandalı Tank Yapımı)
K2 Black Panther | |
---|---|
Çeşidi | Ana Muharebe Tankı |
Uyruğu | Güney Kore |
Hizmet geçmişi | |
Hizmet | 2014- günümüz |
Üretim tarihi | |
Üretildiği tarih | 2013- günümüz |
Üretim adedi | 100 (200 planlanan) |
Özellikler | |
Uzunluk | 7,5 m; 10,8 m (top öne doğru yöneltilmiş iken) |
Genişlik | 3,60 m |
Yükseklik | 2,40 m |
Mürettebat | 3 (Komutan, Sürücü, Nişancı) |
|
|
|
|
Zırhı | Çeşitli reaktif anti-füze tabakaları ve modüler yeni bilinmeyen zırh tipi |
Ana silahı | Rheinmetall 120-mm-yivsiz tank topu L/55 |
Diğer silahları | 1 x 12,7-mm-K6-makinalı tüfek (tepesinde) ve 1 x 7,62-mm- makinalı tüfek (koaksial) |
Motor | V-12 MTU MB-883 Ka500 Dizel 1500 beygir (1.100 kW) |
Kaldırma kapasitesi | 27,3 beygir/ton |
Süspansiyon donanımı | hidrolik pnömatik |
Boş ağırlık | 55,0 ton |
Harekat menzili | 430 km |
Azami hızı | 70 km/h |