Pendahuluan nRF24l01
Tutorial nRF24l01 Arduino – Komunikasi nirkabel merupakan komunikasi tanpa menggunakan kabel. Berbagai perangkat elektronik di buat sekecil mungkin untuk kebutuhan portabel.
Salah satu perangkat komunikasi tersebut adalah nRF24L01. Perangkat bekerja pada frekuensi ISM (Industrial, Scientific and Medical) 2.4 – 2.5 GHz.
Chip nRF24L01 buatan Nordic Semiconductor memiliki spesifikasi data rate 1 atau 2Mbps. Artinya dengan menggunakan chip anda dapat mengirimkan data sebesar 1 mega (1.000.000) atau 2 mega (2.000.000) data bit per detik.
Chip nRF24L01 bisa digunakan sebagai transceiver, receiver atau bi-directional (transceiver dan receiver secara bersamaan).
Chip wireless nRF24L01 dapat berkomunikasi dengan 125 perangkat nRF24L01 lain dalam suatu lokasi. Bagaimana caranya kita bisa membuat perangkat nRF24L01 dapat berkomunikasi dengan jumlah yang banyak itu? apakah tidak saling konferensi data saat di kirimkan? Jawabannya tidak, karena setiap perangkat harus diberikan Adress(pipe) atau alamat terlebih dahulu. Perhatikan pada gambar berikut ini:
Untuk komunikasi nRF24L01 Arduino, chip menggunakan protokol SPI (Serial Periperal Interface). Kecepatan pengiriman data SPI pada chip adalah 0 hingga 8Mbps. Jika anda ingin melihat lebih banyak dari chip , silahkan lihat di NRF24L01 datasheet.
Rangkaian nRF24L01 Arduino
Teman-teman perhatikan gambar rangkaian nRF24L01 Arduino dibawah . Sekarang kita akan mencoba modul dengan menetapkan modul yang terhubung dengan arduino kita atur sebagai pengirim, sedangkan arduino pro m sebelah kanan merupakan penerima.
Untuk memudahkan anda, berikut adalah pinout dari modul NRF24l01:
Perhatian! Berdasarkan dataheet yang diberikan chip menggunakan power supply sebesar 1.9 – 3.6 volt, namun selain pin power supply seperti pin data bisa diberikan tegangan sebesar 5 volt. Chip membutuhkan arus sebesar 11.3 mA pada saat mengirimkan data dan 12.3mA saat menerima data.
Kita akan membuat program yang dapat pengirim kata ”Hello Word” selama satu detik sekali. Jika penerima menerima data dari pengirim, maka penerima akan menampilkan data tersebut ke serial monitor arduino.Sekarang teman-teman bisa merangkainya seperti pada gambar dibawah:
Library nRF24L01 Arduino
Dalam program dibutuhkan sebuah library bernama RF24. Silahkan donwload dibawah ini:
Setelah di download, masukkan library tersebut ke dalam Arduino IDE. Jika anda belum mengetahui cara memasukkan library ke Arduino IDE, baca artikel Cara Menambahkan Library Arduino IDE.
Kode Program
Berikut ini saya sediakan dua kode program, pertama untuk pengirim dan kedua untuk penerima. SIlahkan copy kode program dan upload ke Arudino IDE anda. Pastikan anda upload ke masing-masing board.
Untuk Pengirim
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(9, 10); // CE, CSN
const byte address[6] = "00001";
void setup() {
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
radio.stopListening();
}
void loop() {
const char text[] = "Hello World";
radio.write(&text, sizeof(text));
delay(1000);
}
Untuk Penerima
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(9, 10); // CE, CSN
const byte address[6] = "00001";
void setup() {
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address);
radio.setPALevel(RF24_PA_MIN);
radio.startListening();
}
void loop() {
if (radio.available()) {
char text[32] = "";
radio.read(&text, sizeof(text));
Serial.println(text);
}
}
Sekarang, silahkan anda melihat data yang diterima melalui serial monitor dari Arduino Board Penerima. Semoga artikel Tutorial nRF24l01 Arduino ini bermanfaat bagi anda yang baru belajar arduino.