Hot!

Other News

More news for your entertainment
Tampilkan postingan dengan label Embedded System. Tampilkan semua postingan
Tampilkan postingan dengan label Embedded System. Tampilkan semua postingan

Memprogram AVR Menggunakan eclipse avrdude linux


Artikel kali ini membahas cara memprogram Mikrokontroler AVR menggunakan Eclipse avrdude linux dengan bahasa pemrograman C . Kebanyakan compiler bahasa c yang tersebar di internet seperti AVRcodevision, AVRstudio merupakan compiler yang berlisensi untuk versi yang lebih jitu . Eclipse merupakan IDE opensource sehingga memeudahkan pengembang untuk menggunakan tanpa harus membeli lisensi terlebih dahulu. 

Sebelum memulai program terlebih dahulu Eclipse harus sudah terinstall di Linux (cara menginstal eclipse di linux ).

1. Gunakan Hak Akses Superadmin.


Ketika instalasi sudah selesai buka eclipse melalui terminal menggunakan hak akses superadmin (root).


2. Install Plugin AVR - eclipse avrdude linux


kemudian pada menu Help klik Install New Software,  kemudian masukkan url di bawah kedalam text box seperti pada gambar :














lanjutkan sampai instalasi selesai .



3. Membuat project di eclipse avrdude linux




Pilih File >> New >> C Project Kemudian isi nama project.


Pilih AVRCross Target Application >> Empty Project.


4. Membuat File main.c untuk Source Bahasa C yang nantinya akan di compile di eclipse avrdude linux.


A. Klik kanan pada folder projek lalu klik New >> Source File

B. masukan nama source file main.c



C. ketikkan contoh program berikut :

#define F_CPU 4000000UL
#include "util/delay.h"
#include "avr/io.h"
 
 int main() {

  DDRC = 0xFF; // Configure port C as output

  while(1) { 

   PORTC = 0xFF; // Turn ON LEDs 

   _delay_ms(250); // Wait 250ms
 
   PORTC = 0x00; // Turn OFF LEDs

   _delay_ms(250); // Wait 250ms

  }

   return 0;

 }


6. Generate File *.hex di eclipse avrdude linux.


pada folder project, klik kanan kemudian pilih Build Project.



pada directory Release , akan di dapatkan file *.hex.






7. Upload File *.hex ke Mikrokontroler dengan eclipse avrdude linux.






A. Pilih tab C/C++ Build kemudian pada pilihan Configuration klik Release.  Kemudian klik Apply.





B. Kemudian pilih tab C/C++ Build, pada tab Programmer >> Programmer configuration klik New.



D. Selanjutnya ketikkan nama konfigurasi programer yang nantinya akan dipakai dalam proses peng-upload-an data. 



E. Setelah itu pada tab Programmer Hardware pilih USBasp kemudian klik ok.





F. Kembali ke form awal, kemudian klik ok.


G. Sebelum melakukan pen-uploud-an data terlebih dahulu dilakukan adalah persiapan board mikrokontroler yang telah dihubungkan dengan USBasp dengan laptop. Setelah itu Pen-uploud-an dilakukan dengan cara mengklik tombol yang ada pada gambar.




H. apabila peng-upload-an data telah selesai maka akan tampak hasil seperti dibawah ini.



sekian tutorial memprogram-avr-menggunakan-avrdude-eclipse-linux semoga bermanfaat :)

setiap ingin menjalankan eclipse - avr-dude maka harus masuk sebagai super admin (root).


Perbedaan Mikroprosesor dan mikrokontroller


1. Microprocessor (Mikroprosesor)

Mikroprosesor digunakan sebagai pengolah utama pada semua kerja komputer,yaitu untuk menjalankan perangkat lunak, memecahkan proses aritmatika dan mengendalikan proses I/O, bertugas sebagai CPU (Central Processing Unit) atau biasa disebut pusat pengolah keseluruhan sistem, yaitu menjalankan perangkat lunak yang disimpan pada memori program.


Piranti pada mikroprosesor


Mikroprosesor tidak dapat bekerja sendiri (stand-alone) karena pada mikroprosesor tidak terdapat RAM/ROM (memori) yang fungsi utamanya adalah menyediakan sumber daya untuk digunakan di ALU, register dan kontroller yang terdapat dalam mikroprocessor. Mikroprocesor membutuhkan piranti - piranti pendukung lainnya.


2. Microcontroller (Mikrokontroler)


Mikrokontroler digunakan sebagai pengendali sistem yang di dalam nya terdapat proses pengolah keseluruhan sistem, management input dan output serta di dalamnya terdapat piranti memori yang berguna untuk menyimpan data instruksi.


Mikrokontroler beserta dekripsi PIN

Dengan kata lain mikrokontroler (microcontroller) adalah suatu Integrated Circuit yang di dalam nya terdapat piranti - piranti kompleks sehingga dapat digunakan sebagai general purpose . Perangkat mikrokontroler adalah seluruh piranti mikroprosesor + Sistem I/O dan Memori (RAM/ROM).



Memori


RAM (Random Access Memory) berguna untuk menyimpan data sementara yang mungkin diperlukan oleh mikroprosesor sewaktu menjalankan perangkat lunak.

Misalnya menyimpan nilai-nilai pada variabel, penyortiran, pembandingan dan operasi matematika
ROM (Read Only Memory) berguna untuk menyimpan alamat data perangkat lunak yang akan dijalankan oleh microprosesor.


1. EEPROM


Electrically Erasable Programmable Read Only Memory , ini digunakan untuk menyimpan sejumlah kecil variabel yang dapat berubah dari waktu ke waktu.

2. FLASH


non-volatile, memori ini bekerja lebih cepat dan dapat dihapus/tulis lebih sering dibandingkan EEPROM.

3. Static RAM


memori ini sangat berguna ketika dibutuhkan memori yang besar untuk menyimpan data dan program.

Piranti Mikrokontroller = piranti mikroprosesor + Memori + piranti I/O

berfungsi untuk mengirimkan dan menerima data dari atau ke luar sistem.

untuk menghubungkan sistem dengan dunia luar (piranti di luar mikroprosesor ) , seperti sensor dan papan ketik.

Contohnya:
salah satu piranti I/O yang bertugas mengirimkan data ke printer untuk di cetak.
piranti I/O menerima masukan data dari keyboard.
Always Remember

Clock / Denyut


Istilah yang sering di dapat dalam dunia elektronika, yang terdapat dalam sistem mikrokontroller. Pembangkit logika on/off (1/0), yang berfungsi untuk menyinkronkan kerja piranti-piranti dalam sistem elektronik. pembangkitnya bisa berupa resonator keramik, osilator kristal atau IC pewaktu 555.

PEMBANDING
MIKROKONTROLER
MIKROPROSESOR
PIRANTI I/O
ADA
TIDAK ADA
MEMORI RAM / ROM
ADA
TIDAK ADA
ARITHMATIC LOGICAL UNIT
ADA
ADA
CPU (CONTROLLER)
ADA
ADA
REGISTER
ADA
ADA




Mikroprosesor merupakan bagian dari mikrokontroler , karena mikroprosesor tidak dapat berfungsi tanpa adanya piranti lain. tabel di atas adalah tabel pembanding untuk membedakan mikrokontroler dengan mikroprosesor. Semoga Bermanfaat :)

Wall Follower Proporsional Integral PART I

Wall follower proporsional integral robot adalah robot yang didesain untuk dapat berjalan mengikuti dinding yang membentuk sebuah alur mapping tertentu. Beberapa hal yang diperlukan dalam merancang wall follower proporsional integral robot ini adalah mekanika, elektronik, dan algoritma (software) dari robot.


1. MEKANIKA


Robot wall follower yang dirancang hanya terdiri dari 3 sensor yang digunakan untuk mendeteksi jarak dinding dengan robot. Sensor ultrasonik yang digunakan adalah sensor HC-SR04.

Sensor HC-SR04 memiliki kemampuan membaca jarak dari 2 cm sampai 500 cm . Sensor HC-SR04 dipasang pada bagian sisi kanan,kiri robot dan bagian depan robot wall follower proporsional integral. Sensor pada bagian kanan berfungsi untuk mengetahui jarak dinding terhadap robot, nantinya nilai jarak yang dihasilkan akan menjadi inputan pada perhitungan nilai proporsional integral yang berpengaruh terhadap pergerakan robot (metode Ziegler-Nichols).Robot wall follower proporsional integral menggunakan dua motor DC sebagai aktuator yang digunakan sebagai penggerak robot.

Aktuator ini diimplementasikan menggunakan motor gear box dan wheel. Motor yang digunakan dapat bekerja antara 3 – 6 volt. Untuk wheel memiliki diameter 8 cm dan depth 3.25 cm.


Sensor HCSR04

2. ELEKTRONIKA


A. MIKROKONTROLLER ATmega 32


Board mikrokontroller berfungsi untuk memproses masukan sensor dan mengendalikan keluaran terhadap aktuator sesuai dengan pengendalian metode PI (Penalaan Ziegler-Nichols) yang telah diterapkan pada robot wall follower proporsional integral. Rangkaian dasar yang digunakan untuk mengoperasikan sebuah mikrokontroler disebut sebagai rangkaian sistem minimum. Rangkaian sistem minimum terdiri dari rangkaian osilator (cystal), sistem reset dan catu daya.


Datasheet ATMega32 


Papan mikrokontroller (board mikrokontroller) akan dibuat terpisah dan akan menjadi papan utama (main board) karena setiap masukan sensor akan terhubung langsung dengan papan mikrokontroller serta pemicu penggerak pada aktuator akan terhubung pada papan mikrokontroller.

B. Driver Motor l298


Driver Motor berfungsi untuk mengendalikan perputaran motor DC, driver motor yang digunakan menggunakan IC l298. IC L298D akan menerima masukan dari mikrokontroller dan memberikan respon terhadap motor DC. Driver ini digunakan untuk mngendalikan dua motor DC.


Aktuator robot yang nantinya akan di implementasikan

C. Driver LCD 16x2


Driver LCD berfungsi untuk lalu lintas/ penghubung I/O keluaran dengan mikrokontroler sehingga dapat menampilkan tulisan pada LCD. LCD akan menerima masukan dari mikrokontroller dan memberikan respon terhadap layar tampil. Driver ini digunakan untuk mngendalikan LCD 16 x 2 (16 kolom dan 2 baris).



Design robot wall follower , secara keseluruhan


3. ALGORITMA


A. Proses pencarian nilai Proporsional Integral (PI)


Dengan menggunakan metode penalaan Ziegler-Nichols diawali dengan menghidupkan robot (power on). kemudian sistem akan menampilkan kepada pengguna untuk memasukkan inputan Kp (Konstanta Proporsional) dan Ki (Konstanta Integral). Kemudian sistem akan mencari jarak robot pada dinding saat ini dan menghitung nilai error yang terjadi berdasarkan data yang telah dihasilkan dengan menggunakan sensor ultrasonik.

Flowchart Design : algoritma menghitung nilai Proporsional Integral


Sistem akan menghitung nilai proporsional integral (PI) , Setelah di dapat hasil perhitungan, robot akan bergerak sesuai nilai PI berdasarkan hasil pencarian. Pengguna dapat mengulang sistem dengan cara menekan push button reset.

Proses pencarian nilai Proporsional Integral (PI) dengan menggunakan metode penalaan Ziegler-Nichols diawali dengan menghidupkan robot (power on), kemudian sistem akan menampilkan kepada pengguna untuk memasukkan inputan Kp (Konstamta Proporsional) dan Ki (Konstanta Integral). Kemudian sistem akan mencari jarak robot pada dinding saat ini dan menghitung nilai error yang terjadi berdasarkan data yang telah dihasilkan dengan menggunakan sensor ultrasonik. Kemudian sistem akan menghitung nilai Proporsional Integral (PI), Setelah di dapat hasil perhitungan, robot akan bergerak sesuai nilai Proporsional Integral (PI) berdasarkan hasil pencarian. Pengguna dapat mengulang sistem dengan cara menekan push button reset.





Untuk implementasi dari beberapa rancangan di atas dapat dilihat pada Wall Follower Robot PI (Proportional Integral) PART II

Hal-hal Utama Untuk Membuat Sistem Tertanam



Beberapa hal yang perlu diperhatikan untuk membuat sistem embedded. Pemilihan mikrokontroller yang banyak dijumpai serta dokumentasi dengan baik adalah langkah yang paling penting.


1. Sediakan Mikrokontroler


Pilihlah mikrokontroler yang tersedia di pasaran agar lebih cepat untuk memulai membuat sistem tertanam (embedded system). Jika Anda kurang mengerti atau kurang mau disibukan dengan pekerjaan 'merangkai' maka sebaiknya Anda membeli kit modul mikrokontroler yang sudah jadi, sebaliknya jika Anda mau disibukkan dengan usaha merangkai elektronika maka sebaiknya kita kembali ke Open Up Requirement ATMega. Beberapa Board Mikrokontroler yang dapat dijumpai di pasaran :


1. Arduino2. ATmega3. Raspbery4. Bluebery5. MCS-51
Mikrokontroler yang banyak dijumpai

2. Pemilihan bahasa pemrograman

Bahasa pemrograman merupakan hal yang mutlak dikuasai untuk memulai membuat sistem tertanam (embedded system). Bahasa yang banyak dijumpai dan terdokumentasi dengan baik adalah bahasa C.


Software yang mendukung bahasa pemrograman sekaligus sistem tertanam



3. Software yang harus diikutsertakan. 


Ya tentu untuk mengimplementasikan sebuat algoritma yang Anda punya ke dalam sistem tertanam (embedded system), harus dengan menggunakan bahasa pemrograman. Untuk itu bahasa pemrograman harus dituang kedalam sourcecode yang nantinya akan di- compile oleh software compiler.



Beberapa software compiler bahasa C untuk pemrograman sistem tertanam : 

1. Codevision Evaluation
2. IDE Arduino
3. Atmel Studio



Tidak hanya untuk pemula, Setiap hal yang Anda lakukan di setiap project sistem tertanam (embedded system) apapun, harus menyertai dokumentasi yang di tulis untuk mengingat hal-hal apa saja yang telah dilakukan.

Tidak jarang setiap developer melupakan langkah ini, dan nantinya akan berguna untuk melakukan proses debuging . Buatlah pernyataan - pernyataan dalam kalimat pasif atau dalam bentuk per point serta gunakanlah tinta berwarna untuk setiap penekanan kata yang dianggap penting.


4. Peralatan pendukung lainnya. 

Berikutnya dalam membuat suatu sistem tertanam (embedded system) adalah alat-alat pendukung seperti downloader , solder , kabel penghubung dan adaptor kehadirannya sangat berpengaruh.

Downloader berfungsi untuk mengangkut semua file program (algoritma) dalam bentuk file *.hex ke dalam mikrokontroler. File ini berisi ratusan instruksi yang nantinya akan dieksekusi oleh mikroprosesor dalam mikrokontroler.
programmer usb asp

Sebagai developer sistem tertanam (embedded system) yang baru akan sangat rentan terkena serangan putus asa yang berkesinambungan :D. Oleh karena itu persiapan mental yang kuat sangat diperlukan untuk menghadapi kegagalan demi kegagalan yang akan diraih. Kebanyakan seorang pemula berangan-angan untuk langsung mencoba membuat sesuatu yang susah. Hal ini tidak dapat dibenarkan, sebaiknya mulailah dari projek yang mudah dahulu. Kemudian berangsur-angsur menaikkan tingkat kesusahannya . Selamat mencoba , semoga bermanfaat :)

ATmega 32, Open Up ATmega Requirements

Kali ini Penulis akan membahas tentang Mikrokontroler , sebelumnya Penulis sempat membahas Mikrokontroler VS Mikroprosesor pada postingan sebelumnya.

Mikrokontroler adalah Integrated Circuit (IC) yang berisi berbagai unit penting untuk melakukan pemrosesan data (I/O, timer, memory, Arithmatic Logic Unit (ALU) dan lainnya) sehingga dapat berlaku sebagai pengendali dan komputer sederhana.


Mikrokontroler ATmega32 produk dari AVR.

AVR berteknologi Reduced Instruction Set Computing (RISC) yang artinya dengan menggunakan jumlah instruksi yang lebih sedikit, memungkinkan untuk lebih meningkatkan kemampuan chip. Keuntungannya adalah kesederhanaan desain chip (lebih kecil), jumlah pin sedikit dan mengonsumsi sedikit daya .

Mikrokontroler AVR (Alf and Vegard’s Risc processor) standar memiliki 8 bit, dimana semua instruksi dikemas dalam kode 16-bit dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock.



Perancangan Board Mikrokontroler.

Rangkaian dasar yang digunakan untuk mengoperasikan sebuah mikrokontroler disebut sebagai rangkaian sistem minimum. Rangkaian sistem minimum terdiri dari rangkaian osilator (crystal), sistem reset dan catu daya. Berikut daftar komponen untuk ikut dirangkaikan pada board mikrokontroller:

No
Nama Komponen
Banyak
Fungsi
1.Mikrokontroller (ATmega32A)1Processor Utama
2.Crystall (12MHz)1Pembangkit Sinyal (oscilator)
3.Kapasitor nonpolar (22pF)2Komponen pendukung
4.Resistor 10k1Komponen pendukung
5.Kapasitor 10uF1Komponen pendukung
6Dioda 1N40021Komponen pendukung
7.IC 78051Pembagi tegangan sebesar 5 V
8.Kapasitor nonpolar (100 uF)1Komponen pendukung
9LED1Sebagai indikator
10Socket IC 40 PIN1Sebagai penyangga mikrokontroller.


Vcc = sumber tegangan atau 5 Volt atau 12 Volt.
Gnd = Ground atau 0 Volt.

Fitur ATmega32

  1. Performa tinggi, mikrokontroler berdaya rendah. 
  2. Mikrokontroler dengan arsitektur RISC 8 bit. 
  3. 131 kode instruksi dalam bahasa assembly, hampir semua membutuhkan satu clock untuk eksekusi. 
  4. Mempunyai 32 x 8 bit register kerja kegunaan umum (general purpose register). 
  5. Pengoperasian full static, artinya clock dapat diperlambat, bahkan dihentikan sehingga chip berada dalam kondisi sleep. CMOS juga lebih tahan terhadap noise. 
  6. Kecepatan mengeksekusi sampai dengan 16 mega instruksi per detik pada saat diberikan osilator sebesar 16 MHZ. 
  7. Terdapat rangkaian pengali 2 (dua) kali untuk siklus kerjanya di dalam chip. 


  8. Flash EEPROM (Electrically Eraseable Programmable Read Only Memory) sebesar 32 kilobyte yang dapat diprogram ulang dan dengan kemampuan Read While Write. 


  9. Ketahanan hapus-tulis Flash ROM adalah 10.000 kali dengan pengaturan pilihan kode boot dan Lock Bit yang independen. 
  10. Memori SRAM sebesar 2 kilobyte yang dapat dihapus-tulis 100.000 kali. 
  11. penguncian kode program untuk keamanan perangkat lunak agar tidak dapat dibaca. 
  12. Memori yang non-volatile EEPROM sebesar 1024 byte. 
  13. Memiliki 2 buah timer/counter 8 bit sebanyak 2 buah dan sebuah timer/counter 16 bit dengan opsi PWM sebanyak 4 kanal. 
  14. Memiliki 8 kanal Analog to Digital Converter 10 bit dengan jenis single ended. 
  15. Untuk kemasan TQFP ADC dapat diatur 7 buah kanal jenis diferensial dan khusus 2 kanal dengan penguatan yang dapat diatur melalui registernya sebesar 1x, 10x atau 20x. 
  16. Antarmuka komunikasi serial USART yang dapat diprogram dengan kecepatan maksimal 2,5 Mbps. 
  17. Antarmuka SPI master / slave. 
  18. Watchdog timer dengan osilator di dalam chip yang dapat diprogram. 
  19. Komparator Analog di dalam chip. 
  20. Pendeteksian teganga\n gagal yang dapat diprogram. 
  21. Osilator RC internal yang terkalibrasi. 
  22. Sumber interupsi internal dan eksternal. 
  23. Pilihan Mode sleep : idle, pereduksi noise ADC, penghematan daya konsumsi, penurunan daya, kondisi standby. 
  24. 32 Pin masukan dan keluaran terprogram. 
  25. Terdapat pilihan kemasan PDIP 40 pin,TQFP 44 kaki, QFN/MLF 44 titik. 
  26. Tegangan pengoprasian: 
  27. 2,7 – 5,5 Volt untuk ATMega32L 
  28. 4,5 – 5,5 Volt untuk ATMega32
    (*diambil dari datasheet ATmega32)

Nomor Pin
Nama
Fungsi
10
VCC
Catu daya positif
11, 31
GND
Catu daya negative/ground
30
AVCC
Catu daya positif untuk ADC internal
32
AREF
Pin untuk tegangan referensi ADC
1 – 8
PB7…PB0
Pin masukan dan keluaran Port B
33 – 40
PA7…PA0
Pin masukan dan keluaran Port A
14 – 21
PD7…PD0
Pin masukan dan keluaran Port D
22 – 29
PC7…PC0
Pin masukan dan keluaran Port C
9
RESET
Pin masukan untuk reset (active low)
12, 13
XTAL1 dan 2
Pin untuk masukan osilator eksternal



Memprogram Mikrokontroler ATMega32

Untuk membuat program mikrokontroler ATMega32 digunakan editor dan compiler untuk bahasa C (AVR studio). Setelah proses pembuatan dan kompilasi program selesai dilakukan akan diperoleh file intel hex (*.hex). File ini adalah file yang nantinya akan diprogramkan ke mikrokontroler ATMega32 melalui interface ISP (In System Programming) yang terhubung dari port Mikrokontroler melalui antarmuka port USB komputer.
usb_isp_programmer alat untuk memasukkan program (*.hex) ke mikrokontroler

ATmega requirements (persyaratan yang harus di penuhi) berlaku untuk semua jenis ATmega, pada umum nya ATmega32, ATmega16 dan ATmega8535 mempunyai requirements yang sama hanya saja kapasitas memori yang berbeda . Semoga bermanfaat :)



Arduino and Android menggunakan HC-05 Module Bluetooth


Menggunakan bluetooth HC-05 dengan subjek Arduino and Android with HC-05 merupakan pilihan yang tepat , karena dapat berfungsi sebagai master dan slave untuk istilah jaringan ialah seperti server dan client. Hati - hati pada saat pembelian , kiranya dapat diperhatikan apakah modul bluetooth tersebut telah mempunyai regulator 3.3 volt ? jika ternyata belum maka modul akan terlihat seperti gambar di bawah ini yang paling kanan (modul bluetooth ). Dalam hal menggunakan mikrokontroler biasa seperti ATmega atau lainnya, Karena modul blueetoth hanya bekerja ada voltase 3.3 volt , Maka harus dibuat sebuah konverter yang fungsinya untuk merubah voltase 5 volt ke 3.3 volt.

Komunikasi Arduino dan Bluetooth

Pada konsep Arduino and Android with HC-05 dengan menggunakan arduino uno memiliki kekurangan dan kelebihan. Untuk kelebihannya jika kita menemukan modul bluetooth tanpa adanya konverter 3.3 volt maka arduino telah memiliki konverter itu. Dengan begitu tidak memerlukan konverter tambahan seperti yang telah disebutkan di atas. Kekurangan dalam penggunaan modul Arduino ini , yaitu Ukuran yang terlalu besar untuk membuat projek yang mungkin hanya memerlukan ukuran yang kecil.

Arduino Uno


Selanjutnya dirangkai Arduino seperti yang terlihat pada gambar 202.1 di atas PIN Transmitter (Bluetooth) di hubungkan ke PIN Receiver (Arduino) sedangkan PIN Receiver (Bluetooth) dihubungkan ke PIN Transmitter (Arduino). Proses seperti ini dinamakan komunikasi serial karena pengiriman data dilakukan oleh satu saluran pengiriman.

jangan pernah menghubungkan vcc (power) dari bluetooh ke gnd (ground) Arduino atau sebaliknya.

Aplikasi Android

Untuk aplikasi di Android dengan menggunakan SENA BTerm yang ditemui di Playstore Android atau dapat membuat aplikasi Android sendiri pada postingan Belajar Membuat Aplikasi System Embedded di Android. Sebaik nya Fokuslah pada merangkai sistem hardware terlebih dahulu.


Program Arduino

Ketikkan source program yang ada di bawah ini ,

/*
 * Change the BT device name
 *
 * This works with a Bluetooth terminal. The user is prompted for a new
 * name which is then written to HC-05.
 *
 */

#include 
SoftwareSerial bluetooth(10,11);
byte BluetoothData; //data given from computer
int ledpin=13; // led on D13 will show blink on / off
void setup()
{
  //Serial1.begin(38400);
  bluetooth.begin(9600);
//  ddam.println("Bluetooth On");
  pinMode(ledpin,OUTPUT);
}  


void loop(){
  if (bluetooth.available()!=0){
   bluetooth.write("bluetooth on ");
    BluetoothData = bluetooth.read();
   switch (BluetoothData){
     case 's':
              digitalWrite(ledpin,HIGH);
            
              bluetooth.write("LED  On D13 ON ! ");
              break;
            
     case 'S':
              digitalWrite(ledpin,HIGH);
           
              bluetooth.write("LED  On D13 ON ! ");
              break;
       
     case 'b':
              digitalWrite(ledpin,LOW);
             
              bluetooth.write("LED  On D13 Off ! ");
              break; 
     case 'B':
              digitalWrite(ledpin,LOW);
             
              bluetooth.write("LED  On D13 Off ! ");
              break;  
   }
   delay(100);
  }
}



Keterangan :

Ketika input yang diterima oleh arduino berupa string s (kecil) maka arduino akan memproses di dalam switch case kemudian dari instruksi :

             digitalWrite(ledpin,HIGH);

Maka pin 13 pada arduino berlogika HIGH atau memiliki tegangan 5 volt yang nantinya akan menyalakan led smd yang terdapat dalam board Arduino.

            bluetooth.write("LED  On D13 ON ! ");

sedangkan pada perintah ini bluetooth akan kembali mengirim data kembali kepada Android untuk ditampilkan "LED On D13 On !" pada layar SENA Bterm.

Transmisi melalui bluetooth hanya mampu mempunyai jarak sekitar 10 meter tanpa halangan, atau lebih kecil 6 meter dengan halangan. Harap menjadi perhatian tersendiri ketika memilih projek dengan jangkauan yang lebih jauh dari jarak tersebut.
Semoga bermanfaat :)