Saturday, March 22, 2014

Bikin wireless murah meriah, RF Transmitter dengan Arduino


Maen remote kontrol, bikin jaringan nirkabel ato bikin alat yang dapat komunikasi secara wireless alias tanpa kabel pasti asik, kita sudah sangat akrab dengan jaringan nirkabel ini, mulai dari radio, TV, internet, ethernet wireless, walky talky, handy talky, GPS, sms, telpon, remote tv, remote control,  telepati, LDR (long distance relationship), teluh, santet, dsb, semua komunikasi dikendalikan tanpa kabel.

Arduino NANO + ProMini + TX/RX 433Mhz + LCD 16x2

Banyak cara untuk melakukan itu, teknik yang digunakan menggunakan RF (radio frequensi), mulai dari VLF (very low frequency) sampe EHF (extra high frequency). Seperti contoh Bluetooth beroperasi dalam pita frekuensi 2,4 GHz (antara 2.402 GHz sampai 2.480 GHz), tapi jangan salah pita frekuensi itu ada aturan maennya, untuk 2,4Ghz memang gratis, kalau kita membuat pemancar seenaknya tanpa pengetahuan bisa-bisa kepala benjol digetok sama yang ngatur jalur pita frekuensi, hahaha... kejam banget ya! Padahal kekejaman itu tidak layak dibumi tercinta ini, ga usah nangis bilang aja minta maaf saya khilaf, hahahaha....syukur-syukur ga dikrangkeng dijeruji besi, wew....sereeeem coy, hahaha....

Pita Frekuensi
Halah ribet banyak aturan, mendingan kita praktek aja, urusan ditangkep urusan belakangan, yang penting power yang kita gunakan ga terlalu besar, jadi  range frekuensinya ga terlalu jauh jangkauannya and nimpe frekuensi orang laen.

Ada banyak pilihan nih mau pake bluetooth ato RF biasa? Mau AM ato FM? Hayah...malah tambah ribet lagi urusannya, pake tanya-tanya segala kaya yang kenal aja, hahaha....

HC-06 Slave bluetooth module (sebelah iri)
Itu modul bluetooth HC-06 jadi status komunikasi hanya sebagai slave, kalo mau master/slave pake HC-05 so kita bisa bikin alat yang bisa dikendaliin dari gadget semisal HP ato tablet sebagai joystick, kan digadget itu udah ada bluetoothnya, mantap ya, hehe...., sayangnya bluetooth ini ga bisa dipasang eksternal antena biar tambah joss, kalo mau yang agak mahal pake XBEE.

XBEE
Mantep neh ukurannya segede koin gope, HC-06 lebih kecil memang, ya terserah dah mau pilih yang mana, ada harga ada kerumitan merangkai dan program, ada kemudahan, hehe...

STOOOOPPP!!!.....Kenapa ngga kita pake yang murah meriah yang kelas Low-end, yang bikin pusingnya agak nendang keotak, yang bisa bikin lo panas dingin , mimisan, tombean, panuan, mikirin cara kerja alat ini, haha...karna murah berarti lo kudu mikir sedikit ekstra keras, THAT'S THE RULE OF LIFE DUDE, hahaha...

Ini ada modul RF murah harganya cuman Rp. 65.000.-, hahaha....pita frekuensinya di433Mhz ada juga di 315Mhz, bebas mo pilih yang mana, harganya sama ko, hahaha...monggo dipilih....dipilih, Oops gw ga jualan, cuman ngomporin aja, hahaha....

RF 315Mhz - 433Mhz
Kalo kita bongkar maenan mobil remot kontrol anak-anak yang murah isinya lebih sederhana dari ini, tapi prinsip kerjanya sama aja, modul ini bekerja dengan cara memodulasi amplitudo AM (amplitude modulation), namun karena modul ini diproses secara digital tentunya modul ini akan menjadi tidak biasa, wah....ko bisa? hehe...welcome to digital world!

Semua data yang akan dikirim pesawat pengirim TX (transmitter) adalah digital kemudian dibroadcase menjadi signal analog proses ini biasa disebut dengan istilah ENCODER, kemudian pesawat penerima akan menerima signal AM ini kemudian memprosesnya dengan cara menterjemahkannya menjadi data digital proses ini biasa disebut dengan istilah DECODER, dan hasilnya akan ditampilkan terserah sang engineering, apa berbentuksuara, gambar, saklar on/off, sensor, banyak tergantung tujuan awal pembuatan alat ini. Jika digambarkan hubungannya akan seperti berikut :

MCU > ENCODER > Transmitter ----------------- Receiver > DECODER > MCU

PT2262 (ENCODER) dan PT2272 (DECODER) bersifat opsional, kehadirannya adalah untuk :

1. Menghidari kebingungan dimana terdapat beberapa signal RF dengan pita frekuensi sama dalam jarak yang sama.
2. Mengisolasi gangguan.

Anda bisa meng- ENCODING dan DECODING -kan pada kedua MCU, andaikata tidak ada pesawat 433Mhz lain yang sedang mengudara disekitarnya, anda bisa menggunakannya secara langsung. Pada input 9VDC jarak jangkauan komunikasi bisa dicapai hingga 300m - 500m diudara terbuka.


Skema rangkaian komunikasi
Skema dan modul

MCU kependekan dari Micro Controller Unit, karena komunikasi menggunakan prosesENCODER dan DECODER maka distribusi informasi akan menjadi lebih lebar. Tapi otak gw malah mikirnya begini, inikan pake signal AM, jadi andai kata kita bikin perlombaan robotik pake modul RF ini (AM), gampang banget bikin ngaco jalur komunikasi robot, karena jalur frekuensi yang digunakan hanya memodulasi amplitudo, jadi untuk bikin perusak/pengacau signal gampang banget, and akhirnya semua robot pada error ga bisa dikendalikan, hahaha....

Ya tapi yang penting praktek and bisa jalan aja dulu, nanti kalo dah ngerti yang ginian baru naek level ke yang lebih rumit, ini aja lumayan rumit, soalnya murah, karena murah berarti mikir ekstra, hahahaha.... (keras ato lembek, susah ato mudah itu cara otak memandang realita yang belum ada databasenya, so santei aja, enjoy!, hadapi....hadapi...!!!).

Kali ini gw akan mendemokan komunikasi RF ini menggunakan 2 buah arduino sebagai MCU, arduino Pro mini dan arduino Nano.

1 breadboard sebagai TX (pemancar), 1 breadboard sebagai RX (penerima)
Antena yang digunakan cukup simpel cukup kabel 10cm, rencananya gw mau bikin pesawat pemancar yang terintegrasi dengan komputer, pesawat penerima menggunakan LCD 16x2 untuk menerima pesan tulisan dari komputer, dan semua komunikasi ini tidak terhubung dengan kabel sama sekali, sumpah demi Tuhan gw ga bohong, ... semuanya wireless alias ghaib tanpa kabel.

Breadboard pemancar TX (Arduino Nano)
Rangkaian ini terintegrasi dengan komputer, rencananya gw mo kirim pesan tulisan dari komputer seperti sms ke pesawat penerima secara nirkabel, ya bisa  mengirim pesan teror ato pesan cinta ato ucapan selamat, hahaha...

Breadboard penerima RX (Arduino Pro Mini)
Rangkaian ini menggunakan catu daya adaptor HP  dan berfungsi sebagai penerima (RX) dan terhubung dengan rangkaian TX melalui udara alias tanpa kabel. 

Console dikomputer untuk ngetik pesan tulisan
Saya menggunakan Linux ubuntu 10.04, ga ada masalah kalo pake window juga, ini tampilan console untuk ngetik tulisan yang pada akhirnya akan dipancarkan oleh arduino Nano keudara agar bisa ditangkap oleh pesawat penerima.


CODE :
  • Sketch program RX
#include <LiquidCrystal.h>
#include <VirtualWire.h>

//Inisial LCD
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

//Variables global
    char cad[100];
    int pos = 0;

void setup()
{
lcd.begin(16, 2); //konfigurasi LCD 16x2    

lcd.setCursor(0, 0);  //Tempatkan kursor di posisi pertama

//Hal ini menunjukkan bit per detik (baud) untuk komunikasi.

vw_setup(2000);
vw_rx_start();     //penerimaan dimulai
}

void loop()
{

/*Ini menciptakan array byte dari 30 komponen (nilainya VW_MAX_MESSAGE_LEN konstan di library) */
   byte buf[VW_MAX_MESSAGE_LEN]; 
/*Hal ini menunjukkan bahwa ukuran akan default hingga 30 karakter*/   
   byte buflen = VW_MAX_MESSAGE_LEN;  
    int i;

/*Jika Anda menerima pesan dari Arduino pengirim, fungsi vw_get_message mengembalikan satu nilai benar, dan dengan referensi ukuran pesan*/
    if( vw_get_message(buf, &buflen) )
    {
        if(pos < 4)
            lcd.setCursor(0, pos);
        else
        {
            pos=0;
            lcd.clear();
        }

//Dicetak pada layar
        for (i = 0; i < buflen; i++)
        {
            lcd.print(buf[i]);
            // Cara lain untuk mencetak:
            // lcd.write(buf[i]);
            // lcd.print(buf[i], BYTE);
            // lcd.print((char)buf[i]);

            pos++;
        }
    }
}


  • Sketch program TX
#include <VirtualWire.h>

//Variables global
char cad[100];
int i=0;

void setup()
{
    Serial.begin(9600);    //Buka port serial pada 9600 bps
  vw_setup(2000);        //Buka port 200 bps RF
  Serial.print("Gunakan untuk mengetik \".\" @dragon wrokshop Project.");
}

void loop()
{
    //Menunjukkan berapa banyak karakter dalam buffer
    if( Serial.available() > 0)
    {
        cad[i] = Serial.read();    /*Setiap kali Anda membaca karakter disimpan dalam array dan dipotong dari buffer*/
        i++;
    }

    /*Ketika anda mengetik titik (.), semua teks dikirim oleh pemancar RF*/
    if( cad[i-1] == '.')
    {
        cad[i] = '\0';     //Line ditambahkan ke array (string)
        i=0;
        vw_send((byte *)cad, strlen(cad)); //mengirimkan teks
        delay(400);
    }
}



Alat ini bisa digunakan keberbagai hal, ga perlu komputer, bisa dibikin stand alone, cuman gw males kalo kudu ngerangkai tombol dipesawat pemancar, misal dibikin kaya joystick kaya remot RF mobil-mobilan, ato dibikin untuk meng on/off kan alarm mobil atau motor, kendali central lock mobil dari jarak jauh, walky talky, ato jadi alat untuk menyalakan mobil ato motor secara ghaib, buka pintu gerbang dari jarak jauh, pokoe sesuatu yang berbau kendali jarak jauh secara nirkabel bisa dilakukan simungil ini, tinggal bikin rangkaian dan program yang berbeda disesuaikan dengan harapan sang engineering, remot alarm mobil yang kecil itu menggunakan prinsip kerja seperti alat ini.

Kelemahan alat ini hanya bisa melakukan komunikasi secara searah ato half duplex, yang satu berfungsi sebagai master (pemancar/kendali), yang satu berfungsi sebagai slave (penerima), jika mau bisa menggunakan 2 modul yang diintegrasikan dalam satu sistem, seperti telepon, jadi bisa melakukan komunikasi secara full duplex atau 2 arah.

Pesawat pemancar TX dan penerima RX
Banyak alat-alat serupa yang bisa dikendalikan secara jarak jauh, bahkan antar kota atau propinsi, prinsip kerjanya dengan memanfaatkan jaringan internet atau GSM, jika menggunakan GSM pesawat harus disematkan kartu GSM yang aktip, menurut saya yang ga ahli elektronika teknologi berbasis GSM/CDMA yang ditanam pada pesawat slave sangat-sangat tidak efektip, meskipun terlihat canggih karena kita bisa mengendalikan alat yang sangat jauh hanya dengan mengirimkan SMS, begitu pula dengan jaringan internet, karena alat akan ketergantungan pulsa dan sinyal kuat dilingkungannya untuk melakukan komunikasi, jika pulsa habis ato sinyal jelek maka komunikasi akan terputus, artinya teknologi tersebut masih sangat kuno, karena tidak mempunyai jalur khusus.

Disinilah peran seorang engineering untuk memikirkan bagaimana caranya, sebetulnya frekuensi itu masih banyak, dan metoda pendistribusian gelombang atau paket data ini belum begitu banyak berkembang, jadi sedikit sentuhan kreatif saja bukan tidak mungkin akan menghasilkan komunikasi nirkabel yang tidak berbahaya namun kuat dan jangkauannya sangat jauh, dan ga akan menggangu pita frekuensi lainnya, perlu diketahui semakin tinggi frekuensi (jumlah periode dalam satu detik) maka semakin berbahaya bagi kesehatan mahluk hidup, frekuensi tertinggi yang paling berbahaya adalah sinar x dan sinar gamma, karena panjang gelombangnya lebih kecil dari 1 angstrom ato lebih kecil dari diameter sebuah atom, artinya daya tembus gelombang ini sangat tinggi, bukan hanya itu media yang dilaluinya akan terpengaruh, jika jaringan yang dilaluinya adalah jaringan lunak seperti sel tubuh, maka bisa mendatangkan kerusakan sel seperti terbakar, tumor dan kangker, karena frekuensi itu akan mengubah protein pada sel kemudian merubah/memutasikan rantai DNA, artinya jika DNA bermutasi akan terjadi tumor dan kangker.

Jadi hati-hati yang sering telpon-telponan pake HP jam-jaman mentang-mentang murah, apa ga kerasa kepala jadi panas, prinsip kerjanya persis seperti oven microwave, memanaskan dengan gelombang micro, so selama kita belum bisa membuat alat untuk penangkalnya perlakukan secara bijak teknologi tersebut, karena mutasi DNA itu membutuhkan proses jadi ga akan ngedadak, jangan sampe usia tua diisi dengan penyakit orang kaya seperti tumor dan kangker, hehe...


sumber:

No comments:

Post a Comment