Kaydol

Giriş Yap

Parolanızı mı unuttunuz

Şifreni mi unuttun? Lütfen e-mail adresinizi giriniz. Bir bağlantı alacaksınız ve e-posta yoluyla yeni bir şifre oluşturacaksınız.

Üzgünüz, gönderi ekleme izniniz yok.

Arduino ile Nrf24l01 Kullanarak Joystick ile Servo Kontrolü


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.

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 🙂

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 🙂

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.. 🙂

1 Yorum

İlginizi Çekebilecek Diğer Yazılar

Arduino ile 6 Potansiyometre Kullanarak 6 Servo Kontrolü

Merhaba arkadaşlar arduino ile projelerde uzun bir aradan sonra kaldığımız yerden devam ediyoruz. Bu geçirdiğimiz ...

Arduino Nedir? Özellikleri Nelerdir? Nerelerde Kullanılır? Ne İşe Yarar?

Arduino nedir? Arduino ile neler yapılabilir? Ne işe yarar bu Arduino? Arduino çeşitleri nelerdir? Arduino ...

Arduino ile Nrf24l01 Kullanarak Potansiyometre ile Servo Kontrolü

Merhaba arkadaşlar arduino ile projelerde olabildiğince hızlı ilerlemeye çalışıyoruz… Bugün ki konumuz Arduino ile Nrf24l01 ...

Arduino, Nrf24l01 ile DHT11 kullanarak Lcd Ekrana Sıcaklık Verisi Yollama

Merhaba arkadaşlar arduino ile projelerde olabildiğince hızlı ilerlemeye çalışıyoruz. Bugün ki konumuz bir önceki yazımızın ...

Arduino, Nrf24l01 ile DHT11 kullanarak Serial Monitörden Sıcaklık Bilgileri Okuma

Merhaba arkadaşlar arduino ile projelerde olabildiğince hızlı ilerlemeye çalışıyoruz. Bugün ki konumuz Nrf24l01 ve Dht11 ...

Arduino İle Akıllı Çöp Kutusu

Merhaba arkadaşlar arduino ile projelerde olabildiğince hızlı ilerlemeye çalışıyoruz. Bugün ki konumuz oldukça basit ama ...

Arduino ile NRF24L01 Wireless Modül İle Led Kontrolü

Merhaba arkadaşlar arduino ile projelerde olabildiğince hızlı gitmeye çalışıyoruz. Bugün ki konumuz Arduino ile NRF24L01 ...

Arduino İle Engelden Kaçan Robot Yapımı

Merhaba arkadaşlar arduino ile projelerimizde olabildiğince hızlı ilerlemeye çalışıyoruz. Bugün ki yazımızın konusu başlıkta da ...

Arduino Uno İle 4x4x4 Led Küp Nasıl Yapılır ?

Merhaba arkadaşlar arduino ile projelerde olabildiğince hızlı ilerlemeye çalışıyoruz. Bugün ki konumuz Arduino ile 4x4x4 ...

Arduino İle Alkışla Yanan Gece Lambası

Merhaba arkadaşlar arduino ile projelerimizde olabildiğince hızlı ilerlemeye çalışıyoruz. Bugün ki yazımızın konusu başlıkta da ...