Universitas Gadjah Mada Menara Ilmu Mikrokontroller
Universitas Gadjah Mada
  • Home
  • Kabar Terkini
  • Artikel
    • Teknologi Mikrokontroler
    • Sensor
    • Pemrograman
    • Penelitian
  • Profil
  • Forum
  • Beranda
  • Pemrograman
Arsip:

Pemrograman

Program Tombol/Button

Pemrograman Tuesday, 2 October 2018

Button atau tombol berfungsi sebagai input sederhana untuk Arduino. Button digunakan untuk menyambungkan sinyal HIGH atau LOW pada pin Arduino sehingga dapat dikenali sebagai input saat button ditekan. Pada contoh diperlihatkan cara sederhana sebuah button mengatur output lampu LED pada pin 13. Terdapat 2 button dalam Integrated input yang dapat digunakan dengan menghubungkan pin tombol ke pin digital Arduino, pin com ke pin vcc Arduino dan pin gnd tsop pada pin gnd Arduino.

1. Kebutuhan

  • Arduino UNO
  • Button 1 buah
  • 10K Ohm resistor 1 buah
  • Breadboard
  • Kabel

2. Skematik

Gambar 1. Skematik Untuk Pemasangan Langsung Button Dan Resistor Pada Arduino.

Gambar 2. Pemasangan Button Dan Resistor Pada Arduino,

 Input Button Di Masukkan Ke Pin 2 Arduino.

3. Program

const int buttonPin = 2; // deklarasi konstanta untuk button pada pin 2

const int ledPin = 13; // deklarasi konstanta untuk pin LED pada pin 13

int buttonState = 0; // deklarasi variabel untuk status button(ditekan atau tidak)

void setup()
{

// inisiasi LED pin sebagai Output

pinMode(ledPin,OUTPUT);

// inisiasi buttonPin sebagai Input

pinMode(buttonPin,INPUT);

}

void loop()

{

// membaca sinyal digital pada pin button

buttonState = digitalRead(buttonPin);

// melakukan pengecekan saat button ditekan

// saat button ditekan(HIGH) maka

  if(buttonState == HIGH)
  {

   // LED menyala

   digitalWrite(ledPin,HIGH);}

  else
  {    //atau

   // LED mati

   digitalWrite(ledPin,LOW);

  }

}

4. Video

Program Relay

Pemrograman Tuesday, 2 October 2018

Relay adalah output yang dapat digunakan sebagai switch atau saklar untuk perangkat lain. Relay dikontrol dengan tegangan dari pin Arduino sehingga dapat melakukan switch. Terdapat 3 koneksi utama yaitu COM untuk input dari perangkat lain. NC(Normaly Close) pada keadaan biasa com akan terhubung ke pin NC. NO(Normaly Open) pada keadaan biasa tidak terhubung, namun saat relay mendapat tegangan dari Arduino maka COM akan berpindah dari NC dan terhubung dengan NO.

1. Kebutuhan

  • Arduino UNO
  • (1)Relay Module
  • Kabel

2. Skematik

Gambar 1. skematik hubungan modul relay ke Arduino, vcc dan gnd modul terhubung ke 5V dan GND Arduino, sedangkan pin sinyal terhubung ke pin 9 Arduino.

3. Program

const int relay = 9; // deklarasi konstanta untuk relay pada pin 9

void setup()

{

   pinMode(relay, OUTPUT); //deklarasi relay sebagai output

}

void loop()

{

   analogWrite(relay, 255);//menulis sinyal analog ke pin relay untuk menghubungkan COM ke NO

   delay(3000);    // menunggu 3000 milidetik

   analogWrite(relay, 0);    //menulis sinyal analog pin relay untuk menghubungkan COM ke NC

   delay(3000);    // menunggu 3000 milidetik

}

4. Video

Program Potensiometer

Pemrograman Tuesday, 2 October 2018

Potensiometer adalah komponen elektronik yang berupa resistor dengan nilai resistansi yang dapat diatur. Karena nilai resistansi yang dapat diatur maka potensio dapat menghambat tegangan dan memvariasikan tegangan yang melewatinya. Nilai keluaran potensio dapat berupa tegangan yang dapat dibaca oleh ADC Arduino. Dengan cara ini maka Arduino dapat mengetahui nilai tegangan keluaran dari potensio. Potensio dapat digunakan sebagai input control atau dapat digunakan juga sebagai simulasi untuk sensor dengan sifat resistif. Potensiometer terdapat dalam integrated input dan dapat digunakan dngan menghubungkan pin 1 pada vcc, pin 2 pada pin analog Arduino, dan pin 3 pada gnd.

1. Kebutuhan

  • Arduino UNO
  • (1) Potensiometer
  • Kabel

2. Skematik

Gambar 1. skematik pemasangan potensiometer pada Arduino.

Pin tengah potensio sebagai output dihubungkan ke pin A2 Arduino untuk pembacaan sinyal analog. Sedangkan pin samping potensio dihubungkan ke 5V dan GND agar terjadi pembagian tegangan.

3. Program

contoh 1 :

//program mengendalikan waktu nyala dan mati LED berdasarkan nilai potensio

int potPin = A2; // deklarasi pin 2 untuk input potensio

int ledPin = 13; // deklarasi pin 13 untuk LED

int val = 0; // deklarasi variabel untuk penyimpanan data pembacaan

void setup()
{

 pinMode(ledPin, OUTPUT); // deklarasi pinLED sebagai output

}

void loop()
{

 val = analogRead(potPin); // memasukan nilai pembacaan analog pin potensio ke variabel val

 digitalWrite(ledPin,HIGH); // menyalakan LED

 delay(val); // menunggu selama nilai variabel val

 digitalWrite(ledPin,LOW); // mematikan LED

 delay(val); // menunggu selama nilai variabel val

}

contoh 2 :

//program menampilkan nilai pembacaan potensio pada terminal serial

void setup()
{

 //deklarasi komunikasi serial dengan baudrate 9600

 Serial.begin(9600);

}

void loop()
{

 int sensorValue = analogRead(2); // memasukan nilai pembacaan analog pin potensio ke variabel sensorValue

 Serial.println(sensorValue); //menulis nilai sensorValue melalui komunikasi serial

}

Program Photodioda

Pemrograman Tuesday, 2 October 2018

Protodioda adalah sensor untuk cahaya yang berfungsi seperti resistor. Saat terkena cahaya photodiode akan berubah nilai resistansinya sehingga photodiode dapat digunakan untuk mengetahui intensitas cahaya.

1. Kebutuhan

  • Arduino UNO
  • (1) Photodioda
  • Kabel
  • (1) Resistor
  • Breadboard

2. Skematik

Gambar 1. Photodioda

 

Gambar 2. skematik pemasangan photodiode sebagai sensor cahaya.

Photodiode ditempatkan terbalik pada bagian GND dan outputnya ke ADC Arduino.

Gambar 3. pemasangan photodiode dengan Arduino, pembacaan nilai photodiode pada pin A0 Arduino

3. Program

//program pembacaan nilai tegangan hasil dari sensor photodioda

void setup(void)
{

 //deklarasi untuk setting komunikasi serial pada baudrate 9600

 Serial.begin(9600);

}

void loop(void)
{

 int pinRead0 = analogRead(A0);
//pembacaan nilai ADC pada pin A0

 float pVolt0 = pinRead0 / 1024.0 * 5.0;    // konversi nilai ADC yang dibaca ke Volt

 Serial.print(pVolt0);    //menulis nilai konversi Volt melalui komunikasi serial

 Serial.println();

 delay(100);
 // menunggu selama 100 mili detik

}

 

Program Motor Stepper

Pemrograman Tuesday, 2 October 2018

Motor stepper adalah motor yang dikendalikan dengan input digital menghasilkan step-step yang digunakan untuk mengontrol sudut dari motor. Motor stepper memiliki torsi yang besar sehingga kuat dan presisi. Untuk mengontrol motor stepper diperlukan driver, karena motor stepper membutuhkan tegangan dan arus yang cukup besar. Pada contoh digunakan power dari Arduino yaitu 5V cukup aman karena program menggunakan kecepatan motor stepper yang rendah, namun sebaiknya gunakan power eksternal dari baterai atau adaptor untuk motor stepper agar dapat berjalan lebih baik dan tidak beresiko merusak Arduino.

1. Kebutuhan

  • Arduino UNO
  • Modul motor Driver
  • Motor Stepper
  • kabel
  • Library accel stepper

2. Skematik

Gambar 1. keterangan pin dan komponen pada modul motor driver.

konektor motor stepper dapat langsung digunakan, jumper digunakan untuk menghidupkan dan mematikan motor. Dc power dihubungkan ke power dari baterai atau adaptor dengan tegangan antara 5-12V.

Gambar 2. skematik isi motor stepper dan konigurasi urutan input digital untuk menggerakkan motor stepper

Gambar 3. pemasangan motor stepper ke driver, dan pemasangan driver ke Arduino, pin 6, 5, 4, dan 3 digunakan sebagai pengontrol driver motor.

3. Program

#include <AccelStepper.h> //library motor stepper

#define HALFSTEP 8        // definisi jumlah step

// definisi pin Arduino pada driver motor

#define motorPin1 6 // IN1 pada ULN2003 driver 1

#define motorPin2 5 // IN2 pada ULN2003 driver 1

#define motorPin3 4 // IN3 pada ULN2003 driver 1

#define motorPin4 3 // IN4 pada ULN2003 driver 1

// inisiasi urutan pin IN1-IN3-IN2-IN4 untuk library AccelStepper dengan motor 28BYJ-48

AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);

void setup()
{

 stepper1.setMaxSpeed(1000.0);    //setting kecepatan maksimal motor

 stepper1.setAcceleration(100.0); //setting akselerasi

 stepper1.setSpeed(200);            //setting kecepatan

 stepper1.moveTo(3000);        //setting untuk bergerak 3 putaran penuh

}

void loop()
{

 //bila sampai posisi(3000) rubah ke posisi kealikan(berbalik arah)

 if (stepper1.distanceToGo() == 0)
 {

  stepper1.moveTo(-stepper1.currentPosition());

  Serial.println(stepper1.currentPosition());

 }

 stepper1.run(); // perintah menjalankan motor stepper

}

 

123…5
Universitas Gadjah Mada

Menara Ilmu Mikrokontroler FMIPA
Universitas Gadjah Mada
Kontak :
roghib.muh@ugm.ac.id
+62 856-4781-7270

© Universitas Gadjah Mada

KEBIJAKAN PRIVASI/PRIVACY POLICY