8 Relay Remote DTMF

Jual 8 Relay Remote DTMF

beres

Spesifikasi Teknis :

Jumlah Relay : 8 + Led Indikator

Tegangan Supply : 12 Volt

Input  : tone DTMF

dilengkapi 1 relay untuk memutuskan audio pada saat kita memasukan  angka angka kombinasi  sehingga tone DTMF tidak bisa dibajak atau tidak bisa didengarkan pengguna radio lain.

password 3 digit dilengkapi nomor relay.

contoh ingin menyalakan atau mematikan relay nomor 3 dengan password 537

menekan tombol : *537#03

atau simak video sample berikut :

 

Harga
Rp 500.000 ( Belum termasuk ongkos kirim )
pengiriman menggunakan kurir JNE. untuk ongkos kirim silahkan cek Disini
bisa juga dilakukan COD di Bandung, di daerah JL Muara, atau Gading tutuka 2 Soreang.

Contact :
Angga S Arly
sms / call / whatsapp 081802279880
pin bbm : 5FC54392
email : angga@ngoprekradio.com
web : www.ngoprekradio.com

info Nomor Rekening :
atas Nama : Angga Sudrahanggara Arly
BCA 8100362245
BNI 0190860738

atau order via Tokopedia KLIK DISINI

Remote Relay menggunakan DTMF

Halo, ini tulisan pertama saya di tab eksperimen. seperti judul nya “Remote Relay menggunakan DTMF” project ini adalah membuat Relay yang bisa kita kendalikan secara remote atau jarak jauh. menggunakan link Radio.

Relay sendiri adalah sebuah komponen elektronik dengan fungsi utama nya adalah “switch” atau “saklar” hanya saja bukan dikendalikan secara manual. tetapi dikendalikan oleh tegangan listrik.

Lalu apa yang dimaksud dengan DTMF ? DTMF adalah singkatan dari “Dual Tone Multiple Frequency” adalah teknik mengirimkan angka melalui tone atau nada yang dikirimkan pada saat kita menekan salah satu tombol angka. mengapa dual tone karena saat kita menekan salah satu angka ada 2 tone yang berbunyi.

DTMF paling populer digunakan pada pesawat pesawat telepon rumahan.  kita sering mendengar bunyi nada pada saat kita menekan tombol2 angka untuk melakukan dial nomor tujuan “tet tot tet tot tet tot”  itulah salah satu pengaplikasian DTMF agar nomor yang kita tekan tadi di proses oleh mesin atau komputer di penyedia telekomunikasi sehingga kita bisa terhubung ke nomor telpon tujuan.

selain dari telepon rumahan yang menggunakan DTMF masih banyak perangkat lain yang masih menggunakan nada DTMF seperti  telepon selular atau Radio Komunikasi.

Dalam project ini kita lebih khususkan dibuat untuk pengaplikasian bersama radio komunikasi. Banyak sekali radio komunikasi yang menggunakan fitur DTMF pada tombol tombol angka. khusus nya HT.

OK saya rasa cukup perkenalan Relay dan DTMF nya, mari kita langsung ke pokok bahasan nya.

Remote Relay menggunakan DTMF

uln2803

 

bisa kita lihat pada gambar diatas, kita anggap terdiri dari 2 blok utama.  sebelah kanan ada blok Relay atau saklar dengan Led indikator. kemudian blok sebelah kiri adalah blok Control yang terdiri dari 3 IC yaitu MT8870 sebagai DTMF to BCD decoder, Atmega328 sebagai MCU, dan ULN2803 sebagai Relay Driver. kemudian di sebelah kiri atas ada tulisan input & 12V.  Input disambungkan dengan radio receiver yang akan menerima tone DTMF dari radio yang transmit atau dari radio pengendali jarak jauh. kemudian 12V disambungkan ke power supply.

cara kerja dari rangkaian diatas adalah menterjemahkan sinyal DTMF berupa angka kombinasi yang kita masukan. kita ambil contoh misal kita ingin menyalakan Relay nomor 1. angka kombinasi yang harus kita masukan adalah *123#01

dengan asumsi bahwa * adalah tombol awal kombinasi, disambung dengan 123 yaitu password kemudian # sebagai pembatas. dan terakhir adalah 01 yaitu nomor relay.  sehingga tidak semua orang bisa merubah kondisi relay. hanya yang mengetahui angka2 input kombinasi dan password nya saja yang bisa mengontrol relay relay diatas.

OK, kembali ke teknis. nada DTMF yang masuk pada input diterima oleh IC MT8870 kemudian sinyal dirubah dari nada DTMF menjadi BCD ( Binary Coded Desimal ). sehingga ada 5 titik output dari MT8870 yang kemudian di proses oleh MCU Atmega328. ke 5 titik output tersebut adalah Q1,Q2,Q3,Q4 & StD ( kaki 11 sampai 15 ). Q1 sampai Q4 adalah output BCD nya. semisal kita memberi input DTMF angka 1 output BCD nya adalah Q1= High, Q2 = Low, Q3 = LOW, Q4 = LOW.

atau perhatikan tabel dibawah, data dari datasheet sebagai referensi logic output dari Q1 hingga Q4 untuk setiap angka DTMF.

BCD

 

Kita ambil contoh lain semisal kita menkan angka 5 maka output dari Q1-Q4 adalah :

Q1 = HIGH

Q2 = LOW

Q3 = HIGH

Q4 = LOW

sama seperti datasheeet diatas. cukup mudah kan?

ok lanjut ke output StD pada kaki nomor 15 pada IC MT8870. pin tersebut meng indikasikan semua nada DTMF yang masuk, sehingga akan mengeluarkan Logic 1 pada saat menerima nada DTMF. dan Logic 0 pada saat standby tidak menerima nada DTMF.

dari ke 5 pin tersebut dimasukan ke Input Dijital Atmega328. (  kaki 2 sampai 6 ) silahkan perhatikan gambar layout pcb diatas.

Proses yang dilakukan MCU adalah mengenal semua input yang dimasukan kemudian memproses output nya ke relay.  mulai dari men decode output BCD sesuai tabel diatas menjadi angka2 kembali yang kemudian men seleksi angka2 yang dimasukan seperti *123#01 action nya adalah menghidupkan atau mematikan Relay nomor 1.

Bahasa Pemrograman Microcontroller yang saya gunakan adalah bahasa arduino,  berikut skrip lengkap yang dimasukan ke Atmega328 sebagai berikut :

[spoiler title=”Mantra”]

[pastacode lang=”c” message=”Remote DTMF ngoprekradio.com” highlight=”Remote DTMF ngoprekradio.com” provider=”manual”]

// 8 Relay Remote DTMF
// create by Angga S Arly  2014
// anggafunkadelic@gmail.com
// ngoprekradio.com
 
 
// load eeprom library
#include <EEPROM.h>
// alokasi pin BCD dari MT8870
const int BCDPin1 = 4;
const int BCDPin2 = 3;
const int BCDPin3 = 2;
const int BCDPin4 = 1;
const int BCDPinX = 0;
// state BCD dari MT8870
int BCDState1 = 0;
int BCDState2 = 0;
int BCDState3 = 0;
int BCDState4 = 0;
int BCDStateX = 0;
// state hasil decode ke desimal
int S0 = 0;
int S1 = 0;
int S2 = 0;
int S3 = 0;
int S4 = 0;
int S5 = 0;
int S6 = 0;
int S7 = 0;
int S8 = 0;
int S9 = 0;
int SB0 = 0; // bintang
int SP0 = 0; // pager
// state combination key
int D1 = 0; // *
int D2 = 0; // pass1
int D3 = 0; // pass2
int D4 = 0; // pass3
int D5 = 0; // *
int D6 = 0; // relaynumber
int D7 = 0; // ending
// alokasi pin output / relay
const int LedPin1 =  5;
const int LedPin2 =  6;
const int LedPin3 =  7;
const int LedPin4 =  8;
const int LedPin5 =  9;
const int LedPin6 =  10;
const int LedPin7 =  11;
const int LedPin8 =  12;
const int LedPin9 =  13;
// status relay
int rstat1 = 0;
int rstat2 = 0;
int rstat3 = 0;
int rstat4 = 0;
int rstat5 = 0;
int rstat6 = 0;
int rstat7 = 0;
int rstat8 = 0;
// loading status sebelum mati listrik
int lstat1 = 0;
int lstat2 = 0;
int lstat3 = 0;
int lstat4 = 0;
int lstat5 = 0;
int lstat6 = 0;
int lstat7 = 0;
int lstat8 = 0;
// bootstat
int bootstat0 = 0;
 
void setup() {
  //alokasi pin input ( BCD )
  pinMode(BCDPin1, INPUT);  
  pinMode(BCDPin2, INPUT);
  pinMode(BCDPin3, INPUT);
  pinMode(BCDPin4, INPUT);
  pinMode(BCDPinX, INPUT);  
  // alokasi pin output ( Relay )
  pinMode(LedPin1, OUTPUT);
  pinMode(LedPin2, OUTPUT);
  pinMode(LedPin3, OUTPUT);
  pinMode(LedPin4, OUTPUT);
  pinMode(LedPin5, OUTPUT);
  pinMode(LedPin6, OUTPUT);
  pinMode(LedPin7, OUTPUT);
  pinMode(LedPin8, OUTPUT);
  pinMode(LedPin9, OUTPUT);
 }
 
void checkboot() {
if (bootstat0 == 0) {
  lstat1 = EEPROM.read(1);
  lstat2 = EEPROM.read(2);
  lstat3 = EEPROM.read(3);
  lstat4 = EEPROM.read(4);
  lstat5 = EEPROM.read(5);
  lstat6 = EEPROM.read(6);
  lstat7 = EEPROM.read(7);
  lstat8 = EEPROM.read(8);
  if (lstat1 == 1) {
    digitalWrite(LedPin1, HIGH);
    rstat1 = lstat1;
  }
  if (lstat2 == 1) {
    digitalWrite(LedPin2, HIGH);
    rstat2 = lstat2;
  }
  if (lstat3 == 1) {
    digitalWrite(LedPin3, HIGH);
    rstat3 = lstat3;
  }
  if (lstat4 == 1) {
    digitalWrite(LedPin4, HIGH);
    rstat4 = lstat4;
  }
  if (lstat5 == 1) {
    digitalWrite(LedPin5, HIGH);
    rstat5 = lstat5;
  }
  if (lstat6 == 1) {
    digitalWrite(LedPin6, HIGH);
    rstat6 = lstat6;
  }
  if (lstat7 == 1) {
    digitalWrite(LedPin7, HIGH);
    rstat7 = lstat7;
  }
  if (lstat8 == 1) {
    digitalWrite(LedPin8, HIGH);
    rstat8 = lstat8;
  }
  bootstat0 = 1;
}
 
}
 
void reset() {  
 
 
D1 = 0; // *
D2 = 0; // pass1
D3 = 0; // pass2
D4 = 0; // pass3
D5 = 0; // *
D6 = 0; // relaynumber
D7 = 0;
}
 
void reset2() {
  S1 = 0;
  S2 = 0;
  S3 = 0;
  S4 = 0;
  S5 = 0;
  S6 = 0;
  S7 = 0;
  S8 = 0;
  S9 = 0;
  SB0 = 0;
  S0 = 0;
  SP0 = 0;
}
 
void exerelay1() {
  if (rstat1 == 0) {
    digitalWrite(LedPin1, HIGH);
    EEPROM.write(1,1);
    rstat1 = 1;
  }
  else if (rstat1 == 1) {
    digitalWrite(LedPin1, LOW);
    EEPROM.write(1,0);
    rstat1 = 0;
  }
}
 
 
void exerelay2() {
  if (rstat2 == 0) {
    digitalWrite(LedPin2, HIGH);
    EEPROM.write(2,1);
    rstat2 = 1;
  }
  else if (rstat2 == 1) {
    digitalWrite(LedPin2, LOW);
    EEPROM.write(2,0);
    rstat2 = 0;
  }
}
 
void exerelay3() {
  if (rstat3 == 0) {
    digitalWrite(LedPin3, HIGH);
    EEPROM.write(3,1);
    rstat3 = 1;
  }
  else if (rstat3 == 1) {
    digitalWrite(LedPin3, LOW);
    EEPROM.write(3,0);
    rstat3 = 0;
  }
}  
 
void exerelay4() {
  if (rstat4 == 0) {
    digitalWrite(LedPin4, HIGH);
    EEPROM.write(4,1);
    rstat4 = 1;
  }
  else if (rstat4 == 1) {
    digitalWrite(LedPin4, LOW);
    EEPROM.write(4,0);
    rstat4 = 0;
  }
}
 
void exerelay5() {
  if (rstat5 == 0) {
    digitalWrite(LedPin5, HIGH);
    EEPROM.write(5,1);
    rstat5 = 1;
  }
  else if (rstat5 == 1) {
    digitalWrite(LedPin5, LOW);
    EEPROM.write(5,0);
    rstat5 = 0;
  }
}  
 
void exerelay6() {
  if (rstat6 == 0) {
    digitalWrite(LedPin6, HIGH);
    EEPROM.write(6,1);
    rstat6 = 1;
  }
  else if (rstat6 == 1) {
    digitalWrite(LedPin6, LOW);
    EEPROM.write(6,0);
    rstat6 = 0;
  }
}
 
 
 
void exerelay7() {
  if (rstat7 == 0) {
    digitalWrite(LedPin7, HIGH);
    EEPROM.write(7,1);
    rstat7 = 1;
  }
  else if (rstat7 == 1) {
    digitalWrite(LedPin7, LOW);
    EEPROM.write(7,0);
    rstat7 = 0;
  }
}
 
void exerelay8() {
  if (rstat8 == 0) {
    digitalWrite(LedPin8, HIGH);
    EEPROM.write(8,1);
    rstat8 = 1;
  }
  else if (rstat8 == 1) {
    digitalWrite(LedPin8, LOW);
    EEPROM.write(8,0);
    rstat8 = 0;
  }
}
 
 
 
 
// final check
void check2() {
 
  if (D6 == 1) {
  if (S1 == 1) {
    exerelay1();    
     reset();
  }
}
 
  if (D6 == 1) {
  if (S2 == 1) {
    exerelay2();
    reset();
  }
}
 
  if (D6 == 1) {
  if (S3 == 1) {
    exerelay3();
    reset();
  }
}
 
  if (D6 == 1) {
  if (S4 == 1) {
    exerelay4();
    reset();
  }
}
 
  if (D6 == 1) {
  if (S5 == 1) {
    exerelay5();
    reset();
  }
}
 
  if (D6 == 1) {
  if (S6 == 1) {
    exerelay6();
    reset();
  }
}
 
  if (D6 == 1) {
  if (S7 == 1) {
    exerelay7();
    reset();
  }
}
 
  if (D6 == 1) {
  if (S8 == 1) {
    exerelay8();
    reset();
  }
}
 
}
 
 
void check() {
 
    BCDState1 = digitalRead(BCDPin1);
    BCDState2 = digitalRead(BCDPin2);
    BCDState3 = digitalRead(BCDPin3);
    BCDState4 = digitalRead(BCDPin4);
    BCDStateX = digitalRead(BCDPinX);
 
   
  if (BCDStateX == HIGH) {
        // detek 0    
        if (BCDState1 == LOW) {
          if (BCDState2 == HIGH) {
            if (BCDState3 == LOW) {
              if (BCDState4 == HIGH) {
                S0 = 1;
               
               
              }
            }
          }
        }
 
        // detek 1
        if (BCDState1 == HIGH) {
          if (BCDState2 == LOW) {
            if (BCDState3 == LOW) {
              if (BCDState4 == LOW) {
                S1 = 1;
               
              }
            }
          }
        }
       
        // detek 2
        if (BCDState1 == LOW) {
          if (BCDState2 == HIGH) {
            if (BCDState3 == LOW) {
              if (BCDState4 == LOW) {
                S2 = 1;
               
              }
            }
          }
        }
       
        // detek 3
        if (BCDState1 == HIGH) {
          if (BCDState2 == HIGH) {
            if (BCDState3 == LOW) {
              if (BCDState4 == LOW) {
                S3 = 1;
               
              }
            }
          }
        }
       
        // detek 4
        if (BCDState1 == LOW) {
          if (BCDState2 == LOW) {
            if (BCDState3 == HIGH) {
              if (BCDState4 == LOW) {
                S4 = 1;
               
              }
            }
          }
        }
       
        // detek 5
        if (BCDState1 == HIGH) {
          if (BCDState2 == LOW) {
            if (BCDState3 == HIGH) {
              if (BCDState4 == LOW) {
                S5 = 1;
               
              }
            }
          }
        }
       
        // detek 6
        if (BCDState1 == LOW) {
          if (BCDState2 == HIGH) {
            if (BCDState3 == HIGH) {
              if (BCDState4 == LOW) {
                S6 = 1;
               
              }
            }
          }
        }
       
        // detek 7
        if (BCDState1 == HIGH) {
          if (BCDState2 == HIGH) {
            if (BCDState3 == HIGH) {
              if (BCDState4 == LOW) {
                S7 = 1;
               
              }
            }
          }
        }
       
        // detek 8
        if (BCDState1 == LOW) {
          if (BCDState2 == LOW) {
            if (BCDState3 == LOW) {
              if (BCDState4 == HIGH) {
                S8 = 1;
               
              }
            }
          }
        }
       
        // detek 9
        if (BCDState1 == HIGH) {
          if (BCDState2 == LOW) {
            if (BCDState3 == LOW) {
              if (BCDState4 == HIGH) {
                SP0 = 1;
               
              }
            }
          }
        }
       
        // detek *
        if (BCDState1 == HIGH) {
          if (BCDState2 == HIGH) {
            if (BCDState3 == LOW) {
              if (BCDState4 == HIGH) {
                SB0 = 1;
               
              }
            }
          }
        }
       
        // detek #
        if (BCDState1 == LOW) {
          if (BCDState2 == LOW) {
            if (BCDState3 == HIGH) {
              if (BCDState4 == HIGH) {
                SP0 = 1;
               
              }
            }
          }
        }
 
// end of state BCDStateX
  }
 
 
 // end of check  
}
 
 
 
 
 
void loop(){
 
 
 
 
checkboot();  
check();  
check2();
 
 
// password 123
// lengkap nya *123#0x
// x = nomor relay
 
 
// x & * menjadi D1
if (BCDStateX == HIGH) {
  if (SB0 == 1) {
    D1 = 1;
  }
}
 
// 1 & D1 menjadi D2
if (S1 == 1) {
  if (D1 == 1) {
    D2 = 1;
  }
}
 
 
// 2 dan D2 menjadi D3
if (S2 == 1) {
  if (D2 == 1) {
    D3 = 1;
  }
}
 
// S3 dan D3 menjadi D4
 
if (S3 == 1) {
  if ( D3 == 1) {
    D4 = 1;
  }
}
 
// pager & D4 menjadi D5
 
if (SP0 == 1) {
  if (D4 == 1) {
    D5 = 1;
  }
}
 
 
 
// detek password kao D nya sudah up tidak ada action tapi kalo D nya off langsung reset ajahhhh
 
if (S1 == 1) {
  if ( D2 == 1 ) {
    // no action
  }
  else {
    reset();
  }
}
 
if (S2 == 1) {
  if ( D3 == 1 ) {
    // no action
  }
  else {
    reset();
  }
}
 
if (S3 == 1) {
  if ( D4 == 1 ) {
    // no action
  }
  else {
    reset();
  }
}
 
 
if (SP0 == 1) {
  if ( D5 == 1 ) {
    // no action
  }
  else {
    reset();
  }
}
 
 
// selain angka2 password reset ajah sikat coyy
 
 
if (S4 == 1) {
  reset();
}
 
if (S5 == 1) {
  reset();
}
 
if (S6 == 1) {
  reset();
}
 
if (S7 == 1) {
  reset();
}
 
if (S8 == 1) {
  reset();
}
 
if (S9 == 1) {
  reset();
}
 
if (S0 == 1) {
  if (D5 == 1) {
    D6 = 1;
  }
  else {
    reset();
  }
}
 
 
if (D1 == 1) {
  digitalWrite(LedPin9, HIGH);
}
else if (D1 == 0) {
  digitalWrite(LedPin9, LOW);
}
 
 
reset2();
 
 
delay(10);
// end of state loop
  }

[/pastacode]

[/spoiler]

untuk rekan2 yang ingin membuat project ini silahkan copy paste kode kode aneh diatas ke software arduino IDE lalu upload ke IC atmega328 menggunakan downloader seperti USBasp.

selain dari 8 relay yg ada di blok sebelah kanan ada 1 relay lagi yg tempat nya terpisah paling kiri. relay tersebut bekerja untuk memutuskan sinyal audio apabila rangkaian ini digunakan untuk RPU. sinyal audio diputuskan pada saat menerima angka2 kombinasi DTMF dengan tujuan agar tidak bisa terdengar oleh semua pengguna RPU. sebagai contoh kita ingin menyalakan atau mematikan relay nomor 8.  kita harus mengetik *123#08. pada saat memasuki digit pertama yaitu * relay tersebut bekerja. sampai pengguna selesai menginput angka2 kombinasi diatas.  sehingga tone DTMF tidak bisa didengarkan orang lain.

ada fitur lain yaitu eeprom. posisi2 relay tersimpan di memory atmega, sehingga ketika mati listrik atau kehilangan supply. kemudian on lagi kondisi relay akan mengikuti pada saat sebelum mati listrik. misal kita ambil contoh relay yang menyala hanya nomor 5 dan 7… relay lain posisi off..  pada saat mati listrik dan kemudian listrik on kembali. relay 5 dan 7 akan kembali on. seperti sebelum mati listrik.

yang terakhir adalah IC ULN2803 yaitu 8 channel Darlington Array. berfungsi sebagai driver Relay.  karena output sinyal dari atmega ini cukup kecil. tidak mampu menggerakan relay secara langsung. sehingga dibantu oleh IC ini.

untuk rekan rekan yang ingin membuat alat ini dibutuhkan bahan sekitar 300 – 350rb dimulai dari bahan2 komponen, pembuatan PCB,  dan downloader AVR seperti USBasp.

Demikian sedikit tulisan saya tentang eksperimen “remote relay DTMF” ini.. saran dan masukan dengan senang hati dari rekan2 untuk berdiskusi.

berikut foto kit yang sudah jadi.

beres

berikut cuplikan Video nya teman teman :

bagi yang kesulitan membuat dan tidak terbiasa menyolder jangan berkecil hati karena kami siapkan kit sudah jadi dengan harga 500rb per unit dan sudah tested.

barang bisa diambil di bandung atau kirim via JNE

Contact :
Angga S Arly
sms / call / whatsapp 081802279880
pin bbm : 5FC54392
email : angga@ngoprekradio.com
web : www.ngoprekradio.com

info Nomor Rekening :
atas Nama : Angga Sudrahanggara Arly
BCA 8100362245
BNI 0190860738

atau order via Tokopedia KLIK DISINI

Icom RAM Board EX-314 (IC-271, IC-745, IC-751 dsb)

Ada beberapa tipe RIG Icom yg menggunakan sistem yg agak unik, yaitu menggunakan SRAM untuk menyimpan memory radio, fatalnya Icom juga menempatkan bbrp seting radio pada bagian memory SRAM tsb. Karakter SRAM yg isinya akan hilang jika tidak diberi daya menjadi momok tersendiri bagi para penggemar Icom yg menggunakan RAM Board EX-314 seperti seri IC-271, IC-471, IC-1271, IC-745, IC-750, IC-751, IC-R71. Ketika batre yg mensuply RAM Board habis ato tidak sengaja short ato terlepas maka isi dari RAM Board akan hilang dan radio tidak bisa dipergunakan lagi.

*RAM Pengganti OUT OF STOCK, sekarang HANYA menerima program ulang atau repair EEPROM/RAM/SRAM EX-314 yang rusak*

Setelah meneliti dan bereksperimen bertahun2 dengan IC-271, akhirnya terpecahkan solusi untuk “melebarkan” dan membuat RAM pengganti yg compatible dengan EX-314. RAM Board biasa umumnya hanya bisa maksimal 140.000Mhz – 150.000Mhz, ato 144.000Mhz – 146.000Mhz pada versi luar negeri, maka RAM Board compatible besutan www.ngoprekradio.com ini bisa menjangkau 136.000Mhz – 174.000Mhz. Akan tetapi oscilator dari IC-271 hanya mampu menjangkau sekitar 14Mhz maka range efektif yg bisa digunakan hanya 139.000Mhz – 153.000Mhz (bisa plus-minus 500khz tergantung seting radio). Jika dibutuhkan bekerja pada frekuensi atas/bawah maka bisa dilakukan dengan trim bagian oscilator, tetapi tetap dengan batasan maksimal range efektif sekitar 14Mhz.

P1060526ed

RAM Board compatible ini menggunakan socket batre, sehingga user bisa mengganti sendiri batre, caranya ialah dengan menghidupkan radio sehingga RAM Board mendapat suply dari radio, dan batre bisa dilepas tanpa kehilangan isi dari RAM Board tsb.

P1060532_resizeP1060535_resizeP1060536_resize

all About Radio Komunikasi