Jumat, 11 April 2014

Membaca masukan Digital (Tombol), kirim ke monitor PC (Serial)

Contoh ini menunjukkan bagaimana memantau switch / tombol apakah ditekan atau tidak dengan menggunakan komunikasi serial antara Arduino dan komputer melalui USB.

Hardware yang Diperlukan

  1. Board Arduino
  2. Tombol / Switch / Toggle
  3. Resistor 10 KOhm
  4. Papan penyimpan komponen seperti Protoboard / Proyekboard (optional)
  5. Kabel penghubung (optional)

Sirkuit


Skema simulasi
Gambar 1: Skema simulasi


Pertama-tama hubungkan Pin 2 Arduino (pin digital) ke satu kaki tombol, kemudian kaki tombol yang lainya ke Ground. Sambungkan pula kaki resistor yang satu diantara kaki resistor dan pin 2 Arduino, dan satu kakinya lagi ke VCC (lihat dengan teliti pada Gambar 1). COM pada Gambar 1 hanya untuk simulasi saja, sedangkan pada aplikasinya, sudah otomatis tertanam pada board Arduino.

Kode

Dalam program di bawah ini, hal pertama yang dilakukan dalam fungsi setup adalah memulai komunikasi serial, dengan 9600 bit data per detik:
Serial.begin(9600);
Selanjutnya, menginisialisasi pin digital 2, pin yang akan membaca output dari tombol, sebagai masukan (input):
pinMode(2,INPUT);
Sekarang setup Anda telah selesai, tinggal mengisi kode loop utama. Ketika tombol ditekan, tegangan 5 volt akan mengalir melalui sirkuit, dan jika tidak ditekan, pin input akan terhubung ke Ground melalui resistor 10 KOhm. Ini adalah input digital, yang berarti bahwa saklar hanya bisa ON (dilihat oleh Arduino sebagai "1", atau TINGGI) atau keadaan OFF (dilihat oleh Arduino sebagai "0", atau LOW).

Hal pertama yang perlu dilakukan dalam loop utama adalah menetapkan variabel untuk menyimpan informasi dari tombol. Karena informasi dari saklar akan "1" atau "0", Anda dapat menggunakan tipe data int dengan nama variabel sensorValue yang akan diisi oleh nilai pin 2 Arduino:
int sensorValue = digitalRead(2);
Setelah Arduino telah membaca input, data akan dikirim ke komputer sebagai nilai desimal melalui serial komunikasi USB. Anda dapat melakukan ini dengan perintah Serial.println():
Serial.println(sensorValue);
Sekarang, ketika Anda membuka Serial COM dalam lingkungan Arduino, akan terlihat aliran data "0" jika saklar tidak ditekan, atau "1" jika saklar ditekan.

Hasil percobaan
Gambar 2: Hasil percobaan


Hasil akhir kode program:
// Memberi nama pin digital 2
int pushButton = 2;

void setup() {
  // Inisialisasi komunikasi serial dengan baudrate 9600 bits per detik:
  Serial.begin(9600);
  // Pin tombol sebagai input
  pinMode(pushButton, INPUT);
}

void loop() {
  // Membaca input pin tombol
  int buttonState = digitalRead(pushButton);
  // Mengirim data hasil input
  Serial.println(buttonState);
  delay(1000);        // Tunggu selama 1 detik
}

5 komentar :

  1. Bagaimana cara mengirim data ke pc dengan 2 board arduino ?

    BalasHapus
  2. Bagaimana cara mengirim data ke pc dengan 2 board arduino ?

    BalasHapus
  3. ada beberapa solusi:
    1. Gunakan terminal terlebih dahulu untuk menampung data dari dua arduino tersebut, baru setelah itu dari terminal kirim ke komputer. tapi ini membutuhkan arduino atau sistem lain sebagai pihak ke tiga.
    2. Gunakan salah satu arduino (misalkan A) dari kedua arduino tersebut (A dan B) untuk menerima data dari arduino B. tapi membutuhkan source program yang lumayan juga

    BalasHapus