in ,

Arduino ile Nrf24l01 Kullanarak Joystick ile Servo Kontrolü

YouTube Kanalımıza Abone Olun


Merhaba arkadaşlar arduino ile projelerde olabildiğince hızlı ilerlemeye çalışıyoruz… Bugün ki konumuz Arduino ile Nrf24l01 kullanarak Joystick ile servo motor kontrolü nasıl yapılır bunu öğreneceğiz 🙂

Bu proje ile rc araç yada robot kol yapımına bir adım daha yaklaştık arkadaşlar. 🙂

Çalışma mantığı basit Joystickten aldığımız analog değerleri Nrf24l01 aracılığıyla servonun bağlı olduğu arduinoya göndererek direkt servo motora yazdırıyoruz. 🙂

Kısa bilgilendirmenin ardından isterseniz zaman kaybetmeden yazımıza geçelim 🙂

Her şeyden önce bir kaç malzeme lazım bunlar;

Malzeme Listesi

1- Herhangi bir Arduino Modeli 2 Adet

2- Nr24l01 Modül 2 Adet

3- Joystick Modülü

4- Servo Motor

5- Breadboard ve Jumper Kablolar

Not: Tüm bu malzemeleri elektronik parça satan yerlerde bulabilirsiniz yada şu ve bu adreslerden internet üzerinden güvenle sipariş edebilirsiniz 

Ayrıca eğer zamanım bol diyorsanız Çin’den de Aliexpress vasıtasıyla getirtebilirsiniz. Daha uygun fiyata gelecektir. 🙂

Devre Şeması

Alt tarafta çizdiğimiz devre şemasına bakarak uygun arduino modeline göre devremizi breadboard’umuza kuralım.

Alıcı Devresi

Ben bu projede tek servo motor kontrolünü sağladım ancak siz isterseniz bu sayıyı yazılımda yapacağınız basit değişikliklerle çok kolay bir şekilde artıra bilirsiniz. 🙂

Verici Devresi

Dikkat: Bütün bağlantıları yapıp arduino kodlarını da yükledikten sonra modüller arasında iletişim sağlanmaz ise her iki modülün de VCC ve GND pinleri arasına 10 uF değerinde kondansatör yerleştirerek tekrar deneyiniz.  Yada daha önceki yazımda anlattığım gibi adaptör alınız

Yazılım

Bu modülle çalışabilmek için bir kütüphaneye ihtiyaç duyuyoruz öncelikle kütüphanemizi aşağıdan indirip aşağıda belirtilen yoldaki klasöre rar dosyasından dan çıkarıp atın.

İndir “NRF24L01 KÜTÜPHANE” file – 3 defa indirildi –

Rar Şifresi: donanimplus.com

Belgeler >  Arduino > libraries

Bu projede 2 farklı kod kullanacağız biri alıcı haliyle biride verici

Verici Kodu

//DONAIM PLUS ELEKTRONİK
// MODİFİKASYON TOLGA SOYTEPE
// İNSTAGRAM TOLGASYTP
// TWİTTER TSytpp
// Arduino, Nrf24l01 ile uzaktan joystick ile servo kontrolü
// 2019
// VERİCİ YAZILIMI
#include <SPI.h> 
#include <nRF24L01.h>
#include <RF24.h>

//Pins....
#define CE_PIN   9
#define CSN_PIN 10
#define JOYSTICKX A0 
#define JOYSTICKY A1 
#define BUTTON 8 


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

void setup() 
{
 
  radio.begin();
  radio.openWritingPipe(pipe);
  pinMode(BUTTON, INPUT);
}

void loop()   
{

  joystick[0] = analogRead(JOYSTICKX);
  joystick[1] = analogRead(JOYSTICKY);
  joystick[2] = digitalRead(BUTTON);
  radio.write( joystick, sizeof(joystick) ); 
}

Kodu aşağıdan indirebilirsiniz 🙂

İndir “VERİCİ KODU” Arduino_ile_Nrf24l01_Joystick_ile_Servo_Kontrol_verici.ino – 0 defa indirildi –

Alıcı Kodu

//DONAIM PLUS ELEKTRONİK
// MODİFİKASYON TOLGA SOYTEPE
// İNSTAGRAM TOLGASYTP
// TWİTTER TSytpp
// Arduino, Nrf24l01 ile uzaktan joystick ile servo kontrolü
// 2019
// ALICI YAZILIMI
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include<Servo.h>
Servo servo; 
#define CE_PIN   9 
#define CSN_PIN 10
#define led 4
const uint64_t pipe = 0xE8E8F0F0E1LL;
RF24 radio(CE_PIN, CSN_PIN);
int joystickData[3];
void setup() {
  pinMode(4, OUTPUT);
  radio.begin(); 
  radio.openReadingPipe(1, pipe);
  radio.startListening();;
  servo.attach(6);  
  Serial.begin(9600);
}

void loop() {

  if ( radio.available() )
  {
    radio.read( joystickData, sizeof(joystickData) ); 

    int  xpos = joystickData[1];  
    int button = joystickData[2];
    int xpos1 = map(xpos, 0, 1023, 0, 180);
    bool done = false;  
    while (!done) { 
      done = radio.read(joystickData, 1);
      servo.write (xpos1);
      delay(10);
    }
    if (button == 0) { //led
      digitalWrite(4, HIGH);

    }
    else {
      digitalWrite(4, LOW);
    }
  }
}


Kodu aşağıdan indirebilirsiniz 🙂

İndir “ALICI KODU” Arduino_ile_Nrf24l01_Joystick_ile_Servo_Kontrol__al_c_.ino – 0 defa indirildi –

Bir yazının daha sonuna geldik umarım faydalı olmuştur arkadaşlar anlamadığınız yada kafanıza takılan yerler olursa lütfen yorumda yada kişisel sosyal medya hesaplarımdan ulaşmayı ihmal etmeyin.. Kolay Gelsin.. 🙂

Yazar Tolga Soytepe

Ara sıra yazılımcı :)

Yorumunuzu yazın

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

Arduino ile Nrf24l01 Kullanarak Potansiyometre ile Servo Kontrolü

Rusya, Facebook'a para cezası verdi