Anda di halaman 1dari 7

LAPORAN PRAKTIKUM

MICROCONTROLLER
LABORATORIUM INSTRUMENTASI

Disusun Oleh :

Nama : Yardan Akbar Waliudin


NIM : 221440010
Kelas : Instrumentasi II
Prodi : Teknik Instrumentasi Kilang
Dosen : Wasis Waskito, M.T

KEMENTRIAN ENERGI DAN SUMBER DAYA MINERAL


BADAN PENGEMBANGAN SUMBER DAYA ENERGI DAN
MINERAL
POLITEKNIK ENERGI DAN MINERAL AKAMIGAS

Cepu, Januari 2024


A. HASIL LAPORAN
Program 1 (Percobaan) : https://wokwi.com/projects/387765136794966017

const int buttonPin = 2;


const int ledPin = 13;
int buttonState = 0;
void setup(){
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop(){
buttonState = digitalRead(buttonPin);
if (buttonState == LOW) {
digitalWrite(ledPin, HIGH);
}
else {
digitalWrite(ledPin, LOW);
}
}

Program percobaan pertama menggunakan pushbutton sebagai input dengan pin


digital pada arduino nomor 2 dan outputan menggunakan lampu LED pin digital
arduino nomor 13. Dengan codingan yang sederhana, ketika pushbutton ditekan
maka LED akan nyala.

Latihan 1 (https://wokwi.com/projects/387766311010400257)
1. Buatlah eksperimen dengan meggunakan 2 tombol Push Button untuk mengontrol
nyala pada LED di pin 13.- Jika tombol 1 On, LED nyala- Jika tombol 2 On, LED
padam
int led=13;
int pb1=2;
int pb2=3;

void setup(){
pinMode(led,OUTPUT);
pinMode(pb1,INPUT);
pinMode(pb2,INPUT);
}

void loop(){
if(digitalRead(pb1)==HIGH){
digitalWrite(led,HIGH);
}if(digitalRead(pb2)==HIGH) {
digitalWrite(led,LOW);
}
}

Program diatas menggunakan komponen 2 pushbutton dan 1 led. Inputan


terletak pada pin 2 dan pin 3 dengan inputan pushbuttonnya itu. Sedangkan
untuk outputan adalah Led dengan pin 13. Program dirancang dengan logika
ketika pushbutton merah ditekan maka lampu led menyala dan ketika
pushbutton hijau di tekan maka lampu akan mati.

Latihan 2 (https://wokwi.com/projects/387769464857919489)
2. Buatlah eksperimen seperti gambar diatas.
- Jika saklar On, LED nyala dari 0-255 dg step 5 kemudian dari 255-0
dengan step yg sama.
- Jika saklar Off LED padam.

const int switchPin = 2; // Pin untuk saklar


const int ledPin = 9; // Pin untuk LED

void setup() {
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
}

void loop() {
int switchState = digitalRead(switchPin);

if (switchState == HIGH) {
// Jika saklar On, ubah intensitas LED dari 0 ke 255
dengan step 5
for (int i = 0; i <= 255; i += 5) {
analogWrite(ledPin, i);
delay(50);
}

// Ubah intensitas LED dari 255 ke 0 dengan step 5


for (int i = 255; i >= 0; i -= 5) {
analogWrite(ledPin, i);
delay(50);
}
} else {
// Jika saklar Off, matikan LED
analogWrite(ledPin, 0);
}
}

Codingan diatas dirancang ketika pushbutton ditekan maka lampu led


intensitas cahayanya dari gelap ke terang, dan dari terang ke gelap. Namun,
ketika pushbuttonnya tidak ditekan maka lampu led tetap off. Komponen
perancangan menggunakan 1 pushbutton sebagai input dan 1 led sebagai
outputan.

Latihan 3 (https://wokwi.com/projects/387771246642586625)
Buat program dengan ketentuan sebagai berikut:
- Ketika saklar 1 On, LED menyala dari LED-1 menuju ke LED-4.
- Jika saklar 2 On, maka reset (semua LED padam).
- Jika saklar 1 On lagi, maka nyala LED-1 menuju ke LED-4 dilaksanakan kembali.

const int switchPin1 = 2; // Pin untuk saklar 1


const int switchPin2 = 3; // Pin untuk saklar 2
const int ledPins[] = {5, 6, 9, 10}; // Pin awal untuk LED
const int numLEDs = 4; // Jumlah LED

void setup() {
pinMode(switchPin1, INPUT);
pinMode(switchPin2, INPUT);
for (int i = 0; i < numLEDs; ++i) {
pinMode(ledPins[i], OUTPUT);
}
}

void loop() {
int switchState1 = digitalRead(switchPin1);
int switchState2 = digitalRead(switchPin2);

if (switchState2 == HIGH) {
// Jika saklar 2 On, reset (matikan semua LED)
for (int i = 0; i < numLEDs; ++i) {
digitalWrite(ledPins[i], LOW);
}
} else if (switchState1 == HIGH) {
// Jika saklar 1 On, nyalakan LED dari LED-1 menuju LED-4
for (int i = 0; i < numLEDs; ++i) {
digitalWrite(ledPins[i], HIGH);
delay(500); // Delay untuk efek animasi, sesuaikan sesuai
keinginan
digitalWrite(ledPins[i], LOW);
}
}
}

Program diatas dirancang menggunakan 4 LED sebagai outputan dan 1 switch


sebagai inputan. Ketika switch dalam posisi on maka LED akan bergerak dari kanan
ke kiri (LED 1-4). Sedangkan, ketika dalam posisi on switch 2 LED akan mereset
dan ketika dalam posisi on saklar 1 LED akan bergerak dari kanan ke kiri.

Latihan 4 (https://wokwi.com/projects/387772028128580609)
Buat program untuk kontrol kecepatan nyala LED (rotasi kanan dan kiri)
menggunakan switch input,
- jika Sw2 On, maka delay-nya paling besar/lambat (1000ms) dan bila Sw1 On
delay-nya paling kecil/cepat (100ms)

const int switchPin1 = 2; // Pin untuk switch 1


const int switchPin2 = 3; // Pin untuk switch 2
const int ledPins[] = {5, 6, 9, 10}; // Pin untuk LED
const int numLEDs = 4; // Jumlah LED

int delayTime[] = {500, 500, 500, 500}; // Array delay untuk setiap
LED, default 500ms

void setup() {
pinMode(switchPin1, INPUT);
pinMode(switchPin2, INPUT);
for (int i = 0; i < numLEDs; ++i) {
pinMode(ledPins[i], OUTPUT);
}
}

void loop() {
int switchState1 = digitalRead(switchPin1);
int switchState2 = digitalRead(switchPin2);

// Bila switch 2 dinyalakan, set delayTime menjadi paling besar


(1000ms) untuk semua LED
if (switchState2 == HIGH) {
for (int i = 0; i < numLEDs; ++i) {
delayTime[i] = 1000;
}
}
// Bila switch 1 dinyalakan, set delayTime menjadi paling kecil
(100ms) untuk semua LED
else if (switchState1 == HIGH) {
for (int i = 0; i < numLEDs; ++i) {
delayTime[i] = 100;
}
}

// Nyalakan LED dan putar ke kanan untuk setiap LED


for (int i = 0; i < numLEDs; ++i) {
digitalWrite(ledPins[i], HIGH);
delay(delayTime[i]);
digitalWrite(ledPins[i], LOW);
}
}

Program dirancang untuk konrol kecepatan perpindahan lampu, dengan komponen


2 pushbot dan 4 led. Yang dimana ketika pushbot 1 ditekan delay perpindahan
menjadi cepat, sedangkan yang kedua delay perpindahan menjadi lama.

Anda mungkin juga menyukai