Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

LAPORAN SEMENTARA

PRAKTIKUM MICROCONTROLLER
UNIT 4
ANALOG INPUT OUTPUT

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, 4 September 2023

PROGRAMSTUDITEKNOLOGIREKAYASAELEKTRO
DEPARTEMENTEKNIKELEKTRODANINFORMATIKA
SEKOLAHVOKASI
UNIVERSITASGADJAHMADA
2023
UNIT 4
ANALOG INPUT OUTPUT
Link Video
https://drive.google.com/drive/folders/1ZV8PolmzNiqycSPMyW3UbWMy3kFV
zELN
FlowChart
Program 1
Program 2
PROGRAM 1
const int potPin1 = A10; // Pin analog potensiometer pertama
const int potPin2 = A11; // Pin analog potensiometer kedua
const int potPin3 = A12; // Pin analog potensiometer ketiga
const int ledPin1 = 31; // Pin LED pertama
const int ledPin2 = 33; // Pin LED kedua
const int ledPin3 = 35; // Pin LED ketiga

void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
Serial.begin(9600);
}

void loop() {
// Membaca nilai potensiometer
int potValue1 = analogRead(potPin1);
int potValue2 = analogRead(potPin2);
int potValue3 = analogRead(potPin3);

// Mengubah nilai potensiometer menjadi rentang 0-255 (PWM)


int pwmValue1 = map(potValue1, 0, 1023, 0, 255);
int pwmValue2 = map(potValue2, 0, 1023, 0, 255);
int pwmValue3 = map(potValue3, 0, 1023, 0, 255);

// Menyalakan LED berdasarkan nilai potensiometer


analogWrite(ledPin1, pwmValue1);
analogWrite(ledPin2, pwmValue2);
analogWrite(ledPin3, pwmValue3);

// Menampilkan nilai potensiometer ke Serial Monitor


Serial.print("Potensiometer 1: ");
Serial.print(potValue1);
Serial.print(" - Potensiometer 2: ");
Serial.print(potValue2);
Serial.print(" - Potensiometer 3: ");
Serial.println(potValue3);

delay(100); // Jeda sebentar


}
PROGRAM 2
onst int ledPins[] = {31, 33, 35, 37, 39, 41, 43, 45}; // Pin LED
const int numberOfLEDs = 8; // Jumlah LED
const String password = "1"; // Password yang diinginkan

String enteredPassword = ""; // Variabel untuk menyimpan password yang dimasukkan

void setup() {
Serial.begin(9600);

for (int i = 0; i < 8; i++) {


pinMode(ledPins[i], OUTPUT);
}
}

void loop() {
// Minta pengguna memasukkan password
Serial.println("Masukkan password:");
while (enteredPassword.length() < password.length()) {
if (Serial.available()) {
char c = Serial.read();
enteredPassword += c;
Serial.print(c);
}
}

// Periksa apakah password benar


if (enteredPassword.equals(password)) {
Serial.println("\nPassword Benar! Semua LED akan menyala.");
for (int i = 0; i < numberOfLEDs; i++) {
digitalWrite(ledPins[i], LOW); // Hidupkan semua LED
}
delay(2000); // Tunggu 2 detik
enteredPassword = "";
{
// Matikan semua LED
for (int i = 0; i < 8; i++) {
digitalWrite(ledPins[i], HIGH);
}
}
}
else {
Serial.println("\nPassword Salah! Hanya satu LED yang akan menyala.");
digitalWrite(ledPins[0], LOW); // Hidupkan hanya satu LED
}
delay(2000); // Tunggu 2 detik
{

// Matikan semua LED


for (int i = 0; i < 8; i++) {
digitalWrite(ledPins[i], HIGH);
}

// Bersihkan enteredPassword untuk percobaan berikutnya


enteredPassword = "";
}
}

You might also like