Ana Sayfa Arduino Arduino ile Uzaktan Kontrollü Tank

Arduino ile Uzaktan Kontrollü Tank

5 min read
5
5
21,830

Merhaba Dostlar ;

Bu gün çok beğenerek yaptığım NRF24L01 ile kumanda ettiğim tankın yapımına değineceğim. Tankta kumanda için NRF24L01 in antenli modelini kullandık. 3 adet 18650 pili seri bağlayarak gayet güçlü bir araç yapmış olduk.

Kullanılan Malzemeler

-Tank Robot Şasesi
-Arduino Uno R3 + USB Kablo
-NRF24L01 Adaptör
-NRF24L01 Antenli Modül
-9V Pil Başlığı
-Breadboard
-Jumber Kablo
-18650 3.7v Li-Ion Pil + Şarjer
-18650 3.7v Pil Yuvası
-Joystick Modül

Video 

Kod ve Şema 

Alıcı :

#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[2];
const int Motor1_Ileri = 4;//Sağ Motor
const int Motor1_Geri = 2;
const int Motor1_PWM = 3;

const int Motor2_Ileri = 7;//Sol Motor
const int Motor2_Geri = 6;
const int Motor2_PWM = 5;
void setup()
{
pinMode(Motor1_Ileri,OUTPUT);
pinMode(Motor1_Geri,OUTPUT);
pinMode(Motor1_PWM,OUTPUT);
pinMode(Motor2_Ileri,OUTPUT);
pinMode(Motor2_Geri,OUTPUT);
pinMode(Motor2_PWM,OUTPUT);
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1,pipe);
radio.startListening();;
}

void loop() {
if ( radio.available() ) //Eğer sinyal algılarsan…
{
int y = data[1];
int x = data[0];
radio.read( data, sizeof(data) );
if(y >= 400 && y <= 600) {
digitalWrite(Motor1_Ileri,LOW);
digitalWrite(Motor1_Geri,LOW);
analogWrite(Motor1_PWM,0);
digitalWrite(Motor2_Ileri,LOW);
digitalWrite(Motor2_Geri,LOW);
analogWrite(Motor2_PWM,0);
}
if(y >= 800 && y <= 1023) {
digitalWrite(Motor1_Ileri,LOW);
digitalWrite(Motor1_Geri,HIGH);
analogWrite(Motor1_PWM,255);
digitalWrite(Motor2_Ileri,LOW);
digitalWrite(Motor2_Geri,HIGH);
analogWrite(Motor2_PWM,255);
}
if(y >= 0 && y <= 450) {
digitalWrite(Motor1_Ileri,HIGH);
digitalWrite(Motor1_Geri,LOW);
analogWrite(Motor1_PWM,255);
digitalWrite(Motor2_Ileri,HIGH);
digitalWrite(Motor2_Geri,LOW);
analogWrite(Motor2_PWM,255);
}
if(x >= 0 && x <= 450) {
digitalWrite(Motor1_Ileri,LOW);
digitalWrite(Motor1_Geri,HIGH);
analogWrite(Motor1_PWM,255);
digitalWrite(Motor2_Ileri,HIGH);
digitalWrite(Motor2_Geri,LOW);
analogWrite(Motor2_PWM,255);
}
if(x >= 600 && x <= 1023) {
digitalWrite(Motor1_Ileri,HIGH);
digitalWrite(Motor1_Geri,LOW);
analogWrite(Motor1_PWM,255);
digitalWrite(Motor2_Ileri,LOW);
digitalWrite(Motor2_Geri,HIGH);
analogWrite(Motor2_PWM,255);
}
}
}

Verici :

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

#define CE_PIN 7
#define CSN_PIN 8
#define x_axis A0 // x axis
#define y_axis A1 //y axis

const uint64_t pipe = 0xE8E8F0F0E1LL;
RF24 radio(CE_PIN, CSN_PIN);
int data[2];

void setup()
{
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(pipe);
}

void loop()
{

data[0] = analogRead(x_axis);
data[1] = analogRead(y_axis);
radio.write( data, sizeof(data) );

//HATA AYIKLAMA (DEBUG)
Serial.print(analogRead(x_axis));
Serial.print(” “);
Serial.print(analogRead(A1));
Serial.print(” “);
//Serial.print(digitalRead(BUTON));
}

Hepinize İyi Çalışmalar diliyorum.

Buna Benzer Yazılar Göster !
Daha Fazlasını Yükle - Muhammed Ali Özen
Daha Fazla Göster -  Arduino

5 Yorumlar

  1. Hüseyin ÖZTÜRK

    30 Ocak 2018 at 10:41

    Gerçekten iyi bir çalışma teşekkürler roboturka ailesi..

    Reply

  2. Hasan Hüseyin Güven

    15 Şubat 2018 at 22:02

    acaba tankı sizinki gibi nasıl bulabilirim 🙂

    Reply

  3. Ozan Gürlevik

    15 Aralık 2018 at 22:44

    Kusura Bakmayın da Arduino Kodlarınızda hata gösteriyor düzeltemiyorumda yardımcı olabilirmisiniz ??

    #include &amp;lt;SPI.h&amp;gt;
    #include &amp;lt;nRF24L01.h&amp;gt;
    #include &amp;lt;RF24.h&amp;gt;

    kısımlarında Hata Gösteriyor

    Reply

  4. ÇağrıBerkeYÜRÜMEZ

    24 Haziran 2020 at 12:49

    kodda hep kata veriyor

    Reply

  5. Yücel Yılmaz

    Yücel Yılmaz

    26 Haziran 2020 at 20:11

    Merhaba, kodlardaki hatalar düzeltildi.

    Reply

Hüseyin ÖZTÜRK için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bak Bakalım ?

Arduino ile Çizgi İzleyen Robot Yapımı

Merhaba arkadaşlar, Bu yazımızda 4 kanallı çizgi izleme sensörü ile çizgi izleyen robot ya…