Anda di halaman 1dari 5

Tugas Pertemuan Ke – 2

Bab 2 : Pemrograman Mikrokontroller


Nama Andi Muh Haekal Raflie
Nim 1518087
Kelas
Pemberi Tugas

1. Nama projek yang ditugaskan ()


A. Design GUI

B. Tabel Komponen
No. Nama Komponen Keterangan
1 Arduino R3 U1
2 Micro servo SERVO1
3 Push button S1,S2,S3
4 Red LED D1,D2,D3

C. Source Code

#include <Servo.h>

Servo myservo;

1
#praktikumsistemembedded2020
int Button1 = 4;
int Button2 = 5;
int Button3 = 6;
int led1 = 13;
int led2 = 12;
int led3 = 11;

int pos = 0; // posisi 0


int delayPeriod = 2; // delay servo

void setup()
{
myservo.attach(9); // pin9 object
myservo.write(pos); // center
pinMode(Button1 , INPUT_PULLUP); // pullup resistors
pinMode(Button2 , INPUT_PULLUP);
pinMode(Button3 , INPUT_PULLUP);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);

void loop()
{
if (digitalRead(Button1) == LOW)
{

myservo.write(0);
delay(delayPeriod);
digitalWrite (led1, HIGH);
}
else {
digitalWrite (led1,LOW);
}

if (digitalRead(Button2) == LOW)
{

myservo.write(90); // posisi
delay(delayPeriod);
digitalWrite (led2, HIGH);
}
else {
digitalWrite (led2,LOW);

2
#praktikumsistemembedded2020
}

if (digitalRead(Button3) == LOW)
{

myservo.write(180); // posisi
delay(delayPeriod);
digitalWrite (led3, HIGH);
}
else {
digitalWrite (led3,LOW);
}
}

D. Breakdown Source Code


Jelaskan maksud dan tujuan dari source code yang anda buat dengan bahasa anda
sendiri, buatlah sedetil mungkin dan bisa memberi highlight pada setiap baris /
kelompok source code yang dibuat. Semakin detail alur breakdown yang dibuat,
menambah nilai dari setiap tugas pertemuannya.

#include <Servo.h>

Servo myservo;
int Button1 = 4;
int Button2 = 5;
int Button3 = 6;
int led1 = 13;
int led2 = 12;
int led3 = 11;

int pos = 0; // posisi 0


int delayPeriod = 2; // delay servo

Source Diatas ditujukan untuk membuat variabel global yang diletakkan diatas fungsi
void setup{} yang berupa deklarasi pin yang berada di arduino dengan pemanggilan
library servo , lalu button 1 pada pin d4, button 2 pada pin d5, button 3 pada pin d6.
Lalu led 1 pada d13,led2 pada d12 , led 3 pada d11. Lalu kita tentukan posisi servo
pada 0 derajat dan delay periode servo.
void setup()
{
myservo.attach(9); // pin9 object

3
#praktikumsistemembedded2020
myservo.write(pos); // center
pinMode(Button1 , INPUT_PULLUP); // pullup resistors
pinMode(Button2 , INPUT_PULLUP);
pinMode(Button3 , INPUT_PULLUP);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);

Source diatas ditujukan untuk mendeklarasikan bahwa servo pada pin 9 dan kita
memastikan servo ada di pos (0) lalu kita deklarasikan led dengan output dan button
dengan INPUT_PULLUP sebagai pengaktifan pullup resistor

void loop()
{
if (digitalRead(Button1) == LOW)
{

myservo.write(0);
delay(delayPeriod);
digitalWrite (led1, HIGH);
}
else {
digitalWrite (led1,LOW);
}

if (digitalRead(Button2) == LOW)
{

myservo.write(90); // posisi
delay(delayPeriod);
digitalWrite (led2, HIGH);
}
else {
digitalWrite (led2,LOW);
}

if (digitalRead(Button3) == LOW)
{

myservo.write(180); // posisi
delay(delayPeriod);
digitalWrite (led3, HIGH);
}

4
#praktikumsistemembedded2020
else {
digitalWrite (led3,LOW);
}
}
Source diatas ditujukan untuk mendeklarasikan pengulangan / looping , pada loop ini
kita menggunakan perulangan dengan deklarasi jika button di tekan maka servo akan
bergerak dengan posisi derajat yang sudah di tentukan dan led akan menyala lalu jika
tidak maka servo diam lalu led mati

E. Link project
https://www.tinkercad.com/things/kQDG8SeF8dC-button-servo-led/editel?
sharecode=c5icxAMwLyVYaszaZjfHpOLGv7jz-8xdPu6b7RPY5Is

5
#praktikumsistemembedded2020

Anda mungkin juga menyukai