Selamat datang di sonoku.com

Memulai komunikasi sederhana dengan LoRa Ra-02 SX1278 dan Arduino

LoRa (Long Range) merupakan teknologi frekuensi radio nirkabel yang dibuat oleh perusahaan Semtech. Teknologi LoRa ini biasa digunakan untuk mengirimkan sebuah informasi dua arah dalam jarak jauh dengan jangkauan hingga 15 KM menggunakan daya yang cukup kecil. Pada artikel kali ini kita akan belajar bagaimana berkomunikasi dengan module LoRa.

Modul LoRa Ra-02

Spesifikasi:

  • Communication distance: 15 KM
  • Sensitivity: down to -148dBm
  • Programmable bit rates: up to 300kbps
  • RSSI dynamic range: 127dB
  • Wireless frequency: 433-525 MHz
  • Working voltage: 1.8-3.7v
  • Working temperature: -40-+80 ℃

Wiring Diagram

Wiring diagram koneksi antara LoRa dengan Arduino bisa dilihat pada gambar berikut.

Wiring diagram lora arduino

Wiring diagram LoRa Arduino

Rangkaian diatas dibuat dua kali dengan konfigurasi pin yang sama masing-masing untuk Transmitter dan Receiver.

Tabel 1. Wiring LoRa Ra-02 SX1278 Transmitter dan Receiver

Arduino Uno LoRa Ra-02 SX1278
3.3V 3.3V
GND GND
NSS D10
DIO0 D2
SCK D13
MISO D12
MOSI D11
RST D9

Perangkat keras pada Arduino Uno dan LoRa Ra-02 SX1278

Diagram alir pada Gambar 2 merupakan proses pengiriman pesan pada Arduino Uno menggunakan LoRa Ra-02 SX1278 sebagai transmitter. Pertama – tama sistem akan memastikan apakah transmitter mengirimkan pesan pada frekuensi 433 MHz, jika tidak maka sistem akan menampilkan pesan “Starting LoRa failed!” pada serial monitor. Jika sistem bekerja pada frekuensi 433 MHz maka sistem akan mulai mengirimkan data dalam bentuk paket (data yang dimaksud adalah data per huruf).

Diagram alir sistem pengiriman pesan (transmitter)

Diagram alir pada Gambar 3 merupakan proses penerimaan pesan pada Arduino Uno menggunakan LoRa Ra-02 SX1278 sebagai receiver. Seperti pada transmitter¸ receiver perlu memastikan apakah sistem bekerja pada frekuensi 433 MHz. Frekuensi tersebut bisa diubah dari rentang 433 MHz hingga 525 MHz asalkan frekuensi transmitter dengan receiver sesuai. Jika frekuensi pada receiver berada pada 433 MHz maka sistem akan memulai menerima data dalam bentuk paket (data yang dimaksud adalah data per huruf).

Diagram alir sistem penerimaan pesan (receiver)

Kode program Transmitter (Pemancar)

Kode program berikut berfungsi untuk mengirimkan pesan yang akan dikirimkan melalui LoRa Ra-02 SX1278 sebagai transmitter atau sender pada frekuensi 433 MHz.

Kode program Receiver (Penerima)

Kode program berikut berfungsi untuk menerima pesan yang telah dikirimkan melalui LoRa Ra-02 SX1278 pada frekuensi 433 MHz. Pesan yang telah dikirimkan, akan diterima oleh LoRa Ra-02 SX1278 receiver dan ditampilkan pada serial monitor Arduino.

Percobaan Komunikasi

Hasil percobaan komunikasi antara LoRa Ra-02 SX1278 sebagai transmitter dan receiver.

 

Burning Bootloader Arduino pada ATMega328p dengan Clock 12Mhz

Pada umumnya papan Arduino Uno atau Nano yang menggunakan mikrokontroler ATMega328P telah terpasang kristal 16MHz. Namun jika anda menginginkan Arduino bekerja dengan clock yang lain, anda bisa gunakan cara ini.

Instalasi MiniCore

Untuk menginstalnya ikuti langkah berikut:
1. Buka Arduino IDE, kemudian pilih menu File > Preference.
2. Kemudian isikan pada kolom Additional Boards Manager URLs dengan teks berikut:
“https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json”, tanpa tanda petik ya.

3. Klik OK, kemudian pilih menu Tools > Board > Boards Manager. Pada kolom Search masukkan “minicore” (Pada langkah ini anda memerlukan koneksi internet). Klik pada hasil pencarian minicore, kemudian install.

4. MiniCore siap digunakan.

Memulai Burning Bootloader

1. Pilih menu Tools > Board > ATMega328

2. Setelah itu masuk ke menu Tools lagi, kali ini pilih Variants > 328p/328PA

3. Kemudian set clock yang diinginkan (pada kasus ini saya pilih 12Mhz) pada menu Tools > Clock > 12 MHz external

4. Terakhir mulai burning dengan memilih Tools > Burn Bootloader

5. Sekarang ATMega328 anda bisa diprogram menggunakan Arduino IDE dengan clock yang sesuai.

Komunikasi Bluetooth HC-05 dan Arduino dengan PC atau Laptop

Artikel ini membahas komunikasi bluetooth antara Arduino dengan PC/Laptop. Pada PC/Laptop pada umumnya sudah terdapat perangkat bluetooth yang tertanam (embedded). Namun jika belum ada, kita juga bisa menambahkan bluetooth dongle agar bisa berkomunikasi dengan perangkat bluetooth lainnya. Sedang pada umumnya papan Arduino tidak dilengkapi dengan perangkat bluetooth, untuk itu perlu ditambahkan perangkat bluetooth yang Read More

Memprogram Arduino dengan NetBeans IDE

Jika sudah berkenaan dengan pemrograman berbasis objek (OOP), peran IDE (Integrated Development Environment) menjadi sangat penting. Meski sebenarnya program arduino bisa ditulis dengan text editor yang paling sederhana seperti notepad, namun kebutuhan organisasi program terkait penggunaan library, class, kompilasi dan sebagainya akan menjadi sangat rumit. Sebelumnya saya menggunakan IDE Arduino untuk memprogram Arduino saya, beberapa kesulitan saya temui misalnya Read More

Kontrol Lampu 220VAC dan LED Menggunakan Aplikasi Android

Pada perancangan sistem controller lampu AC dan LED menggunakan aplikasi android ini menggunakan 4 bagian yaitu input, mikrokontroller, driver actuator dan actuator, dimana masukan dari sistem ini menggunakan smartphone android, kemudian pengontrol-nya menggunakan mikrokontroller Arduino Uno, rangkaian relay sebagai driver actuator, dan lampu sebagai actuator dari sistem ini. Berikut blok diagram sistem. Read More

Implementasi Fuzzy Logic Controller untuk Kontrol Kecepatan Motor DC pada Prototype Kipas Angin

Artikel ini membahas perancangan sebuah aplikasi dengan menggunakan mikrokontroler Arduino yang dapat berguna sebagai alat untuk mengaktifkan atau menonaktifkan kipas angin pada suatu ruangan. Perancangan sistem ini dilengkapi dengan beberapa perangkat keras yaitu sebuah motor DC 1000 rpm, baling-baling, sensor ultrasonic, sensor suhu LM35, Arduino Uno, rangkaian driver motor dan baterai 10 Volt. Rancangan dari sistem ini digunakan untuk mengatur putaran kipas angin yang disesuaikan dengan temperatur dan jarak dari suatu objek. Adapun diagram hardware nya sebagai berikut : Read More

Kendali Motor Pada Prototipe Overhead Crane Menggunakan Metode Fuzzy Logic Controller

Pada artikel ini dirancang kendali motor pada prototype overhead crane dengan Fuzzy Logic Controller (FLC). Kontrol motor menggunakan implementasi fuzzy logic dengan input berupa sensor ultrasonik dan potensiometer. Nilai dari kedua sensor ini yang akan mempengaruhi kecepatan motor pada plant. Sensor ultrasonik akan dipasang pada salah satu ujung crane dan sensor potensiometer akan dipasang pada tali crane untuk mengontrol motor guna mempertahankan sudut pergerakan tali. Read More