Advertisement

Belajar Arduno dengan Shield Multifungsi : Membaca Input Button

0 2,214

Sebelumnya telah dibahas bagaimana menggunakan buzzer pada shield multifungsi dengan menggunakan library PWM pada TimerOne. Kali ini embeddednesia akan mengulas tentang bagaimana menggunakan button pada yang disediakan oleh Shield Multifungsi.

  • Prasyarat Perangkat Keras

Diasumsikan pembaca telah memiliki perangkat keras yang ada di daftar berikut. Tautan halaman pembelian juga telah disertakan sebagai rekomendasi jika pembaca belum memiliki perangkat tersebut dan ingin membelinya di toko online terpercaya

  1. Arduino Uno (klik disini untuk tautan ke halaman pembelian)
  2. Shield Multifungsi  (klik disini untuk tautan ke halaman pembelian)

  • Schematics

Berikut adalah skematik dari shield multifungsi

Pada konteks sesi tulisan ini tentang push button pembaca dapat memperhatikan bahwa pushbutton di segmen gambar pojok kiri bawah S1, S2, S3 berturut – turut terhubung dengan jalur A1, A2, A3 pada Header 6.

 

Adverstiment

  • Library

Beberapa library yang diperlukan untuk tutorial ini adalah

  1. TimerOne
  2. Software i2C
  3. Multifunction Shield

Cara instalasi library bisa anda pelajari di website resmi Arduino berikut.  Pada tulisan ini embeddednesia mengasumsikan bahwa pembaca telah berkenalan dengan arduino sebelumnya, jika anda baru mengetahui dan belum berkenalan dengan arduino, silahkan baca postingan embeddednesia yang sebelumnya

  • Program Membaca Button

Berikut adalah program yang berfungsi untuk membaca masukan dari push button lalu mengirimkan datanya melalui serial.


#include <TimerOne.h>
#include <Wire.h>
#include <MultiFuncShield.h>
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Timer1.initialize();
MFS.initialize(&Timer1); // initialize multi-function shield library
}
void loop() {
// put your main code here, to run repeatedly:
byte btn = MFS.getButton(); // Normally it is sufficient to compare the return
// value to predefined macros, e.g. BUTTON_1_PRESSED,
// BUTTON_1_LONG_PRESSED etc.
if (btn)
{
byte buttonNumber = btn & B00111111;
byte buttonAction = btn & B11000000;
Serial.print("BUTTON_");
Serial.write(buttonNumber + '0');
Serial.print("_");
if (buttonAction == BUTTON_PRESSED_IND)
{
Serial.println("PRESSED");
}
else if (buttonAction == BUTTON_SHORT_RELEASE_IND)
{
Serial.println("SHORT_RELEASE");
}
else if (buttonAction == BUTTON_LONG_PRESSED_IND)
{
Serial.println("LONG_PRESSED");
}
else if (buttonAction == BUTTON_LONG_RELEASE_IND)
{
Serial.println("LONG_RELEASE");
}
}
}
view raw

button.ino

hosted with ❤ by GitHub

Perhatikan bahwa pada setup(), terdapat 3 inisialisasi

    • pada baris 7 yang merupakan inisialisasi serial dengan baud rate 9600
    • Inisialisasi TIMER1pada baris 8
    • Inisialisasi Shield Multifungsi dengan menggunakan TIMER1di baris 9

Untuk melihat program library yang tersembunyi, seperti TimerOne dan MultiFuncShield. Programmer dapat membaca source nya di [Sketchbook Location]\libraries

Compile dan Upload program Arduino. Jalankan Serial Monitor dan tekan 3 push button pada shield, perhatikan keluaran yang dihasilkan.

Tinggalkan Balasan

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.