Thumbnail thumbnail module wireless nRF24L01+

Cara mengakses Module Wireless nRF24L01+ menggunakan Arduino

Module Wireless nRF24L01 merupakan module yang mempunyai fungsi untuk komunikasi jarak jauh atau nirkabel yang memanfaatkan gelombang RF 2.4 GHz yang biasanya diaplikasikan untuk Scientific , Industrial, maupun Medical.

Pada modul ini menggunakan antarmuka SPI (Serial Parallel Interface) untuk berkomunikasi dengan mikrokontroler dalam hal ini Arduino. Tegangan operasional normal untuk mengakses module ini yaitu 3.3Vdc, yang biasanya dibantu dengan regulator AMS1117.

Module nRF24L01 memiliki perangkat keras yang berupa baseband logic Enhanced ShockBurst dan protocol accelerator yang memungkinan untuk berkomunikasi dalam kecepatan tinggi.

Selain itu, module ini juga memiliki fitur true ULP solution, yang berfungsi sebagai penghemat konsumsi daya sehingga hemat energi.  Dan bisa digunakan juga sebagai pembuatan perangkat fitnes dan olahraga, pendukung PC, mainan anak-anak, piranti perangkat untuk permainan, dan lainnya.

Kesimpulan dari beberapa fitur Modul Wireless RF nRF24L01 :

  • Data rate mencapai 2Mbps
  • Penanganan transaksi paket otomatis
  • Beroperasi pada pada pita ISM 2.4 GHZ
  • Konsumsi daya yang rendah
  • Penanganan paket data otomatis

Pin Out dari Modul Wireless RF nRF24L01

nRF24L01+

Gambar Modul Wireless RF


Tutorial sederhana Pengendalian led dengan modul nRF24L01

Bahan yang dibutuhkan antara lain :

  1. Arduino Uno 2 pcs
  2. Modul Wireless RF nRF24L01 2 pcs
  3. LED 5mm merah
  4. Push Button
  5. Resistor 220 ohm
  6. Breadboard
  7. Kabel Jumper
  8. Komputer + Software IDE Arduino

[irp]

Skema yang perlu dirangkaikan

  1. Arduino Uno sebagai pengendali (TX)
  2. Arduino Uno sebagai RX

Rangkaian nRF24L01+dan Arduino Uno

Perkabelan antara modul dengan Arduino UNO

  • VCC : 3.3 Vdc
  • GND : GND
  • CE : Pin.9
  • CSN : Pin.10
  • SCK : Pin.13
  • MOSI : Pin.11
  • MISO : Pin.12

Library yang diperlukan :

  1. Library nRF24L01+ [ddownload id=”1065″]
  2. Library RF24 [ddownload id=”1066″]

Peletakan Library pada masing – masing Operation System :

  • PC (Windows) : Program file /Arduino/ libraries
  • Mac : (home directory)/Applications/Arduino (Show Package Content)/ Contents/Java/Libraries
  • Linux : (home directory)/sketchbook/libraries

Kode program untuk TX

/* www.nyebarilmu.com */

#include <SPI.h> //penyertaan library header penggunaan interface SPI
#include <nRF24L01.h> //penyertaan library header nRF24L01
#include <RF24.h> //penyertaan library header RF24
int pesan[1];
RF24 radio(9,10); //instruksi untuk chip enable, dan chip selector
const uint64_t pipe = 0xE8E8F0F0E1LL;
int pushbutton = 2; //nama alias pin.2 dengan nama pushbutton

void setup(void){
Serial.begin(9600); //penggunaan serial monitor dengan kecepatan 9600bps
radio.begin(); //instruksi memulai prosedur pembacaan module
radio.openWritingPipe(pipe);
pinMode(pushbutton, INPUT);} //deklarasi pushbutton sebagai input

void loop(void){
if (digitalRead(pushbutton) == HIGH){ //jika pushbutton ditekan
pesan[0] = 111;
radio.write(pesan, 1);}} //mengirim data

Kode program untuk RX

/* www.nyebarilmu.com */

#include <SPI.h> //penyertaan library header penggunaan interface SPI
#include <nRF24L01.h> //penyertaan library header nRF24L01
#include <RF24.h> //penyertaan library header RF24

int pesan[1];
RF24 radio(9,10); //pin yang dideklarasikan untuk chip enable, chip selector
const uint64_t pipe = 0xE8E8F0F0E1LL;
int LED = 2; //nama alias untuk pin.2 yaitu LED

void setup(void){
Serial.begin(9600); //menggunakan serial monitor pada 9600bps
radio.begin(); //instruksi prosedur mulai pembacaan module
radio.openReadingPipe(1,pipe);
radio.startListening();
pinMode(LED, OUTPUT);} //deklarasi pin sebagai output

void loop(void){
if (radio.available()){ //jika terbaca data di module
bool selesai = false;
while (!selesai){ //perulangan apabila selesai = TRUE
selesai = radio.read(pesan, 1);
Serial.println(pesan[0]); //menuliskan informasi di serial monitor
if (pesan[0] == 111){delay(10);digitalWrite(LED, HIGH);} //jika sesuai data, maka LED akan menyala
else {digitalWrite(LED, LOW);}
delay(10);}} //nilai tunda 10 ms untuk pembacaan data berikutnya
else{Serial.println("No radio available");}}

Selamat mencoba!

Terimakasih sudah berkunjung, dan semoga bermanfaat. Salam nyebarilmu.com!

>> CMIIW <<

31 Comments

  1. Indra Romdoni

    Assalamualaikum… Saya ingin bertanya kalau untuk pipe itu bebas apa harus pipe = 0xE8E8F0F0E1LL?

  2. abi salma

    Kalo mau buat mic wireles bisa pake ini nggak?

    • Kalo module ini buat khusus data gan,

      Kalo itu tunggu aja, saya buatin artikel (schematic + pcb board) wireless micc,

    • belum pernah ngoprek arduino gan,

      masih fokus ngoprek esp8266 sama arduino saja,

  3. Agus Permana

    terjadi eror seperti ini gan di rangkaian rx ‘ void value not ignored as it ought to be ‘ gmn cara mngatasinya ???

  4. Agus Permana

    terjadi eror seperti ini gan di rangkaian rx ‘ void value not ignored as it ought to be ‘ gmn cara mngatasinya ???

  5. maspry

    Assalamualikum Master.. terima kasih tutornya.. sy sedang mencoba wireless dengan modul yg menggunakan antena sma pengennya bisa berjarak maksimal sesuai reff bisa 1100 mtr untuk kendalikan pompa air jarak jauh di desa,

    saya pakai arduino nano x2, modul 1km NRF24l01 PA LNA antenna 2.4Ghz long distance tranceiver x2, modul relay & pushbutton beserta kerabatnya

    code diatas ijin copas n oprek2 agar sesuai peruntukkan, semoga bisa jd bekal mudik dan mengatasi masalah supply air didesa.. amiin

    Terima kasih n keep posting nice idea Master.. semoga menjadi amal ibadah selalu..amiin

    • amiin gan, thanks sudah berkunjung,

      Kalo itu lebih bagus menggunakan modul gsm saja gan, jadi pemantauan lebih enak dari mana saja,

  6. maspry

    Assalamualikum Master.. terima kasih tutornya.. sy sedang mencoba wireless dengan modul yg menggunakan antena sma pengennya bisa berjarak maksimal sesuai reff bisa 1100 mtr untuk kendalikan pompa air jarak jauh di desa,

    saya pakai arduino nano x2, modul 1km NRF24l01 PA LNA antenna 2.4Ghz long distance tranceiver x2, modul relay & pushbutton beserta kerabatnya

    code diatas ijin copas n oprek2 agar sesuai peruntukkan, semoga bisa jd bekal mudik dan mengatasi masalah supply air didesa.. amiin

    Terima kasih n keep posting nice idea Master.. semoga menjadi amal ibadah selalu..amiin

    • amiin gan, thanks sudah berkunjung,

      Kalo itu lebih bagus menggunakan modul gsm saja gan, jadi pemantauan lebih enak dari mana saja,

  7. 70rdy

    gan, kok gagal ya? ketika tombol dipencet LED tetap tidak mau nyala…
    logikanya sudah saya balik juga pun tidak bisa. jadi tombol dipencet, lampu malah mati… loguikanya kan tanpa dipencet lampunya otomatis nyala

  8. 70rdy

    gan, kok gagal ya? ketika tombol dipencet LED tetap tidak mau nyala…
    logikanya sudah saya balik juga pun tidak bisa. jadi tombol dipencet, lampu malah mati… loguikanya kan tanpa dipencet lampunya otomatis nyala

  9. D4NY

    Aslmkm
    Maaf gan, bisa gak untuk bikin wireless audio (speaker)

    • walaikumsalam gan,

      untuk wireless audio belum pernah dicoba gan,

      tapi biasanya kalo itu gunain modul yang bluetooth

  10. D4NY

    Aslmkm
    Maaf gan, bisa gak untuk bikin wireless audio (speaker)

    • walaikumsalam gan,

      untuk wireless audio belum pernah dicoba gan,

      tapi biasanya kalo itu gunain modul yang bluetooth

  11. Pangeran

    gan kalo Arduino unonya diganti ke nano cemana gan?

  12. Pangeran

    gan kalo Arduino unonya diganti ke nano cemana gan?

Leave a Reply

Your email address will not be published. Required fields are marked *