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 Potansiyometre ile Servo Kontrolü

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

Bu Proje nerede nasıl işimize yarayacak diyen arkadaşlarım size sesleniyorum 🙂 Uzaktan kontrollü bir rc araç yada robot kol yapmak isterseniz bu proje tam size göre.. Tabi geliştirilmek koşuluyla. 🙂

yapay zeka destekli haber sitesi

Çalışma mantığı basit pottan 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- Potansiyometre

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

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 pot ile servo kontrolü
// 2019
// VERİCİ YAZILIMI
#include <SPI.h> // Kütüphaneleri Tanımlıyoruz
#include "RF24.h"
int data[1];
RF24 radio(9,10);//CE -> 9 CSN -> 10
const uint64_t pipe = 0xE8E8F0F0E1LL;
int potpin = 0;
int Potdeger;
void setup(void){
 radio.begin();
 radio.openWritingPipe(pipe);
}
void loop(void){
 Potdeger = analogRead(potpin);
 Potdeger = map(Potdeger, 0, 1023, 0, 179);
 data[0] = Potdeger;
 radio.write(data, 1);
}

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 pot ile servo kontrolü
// 2019
// AlICI YAZILIMI
#include <Servo.h>
 #include <SPI.h>
 #include "RF24.h"
 Servo ServoM;

RF24 radio(9,10);//CE -> 9 CSN -> 10
 const uint64_t pipe = 0xE8E8F0F0E1LL;
 int data[1];
 void setup()
 {
 ServoM.attach(8);
 radio.begin();
 radio.openReadingPipe(1,pipe);
 radio.startListening();
 }
 void loop()
 {
 if (radio.available()){
 bool done = false;
 while (!done){
 done = radio.read(data, 1);
 ServoM.write (data[0]);
  
 }
 }
 }

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

20 Yorum

  1. 3 Servoyu 3 potansiyometre ile ayrı ayrı kontrol etmek istiyorum bu yazılıma neler dahil etmeliyim çok önemli benim için

  2. 3 adet servoyu 3 adet potansiyometre ile ayrı ayrı kullanmak istiyorum , yazılıma neler eklemem gerekiyor benim için çok önemli , rica ediyorum

  3. //DONAIM PLUS ELEKTRONİK
    // MODİFİKASYON TOLGA SOYTEPE
    // İNSTAGRAM TOLGASYTP
    // TWİTTER TSytpp
    // Arduino, Nrf24l01 ile uzaktan pot ile servo kontrolü
    // 2019
    // VERİCİ YAZILIMI
    #include // Kütüphaneleri Tanımlıyoruz
    #include “RF24.h”
    int data[3];
    RF24 radio(9,10);//CE -> 9 CSN -> 10
    const uint64_t pipe = 0xE8E8F0F0E1LL;
    int pot1pin = 0;
    int pot2pin = 1;
    int pot3pin = 2;
    int Pot1deger;
    int Pot2deger;
    int Pot3deger;
    void setup(void){
    radio.begin();
    radio.openWritingPipe(pipe);
    }
    void loop(void){
    Pot1deger = analogRead(pot1pin);
    Pot1deger = map(Pot1deger, 0, 1023, 0, 179);
    data[0] = Pot1deger;
    radio.write(data, 1);
    {}
    {
    Pot2deger = analogRead(pot2pin);
    Pot2deger = map(Pot2deger, 0, 1023, 0, 179);
    data[0] = Pot2deger;
    radio.write(data, 2);
    {}
    }
    Pot3deger = analogRead(pot3pin);
    Pot3deger = map(Pot3deger, 0, 1023, 0, 179);
    data[0] = Pot3deger;
    radio.write(data, 3);
    {}
    }

    VERİCİ DEVRESİNİ BU ŞEKİLDE YAZDIM TOLGA BEY

  4. //DONAIM PLUS ELEKTRONİK
    // MODİFİKASYON TOLGA SOYTEPE
    // İNSTAGRAM TOLGASYTP
    // TWİTTER TSytpp
    // Arduino, Nrf24l01 ile uzaktan pot ile servo kontrolü
    // 2019
    // VERİCİ YAZILIMI
    #include // Kütüphaneleri Tanımlıyoruz
    #include “RF24.h”
    int data[3];
    RF24 radio(9,10);//CE -> 9 CSN -> 10
    const uint64_t pipe = 0xE8E8F0F0E1LL;
    int pot1pin = 0;
    int pot2pin = 1;
    int pot3pin = 2;
    int Pot1deger;
    int Pot2deger;
    int Pot3deger;
    void setup(void){
    radio.begin();
    radio.openWritingPipe(pipe);
    }
    void loop(void){
    Pot1deger = analogRead(pot1pin);
    Pot1deger = map(Pot1deger, 0, 1023, 0, 179);
    data[0] = Pot1deger;
    radio.write(data, 1);
    {}
    {
    Pot2deger = analogRead(pot2pin);
    Pot2deger = map(Pot2deger, 0, 1023, 0, 179);
    data[0] = Pot2deger;
    radio.write(data, 2);
    {}
    }
    Pot3deger = analogRead(pot3pin);
    Pot3deger = map(Pot3deger, 0, 1023, 0, 179);
    data[0] = Pot3deger;
    radio.write(data, 3);
    {}
    }

    ALICIYIDA BU ŞEKİLDE YAZDIM TOLGA BEY

  5. //DONAIM PLUS ELEKTRONİK
    // MODİFİKASYON TOLGA SOYTEPE
    // İNSTAGRAM TOLGASYTP
    // TWİTTER TSytpp
    // Arduino, Nrf24l01 ile uzaktan pot ile servo kontrolü
    // 2019
    // AlICI YAZILIMI
    #include
    #include
    #include “RF24.h”
    Servo ServoM1,ServoM2,ServoM3 ;

    RF24 radio(9,10);//CE -> 9 CSN -> 10
    const uint64_t pipe = 0xE8E8F0F0E1LL;
    int data[3];
    void setup()
    {
    ServoM1.attach(8);
    ServoM2.attach(7);
    ServoM3.attach(6);
    radio.begin();
    radio.openReadingPipe(1,pipe);
    radio.startListening();
    }
    void loop()
    {
    if (radio.available()){
    bool done = false;
    while (!done){
    done = radio.read(data, 1);
    ServoM1.write (data[0]);
    {
    done = radio.read(data, 2);
    ServoM2.write (data[0]);
    {
    }
    done = radio.read(data, 3);
    ServoM3.write (data[0]);
    }
    }
    }
    }

    PARDON ALICIDA BU ŞEKİLDE ALICI İÇİME HİÇ SİNMEDİ YALNIZ 🙂

  6. Anladım, tolga bey yine çalışmadı farklı bir sebebi olmalı 😞

  7. hocam kodu atmaya çalıştığımda done kısmının hatalı oldugunu söylüyor ne yapmalıyım yardımcı olursanız sevinirim

Yorum Yap

İlginizi Çekebilecek Diğer Yazılar