MST - 2315374082 - Ni Made Ari Sarasuandewi
MST - 2315374082 - Ni Made Ari Sarasuandewi
2315374082
B/Matrikulasi MST
Ujian MST
1. Buat dan selesaikan wiring dari komponen-komponen yang diberikan di bawah ini di
wokwi menggunakan breadboard:
2. Lengkapi missing coding dan temukan error dari coding di bawah ini agar rangkaian
di soal nomor 1 bisa berjalan dengan baik:
Coding yang sudah diperbaiki seperti dibawah ini:
#include <Servo.h>
int pinLED1 = 10;
int pinLED2 = 9;
int pinBuzz = 8;
int counter = 0;
int flip = 0;
Servo myServo;
void setup() {
pinMode(pinLED1, OUTPUT);
pinMode(pinLED2, OUTPUT);
pinMode(pinBuzz, OUTPUT);
Serial.begin(115200);
myServo.attach(11);
}
void loop() {
counter++;
if (counter <= 30) {
Serial.println(counter);
if (counter == 10 || counter == 20 || counter == 30) {
Serial.println("-----");
}
if (counter <= 10) {
flipServo(0);
flipLED12(HIGH, LOW, 1000, true);
flipServo(90);
} else if (counter <= 20) {
flipServo(90);
flipLED12(LOW, HIGH, 100, true);
flipServo(180);
} else {
flipServo(0);
flipLED12(HIGH, LOW, 1000, true);
flipServo(180);
flipLED12(LOW, HIGH, 500, true);
}
delay(1000); }
else {
flipLED12(LOW, LOW, 0, false);
}
}
(Posisi 0 – 90)
(Posisi 90 – 180)
Logika:
✓ Variabel counter digunakan untuk menghitung loop dalam rentang 1 hingga 30 dan
setiap loop dijalankan, nilai counter bertambah 1.
✓ Jika counter adalah 10, 20, atau 30, maka akan dicetak "-----" ke Serial Monitor.
✓ Selama 10 iterasi pertama (counter <= 10), servo akan bergerak dari sudut 0 derajat
ke 90 derajat. LED1 akan menyala dan buzzer akan aktif dengan frekuensi 1000 Hz.
✓ Selama 10 iterasi berikutnya (counter > 10 dan counter <= 20), servo akan tetap pada
sudut 90 derajat. LED2 akan menyala dan buzzer akan aktif dengan frekuensi 100Hz.
Cara Kerja:
✓ Kode dimulai dengan menginisialisasi variabel dan pin yang diperlukan.
✓ Selanjutnya, dalam loop, variabel counter akan terus bertambah satu setiap kali loop
dijalankan.
✓ Pada setiap iterasi loop, kondisi if akan memeriksa nilai counter dan mengatur servo,
LED, dan buzzer sesuai dengan logika di atas.
✓ Hasil dari simulasi berupa pergerakan servo, perubahan LED, dan bunyi buzzer yang
tergantung pada nilai counter pada saat itu.
✓ Setelah loop selesai dan counter melebihi 30, LED dan buzzer dimatikan, dan
rangkaian menunggu selama 1 detik sebelum memulai loop kembali.