Anda di halaman 1dari 10

LAPORAN SEMENTARA

PRAKTIKUM MICROCONTROLLER
UNIT 7
SOAL UTS

Oleh:
Nama : M Arifin Wardana

David Danendra R

Hilmi Pramono Adi


NIM : 22/493045/SV/20655

22/496884/SV/21041

22/503024/SV/21463
Kelas : RE3A1

Dosen Pengampu : Budi Bayu Murti, S.T., M.T

Asisten : 1. Faizal Azmi Nurwardani

2. Abi Azka Najasyi

Laboran : Sugeng Julianto, S.ST.

Hari, Tangal : Senin, 16 Oktober 2023

PROGRAMSTUDITEKNOLOGIREKAYASAELEKTRO
DEPARTEMENTEKNIKELEKTRODANINFORMATIKA
SEKOLAHVOKASI
UNIVERSITASGADJAHMADA
2023
UNIT 7
SOAL UTS

FlowChart
Program 1
Program 2
PROGRAM 3
PROGRAM 1

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 10, 9, 8, 7);

const int pot1Pin = A0;


const int pot2Pin = A1;

const int led1Pin = 6;


const int led2Pin = 5;
const int led3Pin = 4;
const int led4Pin = 3;
const int led5Pin = 2;

void setup() {
lcd.begin(16, 2);
lcd.print("Pot1: ");
lcd.setCursor(0, 1);
lcd.print("Pot2: ");

pinMode(led1Pin, OUTPUT);
pinMode(led2Pin, OUTPUT);
pinMode(led3Pin, OUTPUT);
pinMode(led4Pin, OUTPUT);
pinMode(led5Pin, OUTPUT);
}

void loop() {
int pot1Value = analogRead(pot1Pin);
int pot2Value = analogRead(pot2Pin);

lcd.setCursor(5, 0);
lcd.print(pot1Value);
lcd.setCursor(5, 1);
lcd.print(pot2Value);

// Mengatur LED berdasarkan kondisi potensio


if (pot1Value > 700 && pot2Value >= 400 && pot2Value <= 500) {
digitalWrite(led1Pin, HIGH);
delay(550);
digitalWrite(led1Pin, LOW);
digitalWrite(led2Pin, HIGH);
delay(550);
digitalWrite(led2Pin, LOW);
digitalWrite(led3Pin, HIGH);
delay(550);
digitalWrite(led3Pin, LOW);
digitalWrite(led4Pin, HIGH);
delay(550);
digitalWrite(led4Pin, LOW);
digitalWrite(led5Pin, HIGH);
delay(550);
digitalWrite(led5Pin, LOW);
} else {
digitalWrite(led1Pin, LOW);
digitalWrite(led2Pin, LOW);
digitalWrite(led3Pin, LOW);
digitalWrite(led4Pin, LOW);
digitalWrite(led5Pin, LOW);
}

delay(100);
}
PROGRAM 2

#include <LiquidCrystal.h>
LiquidCrystal lcd(36, 34, 32, 30, 28, 26);
int counter = 0;

int LED[] = { 31, 33, 35, 37, 39 };

void setup() {
for (int i = 0; i < 5; i++) {
pinMode(LED[i], OUTPUT);
}
lcd.begin(16, 2);
lcd.setCursor(4, 0);
lcd.print("COUNTER ");
lcd.setCursor(7, 1);
lcd.print(counter);
pinMode(47, INPUT_PULLUP);
pinMode(49, INPUT_PULLUP);
pinMode(51, INPUT_PULLUP);

void loop() {
int buttonA = digitalRead(47);
int buttonB = digitalRead(49);
int buttonC = digitalRead(51);

if (buttonA == LOW) {
counter++;
lcd.setCursor(7, 1);
lcd.print(" ");
lcd.setCursor(7, 1);
lcd.print(counter);
delay(300);
}

if (buttonB == LOW) {
counter--;
lcd.setCursor(7, 1);
lcd.print(" ");
lcd.setCursor(7, 1);
lcd.print(counter);
delay(300);
}

if (buttonC == LOW) {
counter=0;
lcd.setCursor(7, 1);
lcd.print(" ");
lcd.setCursor(7, 1);
lcd.print(counter);
delay(300);
}

if (counter >= 5){


for(int i = 0; i < 5; i++){
digitalWrite(LED[i], LOW);
delay(100);
}
delay(1000);
for(int i = 0; i < 6; i++){
digitalWrite(LED[i], HIGH);
delay(100);
}
delay(1000);
for(int i = 6; i >= 0; i--){
digitalWrite(LED[i], LOW);
delay(100);
}
delay(1000);
for(int i = 5; i >= 0; i--){
digitalWrite(LED[i], HIGH);
delay(100);
}
delay(1000);

}
if (counter < 5){
for(int i = 0; i < 5; i++){
digitalWrite(LED[i], LOW);
}
}
}
PROGRAM 3

#include <LiquidCrystal.h>

LiquidCrystal lcd(36, 34, 32, 30, 28, 26);

void setup() {
lcd.begin(16, 2);
pinMode(31, OUTPUT);
pinMode(33, OUTPUT);
pinMode(35, OUTPUT);
pinMode(37, OUTPUT);
Serial.begin(9600);
}

void loop() {
int i;
String PassInput = Serial.readString();

lcd.setCursor(0, 0);
lcd.print(PassInput);
String pass = "123"; // Password yang benar

if (PassInput == "") {
lcd.print(" ");
}

if (PassInput == pass) {
lcd.setCursor(0, 1);
lcd.print("Pass Benar");

for (i = 0; i < 10; i++) {


digitalWrite(31, HIGH);
delay(300);
digitalWrite(31, LOW);
digitalWrite(33, HIGH);
delay(300);
digitalWrite(33, LOW);
digitalWrite(35, HIGH);
delay(300);
digitalWrite(35, LOW);
digitalWrite(37, HIGH);
delay(300);
digitalWrite(37, LOW);
}

delay(1000);
lcd.clear();
} else {
lcd.setCursor(0, 1);
lcd.print("Pass Salah");

for (i = 0; i < 10; i++) {


digitalWrite(31, HIGH);
digitalWrite(33, HIGH);
digitalWrite(35, LOW);
digitalWrite(37, LOW);
delay(300);
digitalWrite(31, LOW);
digitalWrite(33, LOW);
digitalWrite(35, LOW);
digitalWrite(37, LOW);
delay(300);
}

delay(1000);
lcd.clear();
}
}

Anda mungkin juga menyukai