nRF24L01  sebagai media komunikasi  wireless  arduino mega  Blog Adi Sanjaya Global Techno Solution - AS-GTS

nRF24L01 sebagai media komunikasi wireless arduino mega Blog Adi Sanjaya Global Techno Solution - AS-GTS

Size
Price:

Read more

Berawal dari sebuah pesanan sistem kendali wireles untuk jarak sekitar 50 meter selanjutnya saya browsing tentang arduino sebagai pengendali wireless, ternyata ada banyak sekali option untuk melakukan kendali wireless mulai dengan ys2010, wifi shield, x bee dan sebagai nya,




Saat tulisan ini diketik:

harga 1 unit XBee yang biasa berkisar di Rp.300.000,00 - Rp.400.000,00,
harga 1 unit bluetooth module HC-05/ HC-07 berkisar di Rp. 100.000,00 - Rp. 175.000,00,
harga 1 unit nRF24L01 berkisar di Rp.50.000,00 - Rp.100.000,00
saya mencari manakah modul yang paling murah, dan akhirnya saya menemukan modul nRF24L01+ 2.4GHz Radio Transceiver, seanjutnya  saya mencoba menggunakan  nRF24L01  sebagai media komunikasi  wireless  arduino mega

Kalo dari segi teknis, XBee, Bluetooth, dan nFR24L01 sama-sama beroperasi di frekuensi 2,4GHz. Perlu diperhatikan juga bahwa ada XBee seri tertentu yang tidak beroperasi di 2,4GHz. Untuk pengetahuan teknis lebih lanjut bisa dibaca di XBee, bluetooth, dan nRF24L01

Secara simple dapat saya sampaikan bahwa dalam komunikasi ini saya hanya menggunakan 2 unit (server-client peer to peer) antara 2 device arduino, dan saya belum sempat mencobanya untuk 3 unit (1 server dan 2 client), semoga ke depan dapat saya ujicoba secepatnya

berikut ini adalah tabel koneksi yang saya pergunakan untuk koneksi antara modul  nRF24L01 dengan arduino mega
NB: tegangan VCC saya coba ke 5 Volt tidak menjadi masalah

selanjutnya source code (sketch arduino) server adalah sebagai berikut :

#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>

//int rate;
int inchar;

void setup(){

  Serial.begin(9600);
 // Mirf.cePin = 48;             //ce pin on Mega 2560, REMOVE THIS LINE IF YOU ARE USING AN UNO
//  Mirf.csnPin = 49;            //csn pin on Mega 2560, REMOVE THIS LINE IF YOU ARE USING AN UNO
  Mirf.spi = &MirfHardwareSpi;
  Mirf.init();
  Mirf.setRADDR((byte *)"clie1");
  Mirf.payload = sizeof(inchar);
  Mirf.config();
 
}
void loop()
{
 
  if (Serial.available()){inchar = Serial.read();}
 
  switch(inchar)
  {
   case 'A':
         Mirf.setTADDR((byte *)"serv1");
         Mirf.send((byte *) &inchar);break;
         //Serial.print(inchar);break;
    case 'B':
         Mirf.setTADDR((byte *)"serv1");
         Mirf.send((byte *) &inchar);break;        
    case 'C':
         Mirf.setTADDR((byte *)"serv1");
         Mirf.send((byte *) &inchar);break;        
    case 'D':
         Mirf.setTADDR((byte *)"serv1");
         Mirf.send((byte *) &inchar);break;       
    case 'E':
         Mirf.setTADDR((byte *)"serv1");
         Mirf.send((byte *) &inchar);break;         
    case 'F':
         Mirf.setTADDR((byte *)"serv1");
         Mirf.send((byte *) &inchar);break;        
    case 'G':
          Mirf.setTADDR((byte *)"serv1");
         Mirf.send((byte *) &inchar);break;       
    case 'H':
         Mirf.setTADDR((byte *)"serv1");
         Mirf.send((byte *) &inchar);break;        
    case 'I':
         Mirf.setTADDR((byte *)"serv1");
         Mirf.send((byte *) &inchar);break;         
    case 'J':
          Mirf.setTADDR((byte *)"serv1");
         Mirf.send((byte *) &inchar);break;
}
}


sketch di atas berfungsi sebagai pengirim data dari arduino server yang terhubung via komunikasi serial dengan PC, dimana jika tombol A,B,C,D,E,F,G,H pada keyboard komputer ditekan maka arduini server akan mengirimkan data tombol tersebit ke arduino client

sedangkan sketch arduino client adalah sebagai berikut :

 #include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>

int rate;

void setup(){

  Serial.begin(9600);

  Mirf.spi = &MirfHardwareSpi;
  Mirf.init();
  Mirf.setRADDR((byte *)"serv1");
  Mirf.payload = sizeof(rate);
  Mirf.config();
}

void loop(){

  while(!Mirf.dataReady()){
  }
  Mirf.getData((byte *) &rate);

  Serial.println(rate);
  delay(1000);
}

Sketch di atas berfungsi untuk menerima data yang dikirim oleh server lalu kemudian dikirim via komunikasi serial ke PC.


Berikut adalah video salah satu percobaan kendali LED wireless antara 2 buah  arduino mega.


NB :

Saya coba jarak sekitar 15 meter untuk  percobaan nRF24L01  sebagai media komunikasi  wireless  arduino mega tidak ada masalah, namun untuk jarak sekitar 50 meter data kadang2 lost, mungkin terkait power suply yang saya pergunakan dalam hal ini hanya menggunakan baterai 9 volt kotak,


Contact Person : Taufik Adi Sanjaya
No HP / Whats App : 0823 2613 3990
PIN BBM 5983E244
Alamat : Jalan Imogiri Timur KM 11, 
Blawong 1 , RT 01, Trimulyo, Jetis, Bantul 55781.

Anda membutuhkan komponen elektronik , Arduino, Sensor, Tutorial(paket belajar), jasa pembuatan alat berbasis mikrokontroler, kendali lampu via jaringan LAN, dan sebagainya ? anda dapat membelinya di www.kedaiarduino.com
 www.kedaiarduino.com




1 Reviews

  1. pemisi gan, kalo untuk sketch arduino uno nya bagaimana ya ?

    ReplyDelete

Silakan dikomentari

Contact form

Name

Email *

Message *